:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body{overflow:auto;height:auto;min-height:100vh;margin:0;padding:0}html{scroll-padding-bottom:calc(var(--nav-height, 65px) + 12px)}#root{height:auto;min-height:100vh;width:100vw;margin:0;padding:1.6rem 1vw 40px 1vw;text-align:center;display:flex;flex-direction:column;overflow:auto}.table-container{flex:1;display:flex;flex-direction:column;max-width:none;margin:0 auto;overflow:auto;height:auto;min-height:calc(100vh - 40px)}.form-container-width{width:80vw}.data-container-width{width:98vw}.content-area{flex:1;overflow:auto;padding:.4rem 0 .5rem;display:flex;flex-direction:column}.table-container h2{text-align:center;margin-bottom:.0225rem}.table-title{text-align:center;margin:.001rem 0 .075rem;font-size:1.3rem;font-weight:700;text-transform:capitalize;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:#333}.checkbox-table{width:100%;border-collapse:collapse;margin:.125rem 0;box-shadow:0 4px 6px #0000001a;border-radius:8px;overflow:hidden;height:auto;table-layout:fixed}.table-cell{border:1px solid #ddd;padding:.15rem;text-align:left;background-color:#fafafa;transition:background-color .3s ease;vertical-align:top;word-wrap:break-word;overflow-wrap:break-word;max-width:200px}.table-cell:hover{background-color:#f0f0f0}.checkbox-table tr:nth-child(odd) .table-cell{background-color:#f7f7f7}.checkbox-table tr:nth-child(2n) .table-cell{background-color:#ececec}.checkbox-table tr:nth-child(odd) .table-cell:hover{background-color:#e8e8e8}.checkbox-table tr:nth-child(2n) .table-cell:hover{background-color:#ddd}.checkbox-label{display:grid;grid-template-columns:auto 20px minmax(0,1fr);align-items:center;gap:.3rem;cursor:pointer;font-size:1.05rem;width:100%;height:100%;padding:.3rem;margin:0;box-sizing:border-box}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#646cff;justify-self:center}.checkbox-text{font-size:15px;color:#666;text-align:left;line-height:1.1;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;min-width:0}.checkbox-text small{color:#999;font-size:.95rem}.empty-cell{display:block;padding:1rem;color:#ccc;font-style:italic;font-size:.8rem}.table-row:nth-child(2n) .table-cell{background-color:#f8f8f8}.table-row:nth-child(2n) .table-cell:hover{background-color:#eee}.form-container{max-width:500px;margin:1rem auto;padding:1.5rem;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-field{margin-bottom:1rem}.form-row{display:flex;gap:1rem}.form-row .form-field{flex:1;margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:700;color:#333}.required{color:#e74c3c}.form-input,.form-textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;box-sizing:border-box;transition:border-color .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 2px #646cff33}.form-textarea{resize:vertical;min-height:80px}.radio-group{display:flex;gap:1rem;margin-top:.5rem}.radio-label{display:flex;align-items:center;gap:.5rem;font-weight:400;font-size:1rem;cursor:pointer;color:#333;padding:.5rem;border-radius:4px;transition:background-color .2s ease}.radio-label:hover{background-color:#f0f0f0}.radio-label input[type=radio]{margin:0;cursor:pointer;width:16px;height:16px}.print-checkbox{font-size:1rem;font-weight:700;margin-right:.5rem;color:#333;display:inline-block}.bolded{font-weight:700;color:#2c3e50}.column-header{background-color:#f5f5f5;border-bottom:2px solid #333;text-align:center}.column-title{font-weight:700;color:#2c3e50;font-size:.9rem;text-transform:uppercase}.header-row{background-color:#f8f9fa}.title-text{font-weight:700;color:#2c3e50;font-size:.85rem;text-align:center;display:block;padding:.3rem;background-color:#f8f9fa;border-radius:4px}.checkbox-text strong{color:#666;font-size:.8rem}.cell-content{display:block;min-height:20px;width:100%}.cell-content.with-bricks{display:grid;grid-template-columns:minmax(0,1fr) 26px;align-items:center;column-gap:2px}.cell-content.with-bricks .checkbox-label{width:100%;min-width:0;height:auto}.cell-content.with-bricks .reaction-bricks{justify-self:start;align-self:center}.shortid{color:#2c3e50;font-size:.95rem;font-weight:700;text-align:center;background:#ecf0f1;padding:.1rem .2rem;border-radius:4px;width:35px;display:flex;align-items:center;justify-content:center}@media screen and (max-width: 1200px){.cell-content{flex-direction:column;align-items:flex-start;gap:.3rem}.shortid{margin-bottom:.2rem}}.screen-only{display:flex;flex-direction:column;flex:1;height:100%}@media (pointer: coarse){.checkbox-label{min-height:44px;align-items:center}.table-cell{padding:6px 8px}.content-area{overflow-x:auto;-webkit-overflow-scrolling:touch}}.table-cell.highlight{outline:3px solid #f5a623;outline-offset:-2px;background:#fff3d6!important;transition:background .3s ease}:root[data-theme=dark] body{background:var(--bg);color:var(--ink)}:root[data-theme=dark] .checkbox-table tr:nth-child(odd) .table-cell{background:#182220}:root[data-theme=dark] .checkbox-table tr:nth-child(2n) .table-cell{background:#1e2a28}:root[data-theme=dark] .checkbox-table tr:nth-child(odd) .table-cell:hover,:root[data-theme=dark] .checkbox-table tr:nth-child(2n) .table-cell:hover{background:#26413a}:root[data-theme=dark] .table-cell{border-color:#2b3a37;color:var(--ink)}:root[data-theme=dark] .shortid{background:#2b3a37;color:#cfe3dd}:root[data-theme=dark] .checkbox-text{color:var(--ink)}:root[data-theme=dark] .table-cell.highlight{background:#4a3a10!important;outline-color:#f5a623}@media print{:root[data-theme=dark]{color-scheme:light}}.print-only{display:none}@page{size:297mm 210mm;margin:3mm 10mm}@page examination{size:297mm 210mm;margin:3mm 10mm}@media print{html,body,#root{margin:0!important;padding:0!important;height:auto!important;overflow:visible!important;background:#fff!important}.screen-only,.navigation-bar,.tablet-controls,.dialog-backdrop,.page-watermark-fixed{display:none!important}.table-container,.content-area{height:auto!important;max-width:none!important;overflow:visible!important;padding:0!important;margin:0!important}.print-only{page:examination;display:block!important;width:277mm;margin:0 auto;font-family:Arial,sans-serif;color:#000;background:#fff}.print-only *{margin:0!important;padding:0!important;box-sizing:border-box!important;overflow-wrap:break-word;font-size:9px!important}.print-only>div[data-page]{break-inside:avoid;page-break-inside:avoid;padding:10px!important;display:flex;flex-direction:column;align-items:flex-start}.print-only>div.page-break{break-before:page;page-break-before:always}.print-only>div[data-page="0"]{align-items:center}.print-only>div[data-page="0"] .form-container{width:auto;max-width:200mm;align-self:center}.print-only .print-notes{white-space:pre-wrap;font-size:12pt;line-height:1.5;padding:8pt 4pt}.print-only .print-footer{margin-top:6px!important;color:#555}.print-only .table-title{font-size:11px!important;font-weight:700;margin-bottom:5px!important;width:100%;text-align:center;background-color:#f0f0f0;padding:4px 0!important;border-radius:3px;break-after:avoid;page-break-after:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-only .checkbox-table{border-spacing:0;width:100%;break-inside:avoid;page-break-inside:avoid;margin-bottom:5px!important}.print-only .table-cell{font-size:8px!important;padding:1px 2px!important;vertical-align:top}.print-only .table-cell div{display:flex!important;align-items:flex-start!important;gap:4px}.print-only .reaction-bricks.print{display:inline-flex!important;flex-direction:column-reverse!important;gap:1px!important;margin-left:3px!important;align-self:center}.print-only .reaction-bricks.print .brick{display:block!important;width:9px!important;height:3px!important;margin:0!important;padding:0!important}.print-only .no-wrap-group{display:inline-flex!important;align-items:center!important;white-space:nowrap!important;flex-shrink:0!important}.print-only .shortid{font-size:8px!important;margin-right:4px!important;color:#555}.print-only .print-checkbox{font-size:10px!important;margin-right:4px!important}.print-only .checkbox-text{font-size:7px!important;white-space:normal!important;word-break:break-all!important;overflow-wrap:anywhere!important;line-height:1.15!important;display:inline-block!important;flex:1 1 auto!important;min-width:0!important}}:root{--green: #176c5e;--green-dark: #125247;--green-soft: #e8f0ed;--ink: #243d42;--muted: #647779;--line: #dde6e3;--bg: #f4f7f7;--warn: #b7791f;--warn-soft: #fff3d6;--danger: #b3261e;--sticky-height: 96px;--surface: #ffffff;--surface-2: #f4f7f7;--tile: #f4f7f7;--count: #e2e9e6;--focus: #9cd3c3;--input-border: #bdceca;--shadow: rgba(20, 40, 35, .08);--label: #354f46;--warn-text: #684b13;color-scheme:light}:root[data-theme=dark]{--green: #3fb39a;--green-dark: #2d8f7a;--green-soft: #15302b;--ink: #e6edeb;--muted: #9fb3ae;--line: #2b3a37;--bg: #0f1716;--warn-soft: #3a2f12;--danger: #ff8a80;--surface: #182220;--surface-2: #1e2a28;--tile: #1e2a28;--count: #2b3a37;--focus: #2d8f7a;--input-border: #3a4b48;--shadow: rgba(0, 0, 0, .5);--label: #cfe0da;--warn-text: #f3d58a;color-scheme:dark}@media print{.screen,.sticky-action,.palette-bar,.rotate-hint,.dialog-backdrop{display:none!important}}:root[data-theme=dark] body,:root[data-theme=dark] #root{background:var(--bg);color:var(--ink)}.screen{min-height:100vh;box-sizing:border-box;background:var(--bg);color:var(--ink);text-align:left;display:flex;flex-direction:column}.screen-header{display:flex;align-items:center;gap:16px;padding:14px 20px;min-height:64px;background:var(--surface);border-bottom:1px solid var(--line)}.screen-header h1{font-size:22px;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-header .eyebrow{display:block;font-size:11px;font-weight:750;letter-spacing:.16em;color:#497970}.screen-body{flex:1;padding:20px 24px calc(var(--sticky-height) + 24px);max-width:1100px;width:100%;margin:0 auto;box-sizing:border-box}.screen-body.no-sticky{padding-bottom:24px}.btn{font:inherit;font-size:18px;font-weight:650;min-height:56px;padding:0 24px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--green);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;touch-action:manipulation}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--green);border-color:var(--green);color:#fff}.btn-primary:not(:disabled):active{background:var(--green-dark)}.btn-icon{min-width:56px;padding:0;font-size:26px;border-radius:50%}.btn-back:before{content:"←";font-size:22px}.start-tiles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:8px 0 28px}.start-tile{min-height:160px;border-radius:20px;border:2px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;padding:24px;text-align:left;touch-action:manipulation}.start-tile strong{font-size:28px}.start-tile span{color:var(--muted);font-size:15px}.start-tile.primary{background:var(--green);border-color:var(--green);color:#fff}.start-tile.primary span{color:#d6ebe4}.recent-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.recent-item{width:100%;min-height:72px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;text-align:left;padding:14px 18px;display:flex;flex-direction:column;gap:4px;cursor:pointer;touch-action:manipulation}.recent-item strong{font-size:18px}.recent-item span{color:var(--muted);font-size:14px}.recent-item.in-progress{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.section-title{font-size:15px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:24px 0 12px}.flow-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.flow-form .full{grid-column:1 / -1}.field label{display:block;font-size:15px;font-weight:650;margin-bottom:8px;color:var(--label)}.field input,.field textarea{width:100%;box-sizing:border-box;font:inherit;font-size:20px;min-height:56px;padding:12px 16px;border:1px solid var(--input-border);border-radius:12px;background:var(--surface);color:var(--ink)}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field textarea:focus{outline:3px solid var(--focus);border-color:var(--green)}.segmented{display:flex;gap:10px}.segmented button{flex:1;min-height:56px;font:inherit;font-size:18px;border-radius:12px;border:1px solid var(--input-border);background:var(--surface);color:var(--ink);cursor:pointer;touch-action:manipulation}.segmented button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.sticky-action{position:fixed;left:0;right:0;bottom:0;min-height:var(--sticky-height);box-sizing:border-box;padding:16px 24px;background:color-mix(in srgb,var(--bg) 96%,transparent);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;z-index:20}.sticky-action .btn{min-height:64px;font-size:20px}.sticky-action .btn-primary{flex:0 1 420px}.pick-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.pick-item{width:100%;min-height:64px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;text-align:left;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;touch-action:manipulation}.pick-item strong{font-size:19px}.pick-item span{color:var(--muted);font-size:14px}.exam-row{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.exam-row .exam-meta{flex:1}.exam-row .exam-meta strong{font-size:18px}.exam-row .exam-meta span{display:block;color:var(--muted);font-size:14px}.empty-note{color:var(--muted);font-size:16px;padding:16px 0}.status-line{color:var(--muted);font-size:15px}.status-line.error{color:var(--danger);font-weight:650}@media (max-width: 760px){.flow-form,.start-tiles{grid-template-columns:1fr}}.finish-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.finish-list .pick-item strong{font-size:16px}.finish-list .pick-item.skipped{border-style:dashed;background:var(--warn-soft)}.missing-box{margin-top:20px;padding:14px 18px;border-radius:14px;background:var(--warn-soft);color:var(--warn-text);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.missing-box .btn{margin-left:auto}@media (max-width: 900px){.finish-list{grid-template-columns:1fr 1fr}}.admin-menu section{margin-bottom:8px}.admin-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.file-btn{cursor:pointer}.file-btn input{display:none}.admin-search{max-width:560px}.admin-search .ampoule-search{flex-basis:auto;width:100%}.admin-search .ampoule-search-results{top:calc(100% + 8px);bottom:auto}.theme-switch{max-width:520px}.login-screen{align-items:center;justify-content:center;padding:24px}.login-card{width:min(520px,100%);background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 28px 24px;box-shadow:0 10px 30px var(--shadow);display:flex;flex-direction:column;gap:14px}.login-card h1{margin:0 0 6px;font-size:28px}.login-card .eyebrow{font-size:11px;font-weight:750;letter-spacing:.16em;color:#497970}.login-card .btn-primary{margin-top:6px;min-height:56px}.login-card .btn-back{align-self:flex-start}.who{display:flex;flex-direction:column;align-items:flex-end;font-size:14px;color:var(--muted);line-height:1.25}.who strong{color:var(--ink);font-size:15px}.notes-body{padding:16px 24px 96px;max-width:1100px;margin:0 auto;box-sizing:border-box;width:100%}.notes-textarea{min-height:calc(100vh - 256px);font-size:20px;line-height:1.45}.notes-spacer{flex:1}.admin-table{width:100%;border-collapse:collapse;font-size:16px}.admin-table th,.admin-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table .btn{min-height:44px;font-size:15px;padding:6px 12px}.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 18px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-bottom:20px}.admin-form .field input,.admin-form .field select{min-height:48px;font-size:17px}.admin-form .field select{width:100%;box-sizing:border-box;font:inherit;padding:10px 14px;border:1px solid var(--input-border);border-radius:12px;background:var(--surface);color:var(--ink)}.muted{color:var(--muted)}.pill{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-size:13px;font-weight:650}.pill.off{background:var(--warn-soft);color:var(--warn-text)}.editor-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px}.editor-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.editor-column{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:10px}.editor-column h4{margin:4px 4px 10px;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.editor-element{display:grid;grid-template-columns:34px minmax(140px,1fr) auto;gap:6px;align-items:center;padding:4px 0;border-bottom:1px dashed var(--line)}.editor-element input[type=text]{width:100%;box-sizing:border-box;font:inherit;font-size:15px;min-height:40px;padding:6px 10px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--ink)}.editor-element.archived input[type=text]{text-decoration:line-through;color:var(--muted)}.editor-element .mini{display:flex;gap:2px}.editor-element .mini button,.editor-element .mini select{font:inherit;font-size:13px;min-width:30px;min-height:34px;padding:0 4px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);cursor:pointer}.editor-element .mini button[aria-pressed=true]{background:var(--green-soft);border-color:var(--green);font-weight:750}.editor-add{display:flex;gap:6px;margin-top:8px}.editor-add input{flex:1;font:inherit;font-size:15px;min-height:40px;padding:6px 10px;border:1px solid var(--input-border);border-radius:8px;background:var(--surface);color:var(--ink)}.palette-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-bottom:8px;cursor:pointer}.palette-list-item.current{border-color:var(--green);background:var(--green-soft)}.palette-list-item.archived strong{text-decoration:line-through;color:var(--muted)}.palette-list-item small{display:block;color:var(--muted)}@media (max-width: 900px){.editor-layout{grid-template-columns:1fr}}.admin-bg{position:relative;isolation:isolate;background:radial-gradient(ellipse at 78% 18%,var(--glow-a) 0,transparent 52%),radial-gradient(ellipse at 12% 85%,var(--glow-b) 0,transparent 50%),var(--bg)}.admin-bg:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(var(--dot) 1px,transparent 1.2px);background-size:22px 22px;opacity:var(--dot-opacity);mask-image:radial-gradient(ellipse at 60% 30%,black 35%,transparent 85%);-webkit-mask-image:radial-gradient(ellipse at 60% 30%,black 35%,transparent 85%)}.admin-bg:after{content:"";position:absolute;z-index:-1;pointer-events:none;right:-140px;top:-180px;width:520px;height:520px;border-radius:50%;border:1px solid var(--orbit);box-shadow:0 0 0 70px var(--orbit-soft),0 0 0 150px var(--orbit-softer);animation:admin-aurora 9s ease-in-out infinite alternate}.admin-bg>.screen-header,.admin-bg>.screen-body,.admin-bg>.login-card{position:relative;z-index:1}.admin-bg>.screen-header{background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.admin-bg .login-card,.admin-bg .admin-form,.admin-bg .editor-column,.admin-bg .palette-list-item,.admin-bg .admin-table{background:color-mix(in srgb,var(--surface) 94%,transparent)}.admin-bg .admin-table{border-radius:14px;overflow:hidden;border:1px solid var(--line)}.admin-bg .admin-table th{background:color-mix(in srgb,var(--surface-2) 80%,transparent);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@keyframes admin-aurora{0%{opacity:.55;transform:rotate(0) scale(1)}to{opacity:1;transform:rotate(6deg) scale(1.04)}}@media (prefers-reduced-motion: reduce){.admin-bg:after{animation:none}}:root{--dot: #9fb6ae;--dot-opacity: .45;--glow-a: rgba(23, 108, 94, .16);--glow-b: rgba(214, 249, 134, .22);--orbit: rgba(23, 108, 94, .18);--orbit-soft: rgba(23, 108, 94, .05);--orbit-softer: rgba(23, 108, 94, .03)}:root[data-theme=dark]{--dot: #4b5841;--dot-opacity: .5;--glow-a: rgba(148, 249, 67, .07);--glow-b: rgba(63, 179, 154, .12);--orbit: rgba(202, 250, 114, .35);--orbit-soft: rgba(50, 78, 25, .12);--orbit-softer: rgba(50, 78, 25, .08)}.reaction-bricks{display:inline-flex;flex-direction:column-reverse;align-items:center;justify-content:center;gap:2px;padding:0 6px;min-width:26px;min-height:44px;border:0;border-radius:10px;background:transparent;cursor:pointer;touch-action:manipulation;flex-shrink:0}.reaction-bricks:active{background:#176c5e1f}.reaction-bricks .brick{display:block;width:14px;height:7px;border-radius:2px;background:var(--count, #e2e9e6);border:1px solid rgba(0,0,0,.12);box-sizing:border-box}.reaction-bricks.l1 .brick.on{background:#2e9e5b;border-color:#237a46}.reaction-bricks.l2 .brick.on{background:#f2b705;border-color:#c49200}.reaction-bricks.l3 .brick.on{background:#d93025;border-color:#a5231b}.reaction-bricks.off .brick{opacity:.55}.reaction-bricks.print{flex-direction:column-reverse;min-width:0;min-height:0;padding:0;gap:1px;margin-left:3px;cursor:default;-webkit-print-color-adjust:exact;print-color-adjust:exact}.reaction-bricks.print .brick{width:9px;height:3px;border-radius:1px;background:#fff;border:1px solid #555}.reaction-bricks.print.l1 .brick.on{background:#2e9e5b;border-color:#237a46}.reaction-bricks.print.l2 .brick.on{background:#f2b705;border-color:#c49200}.reaction-bricks.print.l3 .brick.on{background:#d93025;border-color:#a5231b}:root[data-theme=dark] .reaction-bricks .brick{border-color:#ffffff26}.tablet-status:empty{display:none}.rotate-hint{display:none;position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:40;padding:10px 16px;border-radius:10px;background:var(--warn-soft, #fff3d6);color:var(--warn-text, #684b13);font-size:14px}@media (orientation: portrait) and (pointer: coarse){.rotate-hint{display:block}}@media print{.tablet-controls,.rotate-hint{display:none!important}}.dialog-backdrop{position:fixed;inset:0;background:#141e2873;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.dialog{background:var(--surface, #fff);color:var(--ink, #243d42);border-radius:14px;padding:20px 22px 16px;width:min(480px,100%);box-shadow:0 12px 40px #00000040;text-align:left;font-size:15px}.dialog-message p{margin:0 0 6px;line-height:1.45}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.dialog-actions button{min-height:44px;min-width:96px;padding:0 18px;border-radius:9px;font:inherit;font-weight:600;cursor:pointer}.dialog-ok{background:var(--green, #176c5e);color:#fff;border:1px solid var(--green, #176c5e)}.dialog-cancel{background:var(--surface, #fff);color:var(--green, #176c5e);border:1px solid var(--line, #9cbcb5)}.palette-bar{position:fixed;left:0;right:0;bottom:0;height:72px;box-sizing:border-box;display:grid;grid-template-columns:minmax(160px,200px) 1fr minmax(160px,200px);gap:8px;padding:4px 8px;background:var(--surface, #fff);border-top:1px solid var(--line, #dde6e3);box-shadow:0 -4px 16px var(--shadow, rgba(20, 40, 35, .08));z-index:30}.palette-bar-side{height:64px;border-radius:14px;border:1px solid var(--line, #dde6e3);background:var(--surface, #fff);color:var(--green, #176c5e);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;touch-action:manipulation}.palette-bar-side strong{font-size:19px}.palette-bar-side span{font-size:12px;color:var(--muted, #647779);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.palette-bar-side.next{background:var(--green, #176c5e);border-color:var(--green, #176c5e);color:#fff}.palette-bar-side.next span{color:#d6ebe4}.palette-bar-side.next.finish{background:var(--green-dark, #0f3f36);border-color:var(--green-dark, #0f3f36)}.palette-bar-side:active{filter:brightness(.94)}.palette-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;min-width:0}.palette-tile{width:100%;height:64px;box-sizing:border-box;border-radius:12px;border:1px solid var(--line, #dde6e3);background:var(--tile, #f4f7f7);color:var(--ink, #243d42);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 2px;cursor:pointer;touch-action:manipulation;min-width:0}.palette-tile-label{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.palette-tile-count{min-width:24px;height:24px;padding:0 7px;border-radius:12px;background:var(--count, #e2e9e6);color:var(--muted, #647779);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.palette-tile-count.has{background:var(--green, #176c5e);color:#fff}.palette-tile.current{background:var(--surface, #fff);border:2px solid var(--green, #176c5e);color:var(--green, #176c5e)}.palette-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;min-height:52px;padding:6px 16px;background:color-mix(in srgb,var(--bg, #f4f7f7) 96%,transparent);border-bottom:1px solid var(--line, #dde6e3)}.palette-header h1{margin:0;font-size:20px;flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-header .status-line{white-space:nowrap}.palette-body{padding:8px 8px 88px;touch-action:pan-y}@media (max-width: 1100px){.palette-tile-label{font-size:12px}.palette-bar{grid-template-columns:minmax(140px,170px) 1fr minmax(140px,170px)}}.swipe-feedback{position:fixed;top:64px;bottom:72px;width:min(220px,35vw);z-index:20;pointer-events:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;padding:12px;box-sizing:border-box;opacity:calc(.35 + var(--swipe-progress) * .65)}.swipe-feedback.to-next{right:0;justify-content:flex-end;background:linear-gradient(to left,color-mix(in srgb,var(--green, #176c5e) 30%,transparent),transparent)}.swipe-feedback.to-prev{left:0;background:linear-gradient(to right,color-mix(in srgb,var(--green, #176c5e) 30%,transparent),transparent)}.swipe-badge{max-width:170px;padding:12px;border-radius:16px;background:var(--surface, white);color:var(--ink, #243d42);border:2px solid var(--line, #dde6e3);box-shadow:0 4px 20px var(--shadow, #0002);display:grid;gap:5px;text-align:center;overflow-wrap:anywhere}.swipe-arrow{font-size:32px;line-height:1;color:var(--green, #176c5e)}.swipe-badge strong{font-size:14px}.swipe-badge small{font-size:12px}.swipe-feedback.ready .swipe-badge{border-color:var(--green, #176c5e)}.swipe-feedback.ready .swipe-arrow{transform:scale(1.15)}.swipe-arrow{transition:transform .1s ease}@media (prefers-reduced-motion: reduce){.swipe-arrow{transition:none;transform:none!important}}@media print{.swipe-feedback{display:none!important}}.ampoule-search{position:relative;flex:0 1 260px;min-width:140px}.ampoule-search-input{width:100%;box-sizing:border-box;min-height:34px;padding:6px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.6);background:var(--surface, #fff);color:var(--ink, #243d42);border-color:var(--input-border, #bdceca);font:inherit;font-size:.85rem}.ampoule-search-results{position:absolute;bottom:calc(100% + 8px);left:0;width:min(520px,92vw);max-height:60vh;overflow-y:auto;margin:0;padding:6px;list-style:none;background:var(--surface, #fff);color:var(--ink, #243d42);border:1px solid var(--line, #dde6e3);border-radius:12px;box-shadow:0 10px 30px #00000040;text-align:left;z-index:50}.ampoule-search-empty{padding:10px 12px;color:var(--muted, #647779);font-size:.9rem}.ampoule-search-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:8px}.ampoule-search-item:hover{background:var(--green-soft, #eef4f2)}.ampoule-search-check{display:flex;align-items:center;gap:8px;flex:1;min-height:44px;cursor:pointer;font-size:.9rem}.ampoule-search-check input{width:20px;height:20px}.ampoule-search-shortid{min-width:34px;color:var(--green, #497970)}.ampoule-search-name{flex:1}.ampoule-search-palette{font-size:.72rem;color:var(--muted, #647779);white-space:nowrap}.ampoule-search-show{min-height:44px;padding:0 12px;border-radius:8px;border:1px solid var(--line, #9cbcb5);background:var(--surface, #fff);color:var(--green, #176c5e);font:inherit;font-size:.85rem;cursor:pointer}@media (max-width: 768px){.ampoule-search{flex-basis:150px}.ampoule-search-palette{display:none}}:root{color:var(--ink, #243d42);background:var(--bg, #f4f7f7)}#root{box-sizing:border-box;width:100%}.form-container-width{width:min(1280px,96vw)}.patient-home{text-align:left;padding:24px 12px calc(var(--nav-height, 65px) + 24px)}.home-heading,.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.16em;color:#497970}.home-heading h1{font-size:clamp(28px,4vw,40px);letter-spacing:-.04em;margin:12px 0}.home-heading p,.form-hint{color:var(--muted, #647779);font-size:14px;line-height:1.6}.patient-home button{font-family:inherit;font-size:14px}.primary-action{background:#176c5e;color:#fff;padding:13px 20px;border:1px solid #176c5e;border-radius:9px}.secondary-action{background:var(--surface, #fff);color:var(--green, #176c5e);padding:13px 20px;border:1px solid #9cbcb5;border-radius:9px}.home-stats{display:grid;grid-template-columns:1fr 1fr 2fr;gap:16px;margin:28px 0}.home-stats>div{background:var(--green-soft, #e8f0ed);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:5px}.home-stats strong{font-size:21px;color:var(--green, #245b50)}.home-stats span{font-size:12px;color:var(--muted, #566c65)}.patient-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.patient-sidebar,.patient-detail{background:var(--surface, #fff);border:1px solid var(--line, #dde6e3);border-radius:16px;padding:24px;box-shadow:0 4px 24px #29463c05}.patient-home h2{margin:0 0 18px;text-align:left;font-size:21px}.patient-sidebar>label{display:block;color:var(--muted, #637570);font-size:12px;margin-bottom:8px}.patient-sidebar input{width:100%;box-sizing:border-box;border:1px solid var(--input-border, #bdceca);border-radius:8px;padding:12px;font:inherit;font-size:13px;background:var(--surface, #fafcfb);color:var(--ink, #243d42)}.patient-list{max-height:510px;overflow-y:auto;margin:18px -10px}.patient-item{display:flex;flex-direction:column;gap:7px;width:100%;text-align:left;background:var(--surface, #fff);padding:14px 10px;border:1px solid transparent;border-radius:8px;color:var(--ink, #243d42)}.patient-item span{font-size:12px;color:var(--muted, #697a75)}.patient-item.active{background:var(--green-soft, #edf5f1);border-color:#92baac}.patient-item:hover{background:var(--surface-2, #f3f7f5)}.storage-note,.empty-state{color:var(--muted, #697a75);line-height:1.65;font-size:12px}.storage-note{border-top:1px solid var(--line, #e2eae6);padding-top:16px}.detail-heading h2{margin:7px 0;overflow-wrap:anywhere}.view-switch{display:flex;background:var(--surface-2, #f0f4f2);padding:4px;border-radius:9px;flex-shrink:0}.view-switch button{padding:8px 12px;background:transparent;color:var(--muted, #536b63);border:0}.view-switch button[aria-pressed=true]{background:var(--surface, #fff);color:var(--green, #176c5e);box-shadow:0 1px 5px #203c2515}.patient-home .form-container{max-width:none;width:100%;padding:12px 0;margin:0;box-shadow:none;background:transparent;border:0;box-sizing:border-box}.patient-home .form-row{gap:20px}.patient-home .form-field{text-align:left}.patient-home .form-label{color:var(--label, #354f46);font-size:13px}.patient-home .form-input,.patient-home .form-textarea{box-sizing:border-box;background:var(--surface, #fafcfb);color:var(--ink, #243d42);border:1px solid var(--input-border, #bdceca);border-radius:8px;padding:12px;width:100%;font:inherit}.patient-actions{display:flex;justify-content:space-between;gap:14px;padding-top:22px;border-top:1px solid var(--line, #e2eae6)}.save-status{min-height:20px;color:var(--green, #176c5e);font-size:13px}.patient-preview{padding:16px 0 28px}.patient-preview dl{display:grid;grid-template-columns:1fr 1fr;gap:18px}.patient-preview dt{font-size:12px;color:var(--muted, #697a75)}.patient-preview dd{margin:4px 0;font-weight:600}.patient-preview h3{font-size:15px;margin-top:26px}.patient-description{white-space:pre-wrap;overflow-wrap:anywhere}.selection-list{list-style:none;padding:0;max-height:400px;overflow:auto}.selection-list li{padding:12px 0;border-bottom:1px solid var(--line, #e2eae6);display:flex;flex-direction:column;gap:4px}.selection-list span{color:var(--muted, #697a75);font-size:12px}.selection-list strong{font-size:14px}.navigation-bar{height:auto;min-height:42px;flex-wrap:wrap;gap:5px}.nav-button{width:auto;min-width:55px}@media (max-width: 850px){.patient-layout{grid-template-columns:1fr}.patient-list{max-height:220px}.detail-heading{align-items:flex-start;flex-direction:column;gap:12px}.version-info{display:none}}@media (max-width: 540px){.patient-home{padding:12px 0 calc(var(--nav-height, 65px) + 24px)}.home-heading{align-items:flex-start;flex-direction:column;gap:12px}.home-stats{grid-template-columns:1fr 1fr;gap:8px}.home-stats>div:last-child{grid-column:1 / -1}.patient-sidebar,.patient-detail{padding:18px}.patient-actions,.patient-home .form-row{flex-direction:column}.nav-center{flex-wrap:wrap}.summary{min-width:0}}.patient-entry{border-radius:8px}.patient-entry.active .patient-item{background:var(--green-soft, #edf5f1);border-color:#92baac}.exam-list{list-style:none;margin:0 0 8px 14px;padding:0 0 0 10px;border-left:2px solid var(--line, #dde6e3)}.exam-item{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 10px;background:var(--surface, #fff);border:1px solid transparent;border-radius:8px;color:var(--ink, #243d42);text-align:left}.exam-item span{font-size:12px;color:var(--muted, #697a75)}.exam-item:hover{background:var(--surface-2, #f3f7f5)}.exam-item.active{background:var(--green-soft, #dcefe6);border-color:#92baac}.exam-item.new-exam{color:var(--green, #176c5e);font-weight:600}.archive-actions{display:flex;flex-direction:column;gap:8px;margin:14px 0}.archive-actions .secondary-action{width:100%;text-align:center;box-sizing:border-box;min-height:44px}.archive-actions .secondary-action:disabled{opacity:.5}.file-action{display:flex;align-items:center;justify-content:center;cursor:pointer}.file-action input{display:none}.exam-diff{margin-top:28px;padding-top:16px;border-top:1px solid var(--line, #e2eae6)}.exam-diff-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.exam-diff h4{margin:8px 0;font-size:13px;color:#497970}@media (max-width: 540px){.exam-diff-columns{grid-template-columns:1fr}}
