:root{--page:#fff;--sidebar:#f8fafc;--text:#334155;--text-strong:#111827;--muted:#64748b;--border:#e2e8f0;--teal:#0f766e;--teal-light:#bde8e3;--green:#15803d;--amber:#b45309;--red:#be123c;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;font-family:var(--sans);color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--page)}body{background:var(--page);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;color:var(--text);background:var(--page);grid-template-columns:248px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--border);background:var(--sidebar);flex-direction:column;gap:24px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:4px 6px 10px;display:flex}.brand-mark{color:#fff;background:var(--teal);border-radius:8px;place-items:center;width:38px;height:38px;font-size:18px;font-weight:800;display:grid}.brand strong,.brand span,.sidebar-note strong,.sidebar-note span,.metric-card span,.metric-card p,.panel-heading p,td span,.muted-label,.info-row span,.confirm-box span,.next-action span,.activity-text{display:block}.brand strong{color:var(--text-strong);font-size:16px}.brand span{color:var(--muted);margin-top:2px;font-size:12px}.nav-list{gap:6px;display:grid}.nav-item{width:100%;min-height:42px;color:var(--muted);font:600 14px/1.2 var(--sans);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.nav-item:hover,.nav-item.active{color:var(--teal);border-color:var(--teal-light);background:#ecfdf9}.sidebar-note{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:22px 1fr;gap:10px;margin-top:auto;padding:14px;display:grid}.sidebar-note svg{color:var(--amber)}.sidebar-note strong{color:var(--text-strong);font-size:13px}.sidebar-note span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.5}.workspace{background:var(--page);min-width:0;padding:22px 28px 32px}.login-page{background:#f8fafc;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--border);background:#fff;border-radius:8px;gap:16px;width:min(420px,100%);padding:24px;display:grid;box-shadow:0 18px 50px #0f172a1a}.login-brand{padding:0 0 6px}.login-help{border:1px solid var(--border);color:var(--muted);background:#f8fafc;border-radius:8px;gap:5px;padding:12px;font-size:12px;line-height:1.5;display:grid}.login-help strong{color:var(--text-strong);font-size:13px}.topbar{justify-content:space-between;align-items:center;gap:20px;display:flex}h1,h2,p{margin:0}h1{color:var(--text-strong);font-size:28px;font-weight:760;line-height:1.2}h2{color:var(--text-strong);font-size:17px;font-weight:740;line-height:1.25}.topbar p,.panel-heading p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.45}.topbar-actions{align-items:center;gap:10px;display:flex}.notification-wrap{display:inline-flex;position:relative}.search{border:1px solid var(--border);width:min(340px,30vw);min-height:40px;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:9px;padding:0 12px;display:flex}.search input{width:100%;color:var(--text-strong);font:500 14px/1.2 var(--sans);background:0 0;border:0;outline:0}button{font-family:var(--sans)}.icon-button,.primary-button,.outline-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.icon-button{border:1px solid var(--border);width:40px;color:var(--text);background:#fff;position:relative}.icon-button.active{color:var(--teal);background:#ecfdf9;border-color:#bde8e3}.notification-dot{color:#fff;background:var(--red);border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;font-size:10px;font-weight:900;display:inline-flex;position:absolute;top:-7px;right:-7px}.notification-panel{z-index:30;border:1px solid var(--border);background:#fff;border-radius:8px;width:min(360px,100vw - 32px);padding:12px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 44px #0f172a26}.notification-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.notification-head strong{color:var(--text-strong);font-size:14px;display:block}.notification-head span{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700;display:block}.notification-tools{gap:6px;display:inline-flex}.mini-icon-button{border:1px solid var(--border);width:30px;height:30px;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.mini-icon-button:hover{color:var(--teal);background:#f8fafc}.notification-list{gap:8px;max-height:420px;margin-top:10px;display:grid;overflow:auto}.notification-item{grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;gap:4px;padding:0;display:grid;overflow:hidden}.notification-open{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:12px;display:block}.notification-open:hover{background:#0f766e0d}.notice-delete{width:34px;min-height:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;border-left:1px solid #94a3b847;justify-content:center;align-items:center;display:inline-flex}.notice-delete:hover{color:var(--red);background:#f43f5e14}.primary-button{border:1px solid var(--teal);color:#fff;background:var(--teal);box-shadow:0 8px 18px #0f766e29}.primary-button:hover{background:#0b665f}.attention-button,.attention-button:hover{background:#f59e0b;border-color:#f59e0b;box-shadow:0 8px 18px #f59e0b2e}.outline-button{border:1px solid var(--border);color:var(--text-strong);background:#fff}.outline-button.success{color:var(--green);border-color:#b8e8cf}button:disabled{cursor:not-allowed;opacity:.62}.wide{width:100%}.status-banner{color:var(--teal);background:#ecfdf9;border:1px solid #bde8e3;border-radius:8px;margin-top:18px;padding:12px 14px;font-size:13px;font-weight:700}.status-banner.error{color:var(--red);background:#fff1f2;border-color:#fecdd3}.metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-top:22px;display:grid}.metric-card{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:16px;display:grid}.metric-icon{width:42px;height:42px;color:var(--teal);background:#ecfdf9;border-radius:8px;place-items:center;display:grid}.metric-card.warning .metric-icon{color:var(--amber);background:#fff7ed}.metric-card.danger .metric-icon{color:var(--red);background:#fff1f2}.metric-card span{color:var(--muted);font-size:12px;font-weight:700}.metric-card strong{color:var(--text-strong);margin-top:5px;font-size:25px;line-height:1;display:block}.metric-card p{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.45}.control-row{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.segment-control{border:1px solid var(--border);background:#fff;border-radius:8px;gap:4px;padding:4px;display:inline-flex}.segment{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 13px;font-size:13px;font-weight:700}.segment.active{color:#fff;background:var(--text-strong)}.activity-text{color:var(--muted);font-size:13px}.filter-bar,.library-toolbar{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.filter-bar select,.library-toolbar select,.upload-panel select,.upload-panel input{border:1px solid var(--border);min-height:40px;color:var(--text-strong);font:600 13px/1.2 var(--sans);background:#fff;border-radius:8px;outline:0;padding:0 11px}.filter-bar select:focus,.library-toolbar select:focus,.upload-panel select:focus,.upload-panel input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e1a}.content-grid{grid-template-columns:minmax(0,1fr) 344px;align-items:start;gap:16px;margin-top:16px;display:grid}.main-panel,.detail-panel,.timeline-panel,.panel{border:1px solid var(--border);background:#fff;border-radius:8px}.main-panel,.timeline-panel,.panel{min-width:0;padding:18px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.panel-heading>span{color:var(--muted);font-size:13px;font-weight:700}.table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:940px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:12px 10px;font-size:13px}th:first-child,td:first-child{width:74px}th:nth-child(2),td:nth-child(2){width:13%}th:nth-child(3),td:nth-child(3),th:nth-child(4),td:nth-child(4){width:18%}th:nth-child(5),td:nth-child(5){width:9%}th:nth-child(6),td:nth-child(6){width:12%}th:nth-child(7),td:nth-child(7){width:7%}th:nth-child(8),td:nth-child(8){width:8%}th:nth-child(9),td:nth-child(9){width:6%}th{color:var(--muted);background:#f8fafc;font-size:12px;font-weight:800}td{color:var(--text)}td strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:13px;line-height:1.35;display:block}td span{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px}tbody tr{cursor:pointer;outline:0;transition:background-color .16s,box-shadow .16s}tbody tr:hover,tbody tr.selected{background:#f0fdfa}tbody tr:focus-visible{box-shadow:inset 0 0 0 2px #0f766e5c}tbody tr:active{background:#ccfbf1}tbody tr.selected td:first-child{box-shadow:inset 4px 0 0 var(--teal)}tbody tr.selection-pulse td{animation:.62s ease-out selected-row-pulse}tbody tr:last-child td{border-bottom:0}.link-button{color:var(--teal);font:800 13px/1.2 var(--sans);cursor:pointer;background:0 0;border:0;padding:0}.link-button:hover{text-underline-offset:3px;text-decoration:underline}.link-button:focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #0f766e47}.type-tag,.risk-tag{white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.type-tag{color:var(--teal);background:#ecfdf9}.risk-tag.danger{color:var(--red);background:#fff1f2}.risk-tag.warning{color:var(--amber);background:#fff7ed}.risk-tag.success{color:var(--green);background:#ecfdf3}.owner{align-items:center;gap:5px;display:inline-flex}.photo-thumb{border:1px solid var(--border);width:48px;height:48px;color:var(--muted);object-fit:cover;background:#f8fafc;border-radius:8px;place-items:center;display:grid}.photo-thumb.empty svg{opacity:.72}.photo-thumb.video-thumb{color:#0f766e;background:#ecfdf9}.detail-panel{padding:18px}.content-grid>.detail-panel{animation:.18s ease-out detail-panel-in}.detail-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;display:flex}.detail-head h2{margin-top:5px;font-size:19px}.detail-head p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.45}.muted-label{color:var(--muted);font-size:12px;font-weight:800}.reference-card{gap:10px;margin-top:16px;display:grid}.reference-card img,.reference-empty{aspect-ratio:4/3;border:1px solid var(--border);background:#f8fafc;border-radius:8px;width:100%}.reference-card img{object-fit:cover}.reference-empty{color:var(--muted);align-content:center;place-items:center;gap:8px;font-size:13px;font-weight:700;display:grid}.next-action{color:var(--teal);background:#ecfdf9;border:1px solid #bde8e3;border-radius:8px;grid-template-columns:24px 1fr;gap:10px;margin-top:16px;padding:14px;display:grid}.next-action span{color:var(--teal);font-size:12px;font-weight:800}.next-action strong{color:var(--text-strong);margin-top:5px;font-size:14px;line-height:1.5;display:block}.detail-list{gap:11px;margin-top:16px;display:grid}.info-row{color:var(--muted);grid-template-columns:20px 72px 1fr;align-items:center;gap:8px;display:grid}.info-row span{font-size:12px;font-weight:800}.info-row strong{color:var(--text-strong);font-size:13px;font-weight:700;line-height:1.4}.confirm-box{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding:14px;display:flex}.confirm-box span{color:var(--muted);font-size:12px;font-weight:800}.confirm-box strong{color:var(--text-strong);margin-top:5px;font-size:13px;display:block}.detail-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.detail-section-head strong{color:var(--text-strong);font-size:13px}.detail-section-head span{color:var(--muted);font-size:12px;font-weight:800}.detail-checkpoints{border:1px solid var(--border);background:#f8fafc;border-radius:8px;gap:8px;margin-top:16px;padding:13px;display:grid}.compact-checkpoint{background:#fff;min-height:38px;padding:8px 10px}.compact-checkpoint span{color:inherit;margin:0;font-size:12px}.advance-blocker{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:7px;margin-top:16px;padding:12px;display:grid}.advance-blocker strong{color:#9a3412;font-size:13px}.advance-blocker ul{gap:5px;margin:0;padding-left:18px;font-size:12px;line-height:1.45;display:grid}.qc-entry{gap:8px;margin-top:18px;display:grid}.qc-entry label,.field span{color:var(--muted);font-size:12px;font-weight:800}.qc-entry textarea,.field input,.field select,.field textarea{border:1px solid var(--border);width:100%;color:var(--text-strong);background:#fff;border-radius:8px;outline:0;font-size:13px;line-height:1.45}.qc-entry textarea{resize:vertical;min-height:82px;padding:10px 11px}.qc-entry textarea:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e1a}.action-stack{gap:10px;margin-top:16px;display:grid}.upload-button{box-sizing:border-box;flex-wrap:wrap;row-gap:4px;min-height:48px;padding:8px 12px;position:relative;overflow:hidden}.upload-button-main{justify-content:center;align-items:center;gap:8px;min-width:0;display:inline-flex}.upload-button small{color:var(--muted);text-align:center;flex-basis:100%;font-size:11px;font-weight:800;line-height:1.2}.upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.order-photo-list{gap:10px;margin-top:18px;display:grid}.material-mini{border:1px solid var(--border);background:#f8fafc;border-radius:8px;gap:10px;margin-top:18px;padding:13px;display:grid}.material-mini-list{gap:8px;display:grid}.material-mini-row{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:9px 10px;display:grid}.material-mini-row strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:13px;line-height:1.35}.material-mini-row span{color:var(--teal);font-size:12px;font-weight:900}.material-mini-row p,.mini-empty,.mini-warning,.mini-success{color:var(--muted);grid-column:1/-1;font-size:12px;line-height:1.45}.mini-warning{color:#9a3412}.mini-success{color:var(--green);background:#ecfdf3;border:1px solid #b8e8cf;border-radius:8px;padding:8px 10px;font-weight:800}@keyframes selected-row-pulse{0%{background:#ccfbf1;box-shadow:inset 0 0 0 999px #14b8a629}60%{background:#e0fdfa;box-shadow:inset 0 0 0 999px #14b8a60d}to{background:0 0;box-shadow:inset 0 0 0 999px #14b8a600}}@keyframes detail-panel-in{0%{opacity:.72;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.content-grid>.detail-panel,tbody tr.selection-pulse td{animation:none}}.section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-title strong{color:var(--text-strong);font-size:14px}.section-title span{color:var(--muted);font-size:12px;font-weight:800}.mini-photo-grid{gap:10px;display:grid}.timeline-panel{margin-top:16px}.timeline{grid-template-columns:repeat(10,minmax(96px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid;overflow-x:auto}.timeline-step{border:1px solid var(--border);background:#fff;border-radius:8px;align-content:start;gap:10px;min-height:96px;padding:12px;display:grid;position:relative}.timeline-step.done{background:#f0fdf5;border-color:#b8e8cf}.timeline-step.current{background:#ecfdf9;border-color:#bde8e3;box-shadow:inset 0 0 0 1px #bde8e3}.step-dot{width:28px;height:28px;color:var(--muted);background:#f1f5f9;border-radius:999px;place-items:center;font-size:12px;font-weight:800;display:grid}.timeline-step.done .step-dot{color:var(--green);background:#dcfce7}.timeline-step.current .step-dot{color:#fff;background:var(--teal)}.timeline-step strong{color:var(--text-strong);font-size:12px;line-height:1.35}.bottom-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;margin-top:16px;display:grid}.risk-list{gap:10px;display:grid}.risk-item{border:1px solid var(--border);border-radius:8px;grid-template-columns:54px 1fr;align-items:start;gap:10px;padding:12px;display:grid}.risk-item strong{color:var(--text-strong);font-size:13px}.risk-item p{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.45}.log-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.plain-list{gap:8px;margin:9px 0 0;padding:0;list-style:none;display:grid}.plain-list li{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;padding:10px 11px;font-size:13px;line-height:1.45}.library-toolbar .search{width:min(420px,100%)}.upload-panel{grid-template-columns:minmax(220px,1fr) 220px minmax(220px,1fr) auto;align-items:end;gap:12px;margin-top:16px;display:grid}.upload-panel h2{margin:0}.upload-panel p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.45}.photo-grid-section{margin-top:16px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.photo-card{border:1px solid var(--border);background:#fff;border-radius:8px;min-width:0;overflow:hidden}.photo-card-media{aspect-ratio:4/3;object-fit:cover;background:#f8fafc;width:100%;display:block}.photo-card.compact{grid-template-columns:82px 1fr;display:grid}.photo-card.compact .photo-card-media{aspect-ratio:auto;height:100%;min-height:92px}.photo-card-body{gap:7px;padding:12px;display:grid}.photo-card-body strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:13px;line-height:1.35}.photo-card-body span,.photo-card-body p{color:var(--muted);font-size:12px;line-height:1.45}.photo-actions{flex-wrap:wrap;gap:7px;margin-top:4px;display:flex}.photo-actions .outline-button{min-height:32px;padding:0 10px;font-size:12px;text-decoration:none}.photo-actions .danger-button{padding-inline:9px}.muted-chip{min-height:24px;color:var(--muted);background:#f1f5f9;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.empty-state{border:1px dashed var(--border);min-height:150px;color:var(--muted);text-align:center;background:#f8fafc;border-radius:8px;align-content:center;justify-items:center;gap:6px;padding:24px;display:grid}.empty-state.compact{min-height:110px}.empty-state strong{color:var(--text-strong);font-size:14px}.empty-state span,.empty-detail p{color:var(--muted);font-size:13px;line-height:1.5}.empty-detail{align-content:start;gap:8px;display:grid}.empty-detail h2{margin-top:6px}.modal-backdrop{z-index:20;background:#0f172a57;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-rows:auto minmax(0,1fr) auto;width:min(860px,100%);max-height:min(760px,100vh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 80px #0f172a38}.modal.small-modal{width:min(460px,100%)}.modal-head,.modal-actions{justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.modal-head{border-bottom:1px solid var(--border)}.modal-head h2{margin-top:5px;font-size:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid;overflow:auto}.form-grid.single{grid-template-columns:1fr}.field{gap:7px;display:grid}.field.full{grid-column:1/-1}.field input,.field select{min-height:40px;padding:0 11px}.field textarea{resize:vertical;min-height:76px;padding:10px 11px}.modal-actions{border-top:1px solid var(--border);background:#f8fafc;justify-content:flex-end}.field small{color:var(--muted);font-size:12px}.user-note{grid-template-columns:22px 1fr}.mini-link{border:1px solid var(--border);min-height:30px;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;grid-column:1/-1;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.manage-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:16px;margin-top:18px;display:grid}.manage-main,.manage-side,.manage-admin,.checkpoint-list,.record-list,.compact-list,.user-list,.backup-list,.account-form,.record-form{gap:12px;display:grid}.manage-admin{grid-column:1/-1;grid-template-columns:1fr;align-items:start}.account-panel .user-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.checkpoint-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.checkpoint{border:1px solid var(--border);min-height:46px;color:var(--text);background:#f8fafc;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.checkpoint.checked{color:var(--green);background:#ecfdf3;border-color:#b8e8cf}.checkpoint input{width:17px;height:17px;accent-color:var(--teal)}.tool-band,.qr-card,.user-row{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;gap:12px;padding:14px;display:grid}.tool-band{background:#f8fafc;grid-template-columns:minmax(0,1fr) auto;margin-top:14px}.tool-band strong,.qr-card strong,.record-row strong,.notice strong,.audit-row strong,.user-row strong{color:var(--text-strong);font-size:14px;line-height:1.35;display:block}.tool-band span,.qr-card p,.record-row p,.notice p,.audit-row p,.user-row span{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.45;display:block}.qr-card{background:#f8fafc;grid-template-columns:140px minmax(0,1fr);margin-top:12px}.qr-card img{border:1px solid var(--border);background:#fff;border-radius:8px;width:140px;height:140px}.record-form{grid-template-columns:repeat(3,minmax(0,1fr))}.record-helper{min-height:40px;color:var(--teal);background:#ecfdf9;border:1px solid #bde8e3;border-radius:8px;grid-column:span 2;padding:9px 11px}.record-helper strong,.record-helper span{display:block}.record-helper strong{color:var(--text-strong);font-size:13px}.record-helper span{margin-top:3px;font-size:12px;font-weight:700;line-height:1.35}.material-ledger{gap:14px;display:grid}.material-form{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.material-form textarea{resize:vertical;grid-column:1/span 4;min-height:72px;padding:10px 11px}.material-form button{align-self:stretch}.material-form input,.material-form select,.material-form textarea{border:1px solid var(--border);width:100%;min-height:40px;color:var(--text-strong);background:#fff;border-radius:8px;outline:0;padding:0 11px;font-size:13px}.material-form textarea{padding:10px 11px;line-height:1.45}.material-form input:focus,.material-form select:focus,.material-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f766e1a}.material-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.material-card-list{gap:9px;margin-top:10px;display:grid}.material-card{border:1px solid var(--border);background:#fff;border-radius:8px;gap:7px;padding:12px;display:grid}.material-card>div{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.material-card strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:13px;line-height:1.35}.material-card p,.material-card small{color:var(--muted);font-size:12px;line-height:1.45}.material-card em{color:var(--green);background:#ecfdf3;border-radius:8px;padding:8px 9px;font-size:12px;font-style:normal;font-weight:800;line-height:1.35}.material-status{min-height:23px;color:var(--green);white-space:nowrap;background:#ecfdf3;border-radius:999px;flex:none;align-items:center;padding:0 8px;font-size:12px;font-weight:900;display:inline-flex}.material-status.warning{color:var(--amber);background:#fff7ed}.warning-empty{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.record-form textarea{resize:vertical;grid-column:1/-1;min-height:86px;padding:10px 11px}.record-form button{justify-self:start}.record-form input,.record-form select,.record-form textarea,.account-form input,.account-form select,.user-row input,.user-row select{border:1px solid var(--border);width:100%;min-height:40px;color:var(--text-strong);background:#fff;border-radius:8px;outline:0;padding:0 11px}.record-row,.notice,.audit-row,.backup-row{border:1px solid var(--border);background:#fff;border-radius:8px;padding:12px}.backup-list{margin-bottom:12px}.snapshot-section{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.section-note{color:var(--muted);margin:8px 0 10px;font-size:12px;line-height:1.6}.compact-backup-list{gap:8px;display:grid}.backup-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.backup-row strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:13px;display:block}.backup-row span{color:var(--muted);margin-top:4px;font-size:12px;display:block}.backup-row em{color:#be123c;margin-top:6px;font-size:12px;font-style:normal;font-weight:900;display:block}.backup-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.record-row span{min-height:22px;color:var(--teal);background:#ecfdf9;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.notice.warning{background:#fff7ed;border-color:#fed7aa}.notice.danger{background:#fff1f2;border-color:#fecdd3}.account-form{grid-template-columns:repeat(2,minmax(0,1fr))}.account-form button,.inline-message{grid-column:1/-1}.inline-message{border-radius:8px;padding:10px 11px;font-size:12px;font-weight:800;line-height:1.45}.inline-message.success{color:var(--green);background:#ecfdf3;border:1px solid #b8e8cf}.inline-message.error{color:var(--red);background:#fff1f2;border:1px solid #fecdd3}.user-row{grid-template-columns:1fr}.user-row.locked{background:#f8fafc}.user-row input:disabled,.user-row select:disabled{color:var(--muted);background:#f1f5f9}.user-identity{align-items:center;gap:8px;min-width:0;display:flex}.self-badge{min-height:22px;color:var(--teal);white-space:nowrap;background:#ecfdf9;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.user-edit-grid{grid-template-columns:minmax(0,1fr) minmax(96px,.7fr);gap:8px;display:grid}.password-field{grid-column:1/-1}.user-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.user-lock-note{color:var(--muted);font-size:12px;font-weight:800}.delete-confirm-note{color:#be123c;font-size:12px;font-weight:900}.danger-button{color:#be123c;background:#fff1f2;border-color:#fecdd3}.danger-button:hover:not(:disabled){color:#9f1239;background:#ffe4e6;border-color:#fda4af}.screen-shell{background:#eef2f7;min-height:100vh;display:block}.screen-shell .sidebar,.screen-shell .topbar{display:none}.screen-shell .workspace{background:#eef2f7;min-height:100vh;padding:24px}.screen-board{grid-template-rows:auto auto minmax(0,1fr);gap:18px;min-height:calc(100vh - 48px);display:grid}.screen-hero,.screen-panel,.screen-metric{background:#fff;border:1px solid #d8e0ea;border-radius:8px;box-shadow:0 16px 34px #0f172a14}.screen-hero{justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.screen-hero span{color:var(--teal);font-size:17px;font-weight:900;display:block}.screen-hero h2{color:var(--text-strong);margin-top:6px;font-size:42px;font-weight:820;line-height:1.1}.screen-hero p{color:var(--muted);margin-top:9px;font-size:18px;font-weight:700}.screen-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.screen-actions .outline-button,.screen-actions .primary-button{min-height:46px;padding:0 16px;font-size:16px}.screen-metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.screen-metric{border-left:8px solid var(--teal);min-height:138px;padding:18px 20px}.screen-metric.warning{border-left-color:var(--amber);background:#fffaf1}.screen-metric.danger{border-left-color:var(--red);background:#fff6f7}.screen-metric span,.screen-metric p,.screen-panel-head span{color:var(--muted);font-weight:800;display:block}.screen-metric span{font-size:16px}.screen-metric strong{color:var(--text-strong);margin-top:8px;font-size:52px;font-weight:850;line-height:1;display:block}.screen-metric p{margin-top:10px;font-size:15px;line-height:1.35}.screen-grid{grid-template-rows:minmax(286px,1fr) minmax(224px,.72fr) minmax(190px,.62fr);grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) minmax(0,.9fr);gap:14px;min-height:0;display:grid}.screen-panel{min-width:0;min-height:0;padding:18px;overflow:hidden}.focus-panel{grid-row:1/span 2}.photo-panel{grid-column:2/span 2}.screen-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.screen-panel-head h3{color:var(--text-strong);margin:0;font-size:24px;font-weight:820;line-height:1.2}.screen-panel-head span{color:#1d4ed8;background:#eff6ff;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:14px;display:inline-flex}.screen-list,.screen-risk-list,.screen-progress-list{gap:10px;display:grid}.screen-list-row{background:#f8fafc;border:1px solid #e5edf5;border-radius:8px;grid-template-columns:54px minmax(0,1fr) 124px;align-items:center;gap:12px;min-height:78px;padding:12px;display:grid}.risk-dot{border-radius:999px;place-items:center;width:50px;height:50px;font-size:18px;font-weight:900;display:grid}.risk-dot.danger{color:var(--red);background:#ffe4e6}.risk-dot.warning{color:var(--amber);background:#ffedd5}.risk-dot.success{color:var(--green);background:#dcfce7}.screen-list-row strong,.screen-risk-item strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:21px;line-height:1.25;display:block}.screen-list-row p,.screen-risk-item p{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:15px;line-height:1.35}.screen-list-row em{color:var(--text);text-align:right;font-size:16px;font-style:normal;font-weight:900}.screen-list-row em.overdue,.screen-list-row em.today{color:var(--red)}.screen-list-row em.soon{color:var(--amber)}.screen-risk-item{border-left:6px solid var(--red);background:#fff6f7;border-radius:8px;min-height:74px;padding:13px 14px}.screen-risk-item.material{border-left-color:var(--amber);background:#fffaf1}.screen-progress-row{background:#f8fafc;border:1px solid #e5edf5;border-radius:8px;grid-template-columns:minmax(0,1.2fr) 118px 92px;align-items:center;gap:8px 12px;padding:12px;display:grid}.screen-progress-row strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:18px;line-height:1.25;display:block}.screen-progress-row p,.screen-progress-row small{color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.35}.screen-progress-row span{min-height:30px;color:var(--teal);text-align:center;background:#ecfdf9;border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:13px;font-weight:900;display:inline-flex}.screen-progress-row em{color:var(--text);text-align:right;font-size:14px;font-style:normal;font-weight:900}.screen-progress-row em.overdue,.screen-progress-row em.today{color:var(--red)}.screen-progress-row em.soon{color:var(--amber)}.screen-progress-row small{grid-column:1/-1}.step-bars{gap:10px;display:grid}.step-bar-row{grid-template-columns:128px minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.step-bar-row span{color:var(--text);font-size:15px;font-weight:800;line-height:1.25}.step-bar-row strong{color:var(--text-strong);text-align:right;font-size:17px}.step-bar-track{background:#e2e8f0;border-radius:999px;height:16px;overflow:hidden}.step-bar-track div{border-radius:inherit;background:#2563eb;height:100%}.screen-photo-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.screen-photo-strip .photo-card-media{aspect-ratio:4/3;object-fit:cover;background:#f8fafc;border:1px solid #d8e0ea;border-radius:8px;width:100%;display:block}.screen-empty{min-height:110px;color:var(--muted);text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;place-items:center;font-size:18px;font-weight:800;display:grid}@media (width<=1180px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.sidebar{align-items:center;padding:18px 12px}.brand{padding:0}.sidebar .brand div:not(.brand-mark),.nav-item span,.sidebar-note div{display:none}.nav-item{justify-content:center;padding:10px}.sidebar-note{grid-template-columns:1fr;padding:12px}.mini-link{gap:0;width:42px;min-height:42px;padding:0;font-size:0}.mini-link svg{width:18px;height:18px}.manage-grid,.manage-admin{grid-template-columns:1fr}.screen-metrics,.screen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-grid{grid-template-rows:none}.focus-panel,.photo-panel{grid-area:auto}}@media (width<=980px){.workspace{padding:18px}.topbar,.control-row{flex-direction:column;align-items:stretch}.topbar-actions{flex-wrap:wrap}.search{flex:260px;width:100%;min-width:0}.metrics,.content-grid,.bottom-grid,.upload-panel{grid-template-columns:1fr}.screen-shell .workspace{padding:16px}.screen-board{min-height:calc(100vh - 32px)}.screen-hero{flex-direction:column;align-items:flex-start}.screen-actions{justify-content:flex-start}.screen-hero h2{font-size:34px}.screen-metrics,.screen-grid{grid-template-columns:1fr}.screen-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.record-form,.material-form,.account-form,.user-row{grid-template-columns:1fr}.material-form textarea{grid-column:1}.material-columns,.user-edit-grid{grid-template-columns:1fr}.user-actions{justify-content:stretch}.user-actions button{flex:140px}.detail-panel{order:-1}}@media (width<=680px){.app-shell{display:block}.sidebar{flex-direction:row;align-items:center;height:auto;padding:12px;position:static;overflow-x:auto}.brand{min-width:max-content}.nav-list{min-width:max-content;display:flex}.sidebar-note{display:none}.workspace{padding:16px 12px 24px}h1{font-size:23px}.metrics,.log-grid{grid-template-columns:1fr}.screen-shell .workspace{padding:12px}.screen-hero,.screen-panel,.screen-metric{padding:14px}.screen-hero h2{font-size:28px}.screen-metric strong{font-size:42px}.screen-list-row{grid-template-columns:46px minmax(0,1fr)}.screen-list-row em{text-align:left;grid-column:2}.risk-dot{width:44px;height:44px;font-size:16px}.step-bar-row{grid-template-columns:94px minmax(0,1fr) 30px}.screen-photo-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-band,.qr-card{grid-template-columns:1fr}.segment-control{width:100%;overflow-x:auto}.segment{flex:1 0 auto}.confirm-box{flex-direction:column;align-items:stretch}.filter-bar,.library-toolbar{grid-template-columns:1fr;display:grid}.filter-bar select,.library-toolbar select,.library-toolbar .search{width:100%}.modal-backdrop{align-items:stretch;padding:12px}.modal{max-height:calc(100vh - 24px)}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions .outline-button,.modal-actions .primary-button{width:100%}}
