:root{--bg:#f3f5f8;--card:#fff;--ink:#172033;--muted:#6b7280;--line:#e2e6ec;--blue:#315efb;--red:#c73e4b;--green:#16845b;--shadow:0 8px 28px rgba(20,30,55,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}header{height:68px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1280px)/2));gap:20px}header .brand{color:#fff;font-size:17px;font-weight:700}nav{display:flex;align-items:center;gap:14px}nav form{display:inline}.container{max-width:1280px;margin:auto;padding:30px 22px 60px}.heading,.section-head,.actions{display:flex;justify-content:space-between;align-items:center;gap:15px}.heading{margin-bottom:22px}.heading h1{font-size:25px;margin:0}.heading p,.source{color:var(--muted);margin:4px 0 0}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.section{padding:22px;margin-bottom:18px}.section h2{font-size:17px;margin:0 0 15px}.section-head h2{margin:0}.button{display:inline-block;border:1px solid var(--line);border-radius:9px;background:#fff;color:#374151;padding:8px 12px;cursor:pointer}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.full{width:100%;margin-top:8px}.link{border:0;background:none;color:#cbd5e1;cursor:pointer}.danger-button{color:var(--red);border-color:#f1cbd0}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:13px;margin-bottom:18px}.kpi{padding:18px}.kpi span{color:var(--muted)}.kpi b{display:block;font-size:28px;margin-top:8px}.kpi.danger b{color:var(--red)}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.report{white-space:pre-wrap;background:#f7f9fc;border-radius:10px;padding:15px;line-height:1.8}.source{font-size:12px}.empty{text-align:center;color:var(--muted);padding:25px}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:12px;font-weight:500}th,td{padding:10px 12px;border-bottom:1px solid #edf0f3}.tag{background:#eaf0ff;color:#315efb;border-radius:20px;padding:3px 8px}.table-wrap{overflow:auto}.week{display:flex;gap:8px}.week input,input,select,textarea{border:1px solid #d9dee7;border-radius:9px;background:#fff;padding:10px 11px;outline:none;width:100%}input:focus,select:focus,textarea:focus{border-color:#6f89ed;box-shadow:0 0 0 3px #315efb14}.fields,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields.one{grid-template-columns:1fr}.narrow{max-width:560px}.password{font-size:18px;user-select:all}.fields label{font-weight:600}.fields .wide,.detail-grid .wide{grid-column:1/-1}.fields textarea{display:block;min-height:100px;resize:vertical}.actions{justify-content:flex-end;margin-top:18px}.actions form{margin:0}.detail-grid span{display:block;color:var(--muted);font-size:12px}.detail-grid p{white-space:pre-wrap;margin:5px 0}.login-wrap{min-height:calc(100vh - 60px);display:grid;place-items:center}.login{width:min(390px,100%);padding:32px}.login h1{text-align:center;margin:12px 0 3px}.login p{text-align:center;color:var(--muted);margin:0 0 25px}.login label{display:block;font-weight:600;margin:14px 0}.login input{display:block;margin-top:6px}.logo{width:48px;height:48px;background:var(--blue);border-radius:14px;color:white;display:grid;place-items:center;margin:auto;font-size:20px;font-weight:700}.flash{border-radius:9px;padding:10px 13px;margin-bottom:15px}.flash.success{background:#e7f6ef;color:var(--green)}.flash.error{background:#ffeaec;color:var(--red)}
@media(max-width:900px){.kpis{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:1fr}header{padding:0 18px}nav>span{display:none}}
.quick-note{margin:0 0 16px;padding:10px 12px;border-radius:9px;background:#f1f5ff;color:#315efb}.fields small{display:block;color:var(--muted);font-weight:400}.fields textarea{display:block;margin-top:5px}.conditional-fields{display:contents}.fields details{padding:10px 0}.fields details summary{cursor:pointer}.fields details label{display:block;margin-top:12px}
@media(max-width:600px){header{height:auto;min-height:64px;flex-wrap:wrap;padding:12px 15px}.container{padding:22px 12px 45px}.heading{align-items:flex-start;flex-direction:column}.kpis{grid-template-columns:1fr 1fr}.kpi{padding:14px}.fields,.detail-grid{grid-template-columns:1fr}.fields .wide,.detail-grid .wide{grid-column:auto}.section{padding:16px}.week{width:100%}.week input{min-width:0}.table-wrap{margin:0 -16px}.table-wrap table{min-width:750px}nav{width:100%;justify-content:space-between;gap:8px;flex-wrap:wrap}nav .button{margin-left:auto}.quick-note{font-size:13px}.fields textarea{min-height:82px}.actions{position:sticky;bottom:0;background:var(--card);padding-top:12px}}
