body{background:var(--sky2)}
.hubh{padding:28px 0 8px}.hubh h1{font-family:'Playfair Display',serif;color:var(--n);font-size:34px;line-height:1.1;margin:6px 0 10px}.hubh p{color:var(--m);margin:0}
.cat{margin:22px 0 10px;font:700 12px Inter;letter-spacing:2px;text-transform:uppercase;color:var(--b)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tc{display:block;background:#fff;border:1px solid var(--l);border-radius:18px;padding:14px;text-decoration:none;color:var(--n);box-shadow:0 10px 30px -24px #0b1f4d66}
.tc b{display:block;font-size:22px}.tc strong{display:block;font-size:15px;margin:6px 0 2px}.tc span{font-size:12.5px;color:var(--m);line-height:1.35;display:block}
.tc.on{outline:2px solid var(--b)}
.panel{display:none;margin:18px 0 30px;background:#fff;border:1px solid var(--l);border-radius:22px;padding:18px;box-shadow:0 20px 50px -30px #0b1f4d55;scroll-margin-top:80px}
.panel.on{display:block}.panel h2{font-family:'Playfair Display',serif;color:var(--n);font-size:26px;margin:0 0 4px}.panel .d{color:var(--m);font-size:14px;margin:0 0 12px}
.f label{display:block;font-size:13px;font-weight:600;color:var(--n);margin:12px 0 6px;border:0;padding:0}
.f input,.f select,.f textarea{width:100%;min-height:48px;border:1.5px solid var(--l);border-radius:12px;padding:10px 12px;font:16px Inter,sans-serif;color:var(--t);background:#fff;box-sizing:border-box}
.f textarea{min-height:90px}
.f .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.f .btn{margin-top:14px}
.res{margin-top:16px;background:var(--sky);border-radius:16px;padding:16px;display:none}.res.on{display:block}
.res h3{margin:0 0 8px;color:var(--n);font-size:18px}.big{font:700 30px Inter;color:var(--b);margin:2px 0 6px}
.kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:14px}.kv span:nth-child(even){font-weight:700;color:var(--n);text-align:right}
.note{font-size:12px;color:#64748b;margin-top:10px;line-height:1.45}
.bar{height:10px;background:#dbe6fb;border-radius:9px;overflow:hidden;margin:8px 0}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--b),#60a5fa)}
table.t{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}table.t th,table.t td{padding:7px 6px;border-bottom:1px solid var(--l);text-align:left}table.t th{color:var(--n)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{border:1.5px solid var(--l);background:#fff;border-radius:999px;padding:8px 12px;font:600 14px Inter;color:var(--n);cursor:pointer}.chip.on{background:var(--n);color:#fff}
.hab{display:flex;align-items:center;gap:8px;margin:8px 0;flex-wrap:wrap}.hab .nm{flex:1 1 100%;font-weight:600;color:var(--n);font-size:14px}.day{width:30px;height:30px;border-radius:8px;border:1.5px solid var(--l);background:#fff;font-size:11px;cursor:pointer}.day.on{background:var(--b);color:#fff;border-color:var(--b)}
.dgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.dgrid button{aspect-ratio:1;border-radius:10px;border:1.5px solid var(--l);background:#fff;font:600 13px Inter;color:var(--n);cursor:pointer}.dgrid button.on{background:var(--b);color:#fff}.dgrid button.today{outline:2px solid var(--gold)}
.chat{display:grid;gap:10px;max-height:60vh;overflow:auto;margin-top:12px}.msgu,.msga{padding:12px 14px;border-radius:16px;font-size:15px;line-height:1.5;white-space:pre-wrap}.msgu{background:var(--n);color:#fff;justify-self:end;max-width:85%}.msga{background:var(--sky);color:var(--t);max-width:92%}
.back{display:inline-block;margin:10px 0 0;font-size:14px;color:var(--b);font-weight:600;text-decoration:none}
.chart{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:3px;aspect-ratio:1;max-width:420px;margin:12px auto;background:var(--n);padding:3px;border-radius:14px}.chart div{background:#fff;border-radius:6px;padding:4px;font-size:11px;line-height:1.25;color:var(--n);overflow:hidden}.chart .c{grid-column:2/4;grid-row:2/4;display:flex;align-items:center;justify-content:center;text-align:center;font:600 13px Inter;background:var(--sky)}.chart small{display:block;color:#94a3b8;font-size:9.5px}.chart .lg{background:#fff7e6}
@media(min-width:760px){.grid{grid-template-columns:repeat(3,1fr)}.hubh h1{font-size:44px}.panel{padding:28px}}
@media(min-width:1000px){.grid{grid-template-columns:repeat(4,1fr)}}
.sd h4{margin:14px 0 4px;color:var(--n);font-size:15px}.sd p{margin:0 0 6px}
.up input[type=file]{width:100%;padding:12px;border:1.5px dashed #9db8ec;border-radius:14px;background:#f5f9ff;font-size:14px}
.pv{display:flex;align-items:center;gap:8px;margin-top:6px}.pv img{width:84px;height:84px;object-fit:cover;border-radius:12px;border:1px solid #c7d7f5}
.priv{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:14px;padding:10px 12px;font-size:14px;margin:12px 0}
.ck{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:4px 0 12px;font-weight:500}.ck input{width:20px;height:20px;flex:none;margin-top:2px}
.load{display:flex;gap:12px;align-items:center}.spin{width:28px;height:28px;flex:none;border:3px solid #c7d7f5;border-top-color:var(--b);border-radius:50%;animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.rhead h2{margin:4px 0 8px;font-size:24px;color:var(--n)}.rsec{background:#fff;border:1px solid #dbe6fb;border-radius:16px;padding:14px 16px;margin:12px 0}.rsec h3{margin:0 0 6px;color:var(--n)}.rsec p{margin:0 0 8px;line-height:1.6}.rsec ul{margin:4px 0;padding-left:18px;line-height:1.6}
.ract{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ract .btn{flex:1;min-width:150px}
@media print{body *{visibility:hidden}#report,#report *{visibility:visible}#report{position:absolute;left:0;top:0;width:100%}.rsec{break-inside:avoid;border-color:#ccc}}
