:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}.app-shell{background:#f4f7f8;grid-template-columns:268px minmax(0,1fr);min-height:100vh;display:grid}.login-screen{background:#eef3f5;align-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #d8e1e6;border-radius:8px;justify-self:center;gap:14px;width:100%;max-width:420px;padding:24px;display:grid;box-shadow:0 18px 60px #0f172a1f}.login-panel h1{color:#111827;margin:0 0 8px;font-size:28px}.login-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:800}.sidebar{color:#f8fafc;background:#172026;flex-direction:column;gap:28px;padding:24px;display:flex}.sidebar h1{color:#fff;margin:6px 0 0;font-size:28px;line-height:1.1}.eyebrow{color:#0f8b8d;letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.sidebar .eyebrow{color:#7dd3fc}.brand-wordmark{background:linear-gradient(90deg,#dc2626 0%,#f87171 38%,#dc2626 70%,#991b1b 100%) 0 0/220% 100%;color:#dc2626;text-fill-color:transparent;-webkit-text-fill-color:transparent;text-transform:none;-webkit-background-clip:text;background-clip:text;animation:8s ease-in-out infinite textura-shimmer}@keyframes textura-shimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}nav{gap:8px;display:grid}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}nav button{color:#cbd5e1;text-align:left;background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}nav button.active,nav button:hover{color:#fff;background:#24323b}.nav-badge{color:#fff;background:#dc2626;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;font-weight:900;display:inline-flex}.app-toast{color:#0f172a;z-index:50;background:#fff;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:8px;gap:4px;min-width:min(360px,100vw - 32px);padding:14px 42px 14px 16px;display:grid;position:fixed;top:20px;right:20px;box-shadow:0 18px 50px #0f172a2e}.app-toast button{color:#991b1b;background:#fee2e2;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:18px;line-height:1;display:inline-flex;position:absolute;top:12px;right:12px}.app-toast strong{color:#991b1b}.app-toast span{color:#475569;font-weight:700}.status-panel{background:#0f171c;border:1px solid #2f3f49;border-radius:8px;align-items:flex-start;gap:10px;margin-top:auto;padding:14px;display:flex}.status-panel p{margin:0}.status-dot{background:#16a34a;border-radius:50%;flex:0 0 10px;width:10px;height:10px;margin-top:7px}.content{background:#f4f7f8;min-width:0;padding:24px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.topbar h2{color:#111827;margin:4px 0 0;font-size:26px}.kpis{flex-wrap:wrap;gap:10px;display:flex}.user-strip{align-items:center;gap:10px;margin-left:auto;display:flex}.user-strip span{color:#334155;font-weight:800}.user-strip button{color:#0f172a;background:#e8eef2;border-radius:8px;min-height:38px;padding:0 12px;font-weight:800}.user-strip .logout-button{color:#fff;background:#dc2626}.user-strip .logout-button:hover{background:#b91c1c}.metric{background:#fff;border:1px solid #dde4e8;border-radius:8px;min-width:104px;padding:10px 12px;box-shadow:0 10px 24px #0f172a0a}.metric span{color:#64748b;font-size:12px;display:block}.metric strong{color:#0f172a;font-size:22px;line-height:1.1;display:block}.work-grid{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:14px;display:grid}.panel{background:#fff;border:1px solid #dde4e8;border-radius:8px;padding:18px;box-shadow:0 14px 34px #0f172a0d}.span-2{grid-column:1/-1}.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-title h3{color:#111827;margin:0;font-size:18px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.order-number-hero{text-align:center;background:#f8fbfb;border:1px solid #e2ecef;border-radius:8px;justify-items:center;margin-bottom:6px;padding:12px;display:grid}.order-number-hero span{color:#64748b;font-size:13px;font-weight:800}.order-number-hero strong{color:#0f172a;font-size:42px;line-height:1}.grossing-panel{background:#fbfcfd}.grossing-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-group{gap:7px;display:grid}.field-label{color:#475569;font-size:13px;font-weight:800}.field-input{grid-template-columns:minmax(0,1fr) 38px;display:grid}.field-input input{text-align:center;border-radius:8px 0 0 8px;min-height:56px;font-size:22px;font-weight:800}.stepper{display:grid}.stepper button{color:#0f172a;background:#e8eef2;font-size:11px;font-weight:900}.stepper button:first-child{border-radius:0 8px 0 0}.stepper button:last-child{border-radius:0 0 8px}.divider{background:#e2e8f0;height:1px;margin:16px 0}.check-row{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.check-row input{width:20px;min-height:20px}.check-label{color:#0f172a;font-size:15px;font-weight:900}.check-hint{color:#475569;background:#e8eef2;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.grossing-actions{gap:10px;display:grid}.btn-primary,.btn-secondary{border-radius:8px;min-height:44px;padding:0 16px;font-weight:900}.btn-primary{color:#fff;background:#0f766e}.btn-secondary{color:#0f172a;background:#e8eef2}.decalc-check{margin-top:12px}.clarification-note{min-height:72px}.clarification-list{gap:12px;display:grid}.clarification-card{background:#f8fafc;border:1px solid #dbe4ea;border-radius:8px;grid-template-columns:minmax(180px,.85fr) minmax(240px,1fr) 140px;align-items:center;gap:16px;padding:14px;display:grid}.clarification-card.answered{background:#f0fdf4;border-color:#bbf7d0}.clarification-card h3,.clarification-card p{margin:4px 0 0}.clarification-card strong{color:#14532d;margin-top:6px;display:block}.stain-list{flex-wrap:wrap;gap:8px;display:flex}.stain-list p,.stain-list small{flex-basis:100%}.stain-list small{color:#64748b;font-weight:700}.badge{color:#0f766e;background:#e6f7f4;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.badge.warning{color:#c2410c;background:#fff7ed}.scan-form{grid-template-columns:minmax(0,1fr) 132px;align-items:end;gap:12px;display:grid}.scan-form-wide{grid-template-columns:minmax(0,1fr) 132px 132px}label{color:#475569;gap:7px;font-size:13px;font-weight:700;display:grid}input,select,textarea{box-sizing:border-box;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-height:38px;padding:9px 10px}input:focus,select:focus,textarea:focus{border-color:#0f8b8d;outline:none;box-shadow:0 0 0 3px #0f8b8d1f}textarea{resize:vertical;min-height:116px}textarea[readonly]{color:#334155;background:#f8fafc}.scan-form input{min-height:48px;font-size:18px}.scan-form button,.primary-action,.secondary-action,.inline-send,.table-action,.panel-title button{color:#fff;background:#0f766e;border-radius:8px;min-height:40px;padding:0 16px;font-weight:800}.secondary-action,.table-action{color:#0f172a;background:#e8eef2}.inline-send{justify-self:start;min-height:34px}.primary-action{width:100%;margin-top:14px}button:disabled{cursor:not-allowed;opacity:.5}.order-data{gap:8px;display:grid}.data-row{border-bottom:1px solid #edf2f5;grid-template-columns:170px minmax(0,1fr);gap:8px;padding:8px 0;display:grid}.data-row span,.muted{color:#64748b}.data-row strong{color:#0f172a;overflow-wrap:anywhere}.compact-label{margin-bottom:14px}.slide-stain-panel{background:#f8fafc;border:1px solid #d7e2e8;border-radius:8px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.stain-code-admin{gap:8px;display:grid}.slide-stain-header,.stain-code-manager{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.slide-stain-grid{gap:8px;max-height:230px;padding-right:4px;display:grid;overflow:auto}.slide-stain-row{border-top:1px solid #e2e8f0;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:8px;padding-top:8px;display:grid}.slide-stain-row>span{color:#475569;padding-top:6px;font-size:12px;font-weight:800}.stain-checkboxes{flex-wrap:wrap;gap:6px;display:flex}.stain-checkboxes label{color:#475569;background:#fff;border:1px solid #d7e2e8;border-radius:999px;flex-direction:row;align-items:center;gap:5px;margin:0;padding:5px 8px;font-size:12px;font-weight:800;display:flex}.stain-checkboxes label.active{color:#0f766e;background:#e6f7f4;border-color:#7dd3c7}.stain-checkboxes input{width:14px;min-width:14px;min-height:14px}.stain-code-list{flex-wrap:wrap;gap:6px;display:flex}.stain-code-pill{color:#475569;background:#fff;border:1px solid #d7e2e8;border-radius:999px;align-items:center;gap:6px;padding:5px 7px 5px 9px;font-size:12px;font-weight:900;display:inline-flex}.stain-code-pill button{color:#b91c1c;background:#fee2e2;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;font-weight:900;line-height:1;display:inline-flex}.label-preview{gap:8px;max-height:310px;padding-right:4px;display:grid;overflow:auto}.glass-label{aspect-ratio:2;box-sizing:border-box;border:1px dashed #94a3b8;border-radius:4px;align-items:center;width:100%;padding:0;display:block;position:relative;overflow:hidden}.glass-label strong{color:#111827;align-self:start;font-size:16px;line-height:1.1}.glass-label span{color:#64748b;font-size:12px}.label-element-text,.label-element-code{position:absolute}.label-element-text{color:#111827;text-overflow:ellipsis;white-space:nowrap;line-height:1;overflow:hidden}.label-element-code{min-width:24px;min-height:24px}.datamatrix-preview{height:100%;image-rendering:pixelated;object-fit:contain;background:#fff;width:100%;display:block}.datamatrix-lite{height:100%;image-rendering:pixelated;background:#fff;grid-template-rows:repeat(14,1fr);grid-template-columns:repeat(14,1fr);width:100%;display:grid;overflow:hidden}.datamatrix-cell{background:#fff}.datamatrix-cell.on{background:#111827}.datamatrix-fallback{color:#64748b;place-self:end center;font-size:12px}.two-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.description-panel{padding:16px}.description-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.description-column{gap:12px;display:grid}.description-field textarea{min-height:132px;line-height:1.35}.description-field .grossing-textarea{min-height:150px}.description-field .clarification-note{min-height:88px}.clarification-answer-field textarea{color:#14532d;background:#f0fdf4;border-color:#bbf7d0;min-height:92px;font-weight:800}.table-scroll{overflow-x:auto}table{border-collapse:collapse;min-width:100%}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #e2e8f0;padding:9px}th{color:#475569;text-transform:uppercase;font-size:12px}td input,td select{min-width:150px}td input[type=checkbox]{width:18px;min-width:18px;min-height:18px}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.print-settings .muted{margin-top:10px;margin-bottom:0}.print-editor .panel-title{align-items:flex-start}.print-save-strip{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.print-save-strip .badge{flex:none}.print-editor-layout{grid-template-columns:minmax(360px,1fr) minmax(320px,.8fr);gap:18px;display:grid}.designer-area,.properties-area,.element-properties{gap:12px;display:grid}.designer-canvas-wrap{background-color:#f8fafc;background-image:linear-gradient(90deg,#e2e8f0 1px,#0000 1px),linear-gradient(#e2e8f0 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #d7e2e8;border-radius:8px;padding:18px}.designer-canvas{background:#fff;border:1px solid #94a3b8;width:100%;max-width:560px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 18px 44px #0f172a1f}.designer-element{color:#111827;cursor:move;text-align:left;touch-action:none;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;min-width:0;min-height:0;padding:0;line-height:1;position:absolute}.designer-element:hover,.designer-element.selected{border-color:#0f766e;outline:2px solid #0f766e29}.designer-element.code{background:#fff;padding:0}.element-list{gap:8px;display:grid}.element-list>div{background:#f8fafc;border:1px solid #dce6ea;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:42px;padding:6px;display:grid}.element-list>div.active{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e1f}.element-list>div>button:first-child{color:#0f172a;text-align:left;background:0 0;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;padding:2px 4px;display:grid}.delete-element,.danger-action{color:#b91c1c;background:#fee2e2;border-radius:8px;min-height:32px;padding:0 10px;font-size:12px;font-weight:900}.element-list span{color:#64748b;font-size:12px;font-weight:800}.element-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.clinic-marker-settings{border:1px solid #d7e2e8;border-radius:8px;gap:10px;padding:12px;display:grid}.clinic-marker-row{border-top:1px solid #e2e8f0;grid-template-columns:minmax(220px,1.4fr) minmax(160px,.7fr) 92px auto;align-items:end;gap:10px;padding-top:10px;display:grid}.settings-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.property-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.inline-check{align-items:center;gap:8px;display:flex}.table-actions{flex-wrap:wrap;gap:6px;display:flex}.nudge-row{grid-template-columns:1fr 1fr 104px;align-items:end;gap:10px;display:grid}.nudge-buttons{grid-template-columns:repeat(3,32px);gap:4px;display:grid}.nudge-buttons button{color:#0f172a;background:#e8eef2;border-radius:8px;min-height:32px;font-weight:800}.nudge-buttons button:first-child,.nudge-buttons button:last-child{grid-column:2}.template-chips{flex-wrap:wrap;gap:6px;display:flex}.element-toolbar{align-items:center;gap:10px;margin-top:18px;display:flex}.element-toolbar strong{color:#111827;margin-right:auto}.element-toolbar button{color:#0f172a;background:#e8eef2;border-radius:8px;min-height:36px;padding:0 12px;font-weight:800}.element-table{margin-top:10px}.element-table td input,.element-table td select{min-width:84px}.element-table td:nth-child(3) input{min-width:220px}.admin-stack{gap:14px;display:grid}.admin-tabs{background:#e8eef2;border-radius:8px;gap:4px;padding:4px;display:flex}.admin-tabs button{color:#475569;background:0 0;border-radius:7px;min-height:38px;padding:0 14px;font-weight:900}.admin-tabs button.active{color:#0f172a;background:#fff;box-shadow:0 1px 4px #0f172a14}.user-form,.journal-filters{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.user-form button{color:#fff;background:#0f766e;border-radius:8px;font-weight:800}.order-controls{grid-template-columns:34px 74px 34px;align-items:center;gap:6px;display:grid}.order-controls button{color:#0f172a;background:#e8eef2;border-radius:8px;min-height:34px;font-weight:800}.order-controls input{text-align:center;min-width:0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stat-card{background:#f8fafc;border:1px solid #dce6ea;border-radius:8px;gap:4px;padding:12px;display:grid}.stat-card span{color:#475569;font-size:13px;font-weight:800}.stat-card strong{color:#0f172a;font-size:30px;line-height:1}.stat-card small{color:#64748b}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#0f766e;background:#eef6f6;border:1px solid #cde7e7;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.status-pill{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-block}.status-pill.pending{color:#3730a3;background:#eef2ff}.status-pill.printing{color:#0e7490;background:#ecfeff}.status-pill.printed{color:#047857;background:#ecfdf5}.status-pill.failed{color:#b91c1c;background:#fef2f2}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{gap:14px}nav,.kpis,.topbar,.two-columns,.description-grid,.element-toolbar,.admin-tabs,.clinic-marker-row,.slide-stain-header,.stain-code-manager,.slide-stain-row,.settings-grid,.user-form,.journal-filters,.nudge-row,.print-editor-layout,.scan-form-wide,.stats-grid,.grossing-fields,.work-grid,.clarification-card{grid-template-columns:1fr}.topbar,.kpis,.element-toolbar{align-items:stretch;display:grid}.print-save-strip{align-items:stretch;width:100%;display:grid}}
