*{box-sizing:border-box}
body{font-family:Arial,sans-serif;background:#eef3f2;margin:0;color:#222}
header{background:#00796B;color:#fff;padding:8px 14px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:30}
header h1{font-size:19px;margin:0;flex:1}
header button{background:transparent;border:1px solid #fff8;color:#fff;border-radius:6px;padding:5px 10px;cursor:pointer}
nav{display:flex;background:#004D40;position:sticky;top:46px;z-index:29}
nav button{flex:1;padding:11px;background:none;border:0;color:#fff;font-size:15px;cursor:pointer;opacity:.7}
nav button.on{opacity:1;border-bottom:3px solid #fff;font-weight:bold}
main{max-width:1100px;margin:0 auto;padding:10px}
.card{background:#fff;border-radius:10px;padding:12px;margin:8px 0;box-shadow:0 1px 3px #0001}
.row{display:flex;gap:10px;align-items:center}.wrap{flex-wrap:wrap}
.grow{flex:1;min-width:0}.muted{color:#607d8b;font-size:13px}
.pos{color:#2e7d32;font-weight:bold}.neg{color:#c62828;font-weight:bold}
input,select,textarea{padding:9px;border:1px solid #b0bec5;border-radius:8px;font-size:15px;background:#fff;width:100%;font-family:inherit}
input[type=checkbox]{width:auto}
button.p{background:#00796B;color:#fff;border:0;border-radius:8px;padding:9px 16px;font-size:15px;cursor:pointer}
button.s{background:#e0f2f1;color:#00695c;border:0;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:14px}
button.d{background:#ffebee;color:#c62828;border:0;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:14px}
button:disabled{opacity:.5}
a{color:#00796B}
.click{cursor:pointer}.click:hover{background:#f1f8f7}
.tag{display:inline-block;border-radius:10px;padding:2px 8px;font-size:12px;background:#eceff1}
.tabs{display:flex;gap:4px;margin:8px 0;flex-wrap:wrap}
.tabs button{flex:1;padding:9px;border:0;background:#cfe7e3;color:#004D40;border-radius:8px;cursor:pointer;font-size:14px}
.tabs button.on{background:#00796B;color:#fff;font-weight:bold}
.login{max-width:340px;margin:60px auto;background:#fff;padding:24px;border-radius:12px}
.login input{margin:6px 0}
.modal{position:fixed;inset:0;background:#0007;display:flex;align-items:center;justify-content:center;z-index:100;padding:10px}
.modal>div{background:#fff;border-radius:12px;padding:16px;width:100%;max-width:460px;max-height:92vh;overflow:auto}
.modal.wide>div{max-width:640px}
label{display:block;margin:9px 0 3px;font-weight:bold;font-size:13px}
.err{color:#c62828;margin:6px 0}
table{width:100%;border-collapse:collapse}td,th{padding:6px;border-bottom:1px solid #eee;text-align:right;font-size:14px}
.test{color:#e65100;font-size:12px}
h3{margin:12px 0 6px}
.sec{font-weight:bold;color:#00796B;margin:14px 0 4px}
/* diary */
.dbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.grid{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0001}
.ghead{display:flex;position:sticky;top:92px;z-index:5;background:#fff}
.ghead .gtime{background:#00796B;border-left:1px solid #e0e0e0}
.gbody{display:flex}
.gtime{width:46px;flex:none;background:#f5f7f8;border-left:1px solid #e0e0e0}
.gtime div{font-size:11px;color:#607d8b;text-align:center;border-bottom:1px solid #eee}
.gday{flex:1;min-width:0;position:relative;border-left:1px solid #e0e0e0}
.dh{flex:1;min-width:0;background:#00796B;color:#fff;text-align:center;font-size:13px;padding:6px 0;border-left:1px solid #fff4}
.dh.today{background:#e65100}
.slot{border-bottom:1px solid #eee;cursor:pointer}.slot:hover{background:#e0f2f1}
.les{position:absolute;border-radius:6px;padding:2px 4px;font-size:12px;line-height:1.15;overflow:hidden;cursor:pointer;border:1px solid #0002;z-index:2}
.les .mk{position:absolute;left:3px;bottom:1px;font-weight:bold}
.actgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.actgrid button{text-align:right;padding:10px;border:0;background:#f1f8f7;border-radius:8px;cursor:pointer;font-size:14px}
.actgrid button:hover{background:#d7efe9}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#323232;color:#fff;padding:10px 18px;border-radius:8px;z-index:200}
@media print{header,nav,.noprint,.dbar{display:none!important}body{background:#fff}main{padding:0}}
