:root{--brand-primary: #003566;--brand-accent: #7eb8ff;--bg: #f5f6f8;--panel: #ffffff;--ink: #16181d;--ink-soft: #5a6270;--line: #e3e6ea;--danger: #b3261e;--ok: #1b7f4d;--radius: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:15px}a{color:var(--brand-primary);text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100%}.topbar{background:var(--brand-primary);color:#fff;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));position:sticky;top:0;z-index:10}.topbar .brand{font-weight:700;letter-spacing:.3px}.topbar .spacer{flex:1}.topbar button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:6px;padding:4px 10px;cursor:pointer}.container{max-width:1080px;width:100%;margin:0 auto;padding:16px calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.panel h2,.panel h3{margin-top:0}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.muted{color:var(--ink-soft);font-size:13px}.error{color:var(--danger)}.ok{color:var(--ok)}button.primary{background:var(--brand-primary);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:15px;cursor:pointer}button.primary:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--brand-primary);border:1px solid var(--brand-primary);border-radius:8px;padding:8px 14px;cursor:pointer}input,select,textarea{font:inherit;color:inherit;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;width:100%}textarea{min-height:72px;resize:vertical}label.field{display:block;margin-bottom:12px}label.field>span{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:4px}table.data{width:100%;border-collapse:collapse}.panel{overflow-x:auto}@media (max-width: 640px){table.data{min-width:520px}table.data th,table.data td{padding:8px}}table.data th,table.data td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}table.data th{font-size:12px;text-transform:uppercase;color:var(--ink-soft);letter-spacing:.4px}table.data tr.click{cursor:pointer}table.data tr.click:hover{background:#f0f4f9}.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs a{padding:8px 14px;border-radius:8px 8px 0 0;color:var(--ink-soft);border-bottom:2px solid transparent}.tabs a.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary);font-weight:600}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;background:#eef3f9;color:var(--brand-primary)}.pill.green{background:#e5f3ec;color:var(--ok)}.pill.gray{background:#eee;color:var(--ink-soft)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 640px){.grid2{grid-template-columns:1fr}}.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--brand-primary)}.login-card{background:#fff;border-radius:14px;padding:32px;width:360px;max-width:92vw}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000080}@media (max-width: 640px){.topbar{gap:8px;flex-wrap:nowrap;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}.topbar .brand{font-size:14px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar a{white-space:nowrap;flex:0 0 auto}.topbar img{max-height:24px;flex:0 0 auto}.topbar .hide-sm{display:none}.topbar button{padding:4px 8px;font-size:13px;white-space:nowrap;flex:0 0 auto}}.form-section{margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.6px;text-transform:uppercase;color:var(--brand-primary)}.choice-grid{display:flex;flex-wrap:wrap;gap:6px 16px;padding:4px 0}.choice{display:flex;align-items:center;gap:6px;font-weight:400;cursor:pointer}.choice input{width:auto;margin:0}.notes-panel{border:1px solid var(--line);border-left:3px solid var(--brand-accent);border-radius:8px;padding:12px 14px;margin-bottom:16px;background:#fafbfc}.inbody-review{display:grid;grid-template-columns:1fr 220px;gap:16px;align-items:start}@media (max-width: 640px){.inbody-review{grid-template-columns:1fr}}.inbody-thumb{width:100%;border:1px solid var(--line);border-radius:8px;display:block}.history-entry{border-top:1px solid var(--line)}.history-entry:first-of-type{border-top:none}.history-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;background:none;border:none;cursor:pointer;text-align:left;font:inherit;color:inherit}.history-head:hover{background:#fafbfc}.section-block{border:1px solid var(--line);border-radius:8px;margin-bottom:8px}.section-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fafbfc;border:none;cursor:pointer;border-radius:8px;text-align:left;font:inherit;color:inherit}.section-head:hover{background:#f2f5f8}.section-title{font-size:13px;letter-spacing:.6px;text-transform:uppercase;color:var(--brand-primary);font-weight:700}.section-body{padding:4px 14px 14px;border-top:1px solid var(--line)}.lever{border-left:3px solid var(--brand-accent);background:#f6f9fd;border-radius:6px;padding:10px 12px;margin:12px 0}.client-note{white-space:pre-wrap;line-height:1.6;margin-top:10px;padding:12px 14px;border-radius:8px;background:#f6f9fd;border-left:3px solid var(--brand-accent)}.one-thing{margin-top:10px;padding:10px 12px;border-radius:8px;background:#eaf4ea;border-left:3px solid #1a7f37}.chain{border-left:3px solid var(--line);padding:2px 0 2px 12px;margin:12px 0}.rule-box{border-left:3px solid #7a5c00;background:#fffaf0;border-radius:6px;padding:10px 12px;margin:12px 0}
