:root{--op-navy: #2c3e5e;--op-navy-dark: #243349;--op-cream: #f7f5f0;--op-card: #ffffff;--op-border: #e2ddd2;--op-mint: #e7f4f0;--op-mint-border: #b8ddd2;--op-ink: #1f2937;--op-muted: #6b7280}.onepage{max-width:860px;margin:0 auto;padding:1.25rem;background:var(--op-cream);color:var(--op-ink);font-size:.9rem;line-height:1.45}.onepage input[type=checkbox],.onepage input[type=radio]{accent-color:var(--triage-teal-600, #1d9e75)}.onepage-toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.onepage-print-btn{background:var(--triage-teal-600, #1d9e75);color:#fff;border:0;border-radius:var(--triage-radius-md, 8px);padding:.55rem 1.3rem;cursor:pointer;font-weight:600;font-size:.9rem}.onepage-print-btn:hover{background:var(--triage-teal-700, #0f6e56)}.onepage input[type=text],.onepage select{border:1px solid var(--triage-gray-200, #e5e3db);border-radius:var(--triage-radius-md, 8px);background:#fff;padding:.4rem .6rem;font:inherit;color:inherit}.onepage input[type=text]:focus,.onepage select:focus{outline:none;border-color:var(--triage-teal-600, #1d9e75);box-shadow:0 0 0 2px #1d9e752e}.onepage-banner{background:var(--op-navy);border-radius:8px;padding:.85rem 1.25rem;text-align:center}.onepage-banner h2{margin:0;color:#fff;font-size:1.05rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.onepage-meta{display:flex;flex-direction:column;gap:.45rem;padding:.7rem .25rem .6rem;border-bottom:2px solid var(--op-navy);margin-bottom:1rem}.meta-field{display:grid;grid-template-columns:120px 1fr;align-items:center;-moz-column-gap:.6rem;column-gap:.6rem}.meta-field>span{font-weight:700;white-space:nowrap}.meta-field input{width:100%;min-width:0}.meta-subtitle{margin:.1rem 0 0;font-style:italic;font-size:.78rem;color:var(--op-muted)}.onepage-stop{background:#fde8e8;border:2px solid #dc2626;color:#991b1b;padding:.6rem .9rem;border-radius:8px;font-weight:700;margin-bottom:1rem}.onepage-section{background:var(--op-card);border:1px solid var(--op-border);border-radius:10px;padding:.85rem 1.1rem;margin:.75rem 0;box-shadow:0 1px 2px #2c3e5e0f;page-break-inside:avoid}.onepage-section h3{display:flex;align-items:center;gap:.5rem;font-size:.98rem;color:var(--op-navy);font-weight:700;border-bottom:1px solid var(--op-border);padding-bottom:.4rem;margin:0 0 .65rem}.sec-tag{font-weight:600;color:var(--op-muted);font-size:.82rem}.sec-dot{width:13px;height:13px;border-radius:50%;flex:0 0 auto}.sec-dot--red{background:#e0392b}.sec-dot--yellow{background:#f1c232}.sec-dot--green{background:#6aa84f}.sec-dot--blue{background:#3d6fb4}.onepage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1.75rem}.onepage-grid>label{display:grid;grid-template-columns:clamp(96px,30%,130px) 1fr;align-items:center;-moz-column-gap:.6rem;column-gap:.6rem;min-height:38px}.onepage-grid>label>input[type=text],.onepage-grid>label>select{width:100%;min-width:0}.onepage-grid>label>input[type=checkbox]{justify-self:start;width:17px;height:17px;margin:0}.field-danger{color:#b91c1c;font-weight:600}.onepage-checklist{list-style:none;padding:0;margin:0;display:grid;gap:.32rem}.onepage-checklist label{display:flex;gap:.55rem;align-items:flex-start}.onepage-checklist input[type=checkbox]{margin-top:.2rem}.rf-warning{margin:0 0 .6rem;color:#c0392b;font-style:italic;font-size:.82rem}.rf-hard{color:#b3261e}.score-pts{color:var(--op-muted);font-weight:700}.onepage-scorebox{background:var(--op-mint);border:1px solid var(--op-mint-border);border-radius:8px;padding:.6rem .85rem;margin-top:.7rem}.onepage-total{margin:0 0 .4rem;font-weight:700;color:var(--op-navy)}.scorebox-thresholds{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}.scorebox-thresholds li{padding:.1rem .3rem;border-radius:4px}.th-active{background:#c7ebdf;font-weight:600}.onepage-duration{margin:0 0 .6rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center}.duration-opt{display:inline-flex;gap:.35rem;align-items:center;font-weight:400}.diff-title{font-weight:700;margin:0 0 .4rem}.diff-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.diff-table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:460px}.diff-table th,.diff-table td{border:1px solid var(--op-border);padding:.4rem .5rem;text-align:left;vertical-align:top}.diff-table thead th{background:var(--op-mint);color:var(--op-navy)}.diff-table tbody th[scope=row]{background:#faf8f3;font-weight:700;white-space:nowrap}.diff-col-check{display:inline-flex;gap:.35rem;align-items:baseline;font-weight:700}.diff-col-sub{display:block;font-weight:400;color:var(--op-muted);font-size:.78rem;margin-top:.15rem}.weber-block{margin-top:.7rem}.weber-title{font-weight:700;margin:0 0 .35rem}.therapy-group{margin-bottom:.7rem}.therapy-group-title{font-weight:700;margin:0 0 .35rem;color:var(--op-navy)}.therapy-detail{color:#374151;font-style:italic;font-weight:400}.therapy-note{font-size:.83rem;color:#b45309;font-style:italic;margin:.2rem 0 0}.therapy-followup{margin:.5rem 0 0;font-size:.86rem}.onepage-therapy{margin-bottom:.7rem;padding-bottom:.5rem;border-bottom:1px dashed var(--op-border)}.onepage-therapy:last-child{border-bottom:0}.therapy-summary{margin:0 0 .35rem;font-weight:600}.therapy-otc{padding:.15rem 0}.otc-warn{color:#b91c1c}.otc-warn-tag{font-weight:700}.therapy-nonpharma,.therapy-return{font-size:.83rem;color:#374151;margin:.15rem 0}.onepage-disposition{display:grid;gap:.4rem;margin-bottom:.85rem}.onepage-disposition>label{display:flex;align-items:center;gap:.55rem}.onepage-disposition input[type=radio]{flex:0 0 auto;margin:0}.disp-reason{display:flex;gap:.4rem;align-items:baseline}.disp-reason input{flex:1}.onepage-signatures{display:flex;justify-content:space-between;gap:2rem;margin:1.1rem 0 .4rem}.onepage-disclaimer{font-size:.74rem;color:var(--op-muted);font-style:italic;margin:.4rem 0 0}.onepage-footer{margin-top:1rem;padding-top:.6rem;text-align:center;font-size:.72rem;color:var(--op-muted);border-top:1px solid var(--op-border)}@media (max-width: 680px){.onepage{padding:.85rem;font-size:.95rem}.onepage-banner h2{font-size:.95rem;letter-spacing:.03em}.meta-field{grid-template-columns:104px 1fr}.onepage-grid{grid-template-columns:1fr;gap:.6rem}.onepage-grid>label{grid-template-columns:1fr;align-items:stretch;row-gap:.25rem;min-height:0}.onepage-grid>label:has(>input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;-moz-column-gap:.6rem;column-gap:.6rem}.onepage-grid>label>input[type=checkbox]{flex:0 0 auto;width:22px;height:22px}.onepage input[type=text],.onepage select{padding:.6rem .7rem;font-size:1rem}.onepage-checklist input[type=checkbox]{width:20px;height:20px}.onepage-checklist label{gap:.7rem}.onepage-signatures{flex-direction:column;gap:1.5rem}.onepage-print-btn{width:100%;padding:.75rem;font-size:1rem}}@media print{@page{size:A4;margin:11mm}html,body{background:#fff}.onepage,.onepage *{-webkit-print-color-adjust:exact;print-color-adjust:exact}body *{visibility:hidden}.onepage,.onepage *{visibility:visible}.onepage{position:absolute;top:0;right:0;bottom:0;left:0;max-width:none;margin:0;padding:0;background:#fff;font-size:9.7pt;line-height:1.4;color:#111;text-rendering:geometricPrecision}.no-print{display:none!important}.onepage h2,.onepage h3{color:#233149}.onepage p,.onepage li{orphans:3;widows:3}.onepage-section{box-shadow:none;border:1px solid #d4cdbf;padding:.55rem .8rem;margin:.5rem 0;-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}.onepage-section h3{-moz-column-break-after:avoid;break-after:avoid;page-break-after:avoid}.onepage-banner{border-radius:6px;padding:.6rem 1rem}.onepage-banner h2{font-size:13pt}.onepage-meta{margin-bottom:.7rem;padding-bottom:.35rem}.onepage-banner,.onepage-stop,.onepage-scorebox,.sec-dot,.th-active{-webkit-print-color-adjust:exact;print-color-adjust:exact}.onepage-grid{gap:.32rem 1.3rem}.onepage-grid>label{grid-template-columns:108px 1fr;min-height:0}.onepage input[type=text],.onepage select{border:0!important;border-bottom:.6pt solid #555!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0 .15rem!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.onepage-footer{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#102018;background:radial-gradient(circle at top left,rgba(153,197,163,.35),transparent 32%),linear-gradient(180deg,#f4f1e8,#eef3eb);line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}a{color:inherit}button{border:0;border-radius:999px;padding:.8rem 1.2rem;background:#173f2f;color:#fffdf8;font-weight:700;cursor:pointer}button.secondary{background:#d6e4d1;color:#173f2f}select,input{border:1px solid rgba(23,63,47,.16);border-radius:.9rem;padding:.8rem 1rem;background:#fffdf8;color:#173f2f}textarea{border:1px solid rgba(23,63,47,.16);border-radius:.9rem;padding:.8rem 1rem;background:#fffdf8;color:#173f2f;font:inherit}.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh;position:relative}.sidebar{padding:2rem 1.25rem;border-right:1px solid rgba(23,63,47,.12);background:#fffcf4b3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:1rem;z-index:30}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.sidebar-close,.mobile-topbar,.mobile-nav-backdrop,.mobile-only{display:none}.brand{display:flex;gap:.9rem;align-items:center;margin-bottom:1rem;min-width:0}.brand h1,.page-header h2,.card h3{margin:0}.brand p,.page-description,.card p{margin:0;color:#4f665c}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:1rem;background:#173f2f;color:#fff;font-weight:800}.nav{display:grid;gap:.2rem;min-width:0}.nav-link{display:block;padding:.55rem 1rem;border-radius:.9rem;color:#234234;text-decoration:none;font-weight:700}.nav-link.active{background:#173f2f;color:#fffdf8}.content{padding:2rem;min-width:0}.page{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}.page-header{display:flex;align-items:end;justify-content:space-between;gap:1rem}.page-header-copy{display:grid;gap:.2rem;min-width:0}.eyebrow{margin:0 0 .2rem;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;color:#6f816f}.grid.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.grid.cards.two-columns{grid-template-columns:minmax(280px,380px) 1fr}.grid.cards.schedule-layout{grid-template-columns:220px minmax(0,1fr) 210px}.card{padding:1.25rem;border-radius:1.25rem;background:#ffffffb3;border:1px solid rgba(23,63,47,.1);box-shadow:0 16px 40px #173f2f14}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.8rem .5rem;border-bottom:1px solid rgba(23,63,47,.1)}.toolbar{display:flex;gap:.75rem;margin-bottom:1rem;align-items:end;justify-content:space-between;flex-wrap:wrap}.field{display:grid;gap:.35rem}.form-grid{display:grid;gap:1rem}.desktop-only{display:block}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll .table{min-width:640px}.mobile-card-list{display:none}.mobile-card{display:grid;gap:.85rem;padding:1rem;border-radius:1rem;border:1px solid rgba(23,63,47,.12);background:#ffffffd1}.mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.mobile-card-title{margin:0;font-size:1rem;color:#173f2f}.mobile-card-subtitle{margin:.2rem 0 0;font-size:.82rem;color:#6b7f72}.mobile-card-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.mobile-card-field{display:grid;gap:.15rem}.mobile-card-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7f72}.mobile-card-value{font-size:.92rem;color:#173f2f;word-break:break-word}.mobile-card-actions{display:flex;gap:.6rem;flex-wrap:wrap}.mobile-card-actions>*{min-width:0}.mobile-card-note{margin:0;font-size:.82rem;color:#6b7f72}.pill-badge{display:inline-flex;align-items:center;padding:.28rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600}.pill-badge.success{background:#e6f2ec;color:#2d7a4f;border:1px solid #2d7a4f}.pill-badge.warning{background:#fff7e8;color:#9a6700;border:1px solid #e6c075}.pill-badge.neutral{background:#eef3ec;color:#496053;border:1px solid rgba(23,63,47,.14)}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:700;color:#fff}.dashboard-week-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:.75rem;min-width:900px}.dashboard-week-day{display:grid;gap:.6rem;min-width:120px}.dashboard-mobile-stack{display:none}.dashboard-mobile-section{gap:1rem}.dashboard-mobile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.dashboard-mobile-plan-list,.dashboard-mobile-week-list{display:grid;gap:.75rem}.training-layout{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,1fr);gap:1rem;align-items:start}.training-course-list{padding:0;overflow:hidden}.training-course-list-meta{padding:.5rem 1rem;background:var(--surface-2, #f4f4f4);border-bottom:1px solid var(--border, #e0e8e0);font-size:.75rem;font-weight:700;color:var(--text-muted, #6f816f);text-transform:uppercase}.training-course-item{padding:.75rem 1rem;cursor:pointer;border-left:3px solid transparent;border-bottom:1px solid var(--border-light, #f0f4f0)}.training-course-item.active{border-left-color:var(--accent, #2d5a2d);background:var(--surface-selected, #e8f0e8)}.training-course-item-title{font-weight:600;font-size:.9rem;color:#173f2f}.training-course-item-meta{font-size:.78rem;color:var(--text-muted, #6f816f);margin-top:.15rem}.training-course-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.training-course-actions,.stack-actions{display:flex;gap:.5rem;flex-wrap:wrap}.training-participants{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.training-participant{border-radius:12px;padding:3px 10px;font-size:.8rem;display:inline-flex;align-items:center;gap:6px}.training-participant button{background:none;border:none;cursor:pointer;color:var(--text-muted, #6f816f);padding:0;line-height:1}.training-add-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem}.training-add-row select{flex:1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:2000}.modal-dialog{width:min(100%,580px);max-height:min(90vh,820px);overflow-y:auto;background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 8px 32px #0000002e}.modal-dialog-sm{width:min(100%,440px)}.modal-dialog-lg{width:min(100%,640px)}.modal-title{margin:0 0 .5rem;font-size:1rem;color:#173f2f}.modal-message,.modal-footer-note,.modal-meta{color:#555;font-size:.875rem}.modal-message{margin:0 0 1rem;line-height:1.5}.modal-meta{margin:0 0 .75rem}.modal-error{color:#c0392b}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap;margin-top:1rem}.modal-footer-note{margin:.75rem 0 0;font-size:.78rem}.modal-table th,.modal-table td{font-size:.875rem}.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.center-card{width:min(100%,460px);text-align:center}.checkbox-row{display:flex;align-items:center;gap:.6rem;color:#355445;font-weight:700}.checkbox-row input{width:1.05rem;height:1.05rem;accent-color:#173f2f}.field span{font-size:.9rem;font-weight:700;color:#355445}.schedule-list{display:grid;gap:.75rem}.table-actions{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;font-size:.78rem;font-weight:700}.status-badge.active{background:#e6f4e8;color:#20603a}.status-badge.inactive{background:#f3ebe6;color:#7d4c2e}.schedule-list.compact{margin-top:1rem}.section-gap{margin-top:1.5rem}.schedule-select{display:grid;gap:.2rem;text-align:left;padding:1rem;border-radius:1rem;background:#f7faf6;color:#173f2f}.schedule-select.active{background:#173f2f;color:#fffdf8}.schedule-item{display:grid;grid-template-columns:1.2fr 1.8fr;gap:1rem;padding:.95rem 1rem;border-radius:1rem;background:#f8fbf7}.schedule-item.scoperto{background:#fff0e3;color:#8a3d16}.schedule-warning{display:grid;gap:.5rem;margin:1rem 0;padding:1rem;border-radius:1rem;background:#fff0e3;color:#8a3d16}.calendar-board{display:grid;gap:.75rem}.calendar-header,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}.calendar-header-cell{padding:.5rem .2rem;text-align:center;font-size:.85rem;font-weight:700;color:#587062}.calendar-footer{margin-top:.2rem}.schedule-range{margin:.25rem 0 .6rem;font-size:.82rem;color:#587062;font-weight:600}.calendar-cell{min-height:145px;padding:.7rem;border-radius:1rem;background:#f8fbf7;border:1px solid rgba(23,63,47,.08);display:grid;gap:.55rem}.calendar-cell.empty{background:transparent;border-style:dashed;border-color:#173f2f14}.calendar-cell.out-of-month{opacity:.45;background:#173f2f08}.calendar-cell-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.calendar-cell-head span{font-size:inherit;font-weight:700;color:inherit}.calendar-cell-body{display:grid;gap:.35rem;align-content:start}.calendar-slot{display:grid;gap:.5rem;padding:.65rem .75rem;border-radius:.85rem;background:#eaf3e8;color:#173f2f;min-height:92px;border:1px dashed rgba(23,63,47,.15)}.calendar-slot.warning{background:#fff0e3;color:#8a3d16}.calendar-slot-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.calendar-slot-head span{font-size:.78rem}.calendar-people{display:flex;flex-wrap:wrap;gap:.35rem}.calendar-person{display:inline-flex;align-items:center;justify-content:space-between;position:relative;gap:.35rem;padding:.3rem .5rem;border-radius:999px;background:#173f2f1f;font-size:.76rem;font-weight:700;border:1px solid rgba(23,63,47,.08);width:100%;flex-wrap:nowrap;white-space:nowrap}.calendar-person.pharmacist{background:#e6f2ec;color:#2d7a4f;border-color:#2d7a4f}.calendar-person.operator{background:#f0f6ef;color:#173f2f;border-color:#173f2f26}.calendar-person.manual{box-shadow:inset 0 0 0 2px #173f2f1f}.calendar-person.is-substitute{background:#dceeff;color:#0c3f73;border-color:#8fbbe8}.calendar-person.is-absence{background:#fde2e2;color:#8a1a1a;border-color:#e8a1a1}.calendar-person-absence-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 3px;border-radius:999px;background:#d84343;border:1px solid #e8a1a1;font-size:.6rem;font-weight:700;color:#fff;line-height:1;letter-spacing:0}.calendar-person-absence-badge.absence-vacation{background:#27ae60}.calendar-person-absence-badge.absence-sick{background:#e67e22}.calendar-person-absence-badge.absence-toppharm{background:#e74c3c}.calendar-person-absence-badge.absence-medinform{background:#2980b9}.calendar-person-absence-badge.absence-birthday{background:#16a085}.calendar-person-absence-badge.absence-school{background:#6366f1;color:#fff}.calendar-person-absence-badge.absence-overtime{background:#2ecc71;color:#fff}.calendar-person span{white-space:nowrap}.calendar-note-badge{display:grid;gap:.15rem;padding:.45rem .6rem;border-radius:.9rem;background:#fff3bf;border:1px solid #e7c75f;color:#725200;box-shadow:inset 0 0 0 1px #ffffff4d}.calendar-note-badge strong{font-size:.66rem;line-height:1.1;text-transform:uppercase;letter-spacing:.04em}.calendar-note-badge span{display:-webkit-box;overflow:hidden;font-size:.72rem;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:3}.dashboard-notes-list{display:grid;gap:.6rem}.dashboard-note-badge{min-height:0}.dashboard-note-badge span{-webkit-line-clamp:unset}.dashboard-notes-empty{margin:0;color:#6b7f72}.calendar-tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%) translateY(4px);display:grid;gap:.2rem;min-width:180px;padding:.65rem .8rem;border-radius:.8rem;background:#16392c;color:#fffdf8;box-shadow:0 14px 32px #10201838;opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease;z-index:20}.calendar-tooltip strong,.calendar-tooltip span{white-space:normal}.calendar-tooltip strong{font-size:.82rem}.calendar-tooltip span{font-size:.74rem;color:#fffdf8d1}.calendar-person:hover .calendar-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.person-remove{padding:.1rem .4rem;background:#173f2f1f;color:inherit;border-radius:999px;line-height:1}.employee-pool{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.75rem}.employee-pool.sidebar-pool{align-content:start}.employee-chip{display:inline-flex;align-items:center;justify-content:center;position:relative;padding:.3rem .5rem;background:#f0f6ef;color:#173f2f;border:1px solid rgba(23,63,47,.08);border-radius:999px;font-size:.76rem;font-weight:700;cursor:grab;white-space:nowrap}.employee-chip:hover .calendar-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.employee-chip.role-pharmacist{background:#e6f2ec;color:#2d7a4f;border-color:#2d7a4f}.employee-chip.role-pha,.employee-chip.role-apprentice_pha,.employee-chip.role-driver,.employee-chip.role-auxiliary{background:#f0f6ef;color:#173f2f;border-color:#173f2f26}.schedule-main-card{overflow:hidden}.schedule-error{color:#8a3d16;background:#fff0e3;padding:.8rem 1rem;border-radius:.8rem;margin-bottom:1rem}.schedule-week-list{display:flex;flex-direction:column;gap:.3rem;margin-top:.8rem}.schedule-week-item{display:flex;align-items:center;gap:.6rem;width:100%;background:none;border:1px solid transparent;border-radius:.6rem;padding:.45rem .7rem;cursor:pointer;text-align:left;font-size:.85rem;color:var(--text-secondary, #4a5568);transition:background .15s,border-color .15s}.schedule-week-item:hover{background:var(--surface-hover, #f0f4f2);border-color:var(--border, #d1dcd6)}.schedule-week-item.active{background:var(--accent-light, #e6f2ec);border-color:var(--accent, #2d7a4f);color:var(--accent, #2d7a4f);font-weight:600}.schedule-week-kw{font-weight:600;min-width:2.8rem}.schedule-week-range{opacity:.75;font-size:.78rem}.mini-muted{color:#8ea095;font-size:.85rem}.availability-table td,.availability-table th{vertical-align:top}.availability-table th:not(:first-child),.availability-table td:not(:first-child){text-align:center}.rules-table input{width:100%;min-width:88px}.availability-toggle{display:grid;gap:.35rem}.availability-toggle input{width:1.1rem;height:1.1rem;accent-color:#173f2f}.availability-toggle span{font-size:.88rem;color:#496053}.unavailable-cell{color:#91a197}.availability-table input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:#173f2f}.availability-cell{display:grid;gap:.4rem;justify-items:stretch;align-content:start;position:relative;min-width:0}.availability-active{display:inline-flex;align-items:center;justify-content:center}.availability-inline-row{display:grid;align-items:center;justify-items:center;gap:.45rem;min-width:0;width:100%;margin:0}.availability-special{display:grid;gap:.35rem;justify-items:center;width:100%}.availability-special-inline{display:grid;align-items:center;justify-items:center;gap:.35rem;width:100%}.availability-note-btn{border-radius:.7rem;padding:.28rem .55rem;font-size:.78rem;font-weight:600;width:-moz-fit-content;width:fit-content;justify-self:center;white-space:nowrap}.availability-note-text{border:1px solid rgba(23,63,47,.16);border-radius:.7rem;padding:.5rem .6rem;font-size:.82rem;resize:vertical;min-height:4.4rem;color:#173f2f;background:#fffdf8}.availability-note-pop{display:grid;gap:.45rem;position:absolute;top:calc(100% + .35rem);left:50%;z-index:20;transform:translate(-50%);width:min(260px,calc(100vw - 3rem));padding:.45rem;border:1px solid rgba(23,63,47,.16);border-radius:.75rem;background:#fbfdf9;box-shadow:0 8px 20px #173f2f1a}.availability-note-actions{display:flex;gap:.35rem;justify-content:center;flex-wrap:wrap}.availability-note-save,.availability-note-cancel{border-radius:.6rem;padding:.35rem .6rem;font-size:.78rem;font-weight:600}.availability-note-preview{font-size:.8rem;color:#355445;line-height:1.35;background:#f3f8f2;border:1px solid rgba(23,63,47,.12);border-radius:.65rem;padding:.35rem .45rem;white-space:pre-wrap}.availability-note-preview-wrap{display:grid;gap:.35rem;justify-items:stretch;width:100%}.availability-note-inline-actions{display:flex;gap:.35rem;justify-content:center;align-items:center;flex-wrap:wrap;min-width:0}.availability-note-inline-btn{border-radius:.55rem;padding:.28rem .5rem;font-size:.75rem;font-weight:600;white-space:nowrap}.availability-note-inline-btn.danger{background:#fbe9e6;color:#8a2f22}@media (max-width: 900px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(84vw,320px);max-width:320px;border-right:1px solid rgba(23,63,47,.12);border-bottom:0;transform:translate(-100%);transition:transform .18s ease;overflow-y:auto;box-shadow:0 20px 48px #1020182e}.sidebar.open{transform:translate(0)}.sidebar-close{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:transparent;color:#173f2f;border:1px solid rgba(23,63,47,.12)}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#10201847;border:0;padding:0;opacity:0;pointer-events:none;transition:opacity .18s ease}.mobile-nav-backdrop.visible{opacity:1;pointer-events:auto}.mobile-topbar{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem;min-height:3.5rem}.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;padding:0;font-size:1.3rem}.mobile-topbar-brand{display:flex;align-items:center;gap:.75rem;min-width:0}.mobile-topbar-brand .brand-mark{width:2.8rem;height:2.8rem;border-radius:.95rem;flex-shrink:0}.mobile-topbar-brand div{display:grid;min-width:0}.mobile-topbar-brand strong{color:#173f2f;font-size:1.05rem}.mobile-topbar-brand span{color:#6b7f72;font-size:.84rem}.content{padding:1rem}.page-header{align-items:start;flex-direction:column}.desktop-only{display:none}.mobile-only{display:block}.toolbar{align-items:stretch}.toolbar>*{max-width:100%}.toolbar .field,.toolbar button,.toolbar a{width:100%}.calendar-header,.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cards.two-columns,.grid.cards.schedule-layout,.training-layout{grid-template-columns:1fr}.training-course-header,.training-course-actions,.stack-actions,.modal-actions,.mobile-card-actions{flex-direction:column}.training-course-actions>*,.stack-actions>*,.modal-actions>*,.mobile-card-actions>*{width:100%}.training-add-row{flex-direction:column;align-items:stretch}.table-scroll .table{min-width:560px}.dashboard-week-grid{min-width:760px}.auth-page{padding:1rem}}@media (max-width: 640px){button,select,input,textarea{width:100%}.card{padding:1rem;border-radius:1rem}.page{gap:1rem}.grid.cards{grid-template-columns:1fr}.auth-card{padding:1.25rem}.auth-tabs{flex-direction:column}.dashboard-mobile-stack{display:grid;gap:1rem}.table-responsive-desktop{display:none}.mobile-card-list{display:grid;gap:.85rem}.table-scroll.mobile-table-scroll{margin-inline:-.15rem}.dashboard-week-grid{grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);min-width:auto}.dashboard-week-day{min-width:170px}.modal-dialog{padding:1rem;border-radius:.9rem}.availability-note-pop{left:0;transform:none;width:min(260px,calc(100vw - 4rem))}.center-page{padding:1rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,rgba(153,197,163,.35),transparent 32%),linear-gradient(180deg,#f4f1e8,#eef3eb);padding:2rem}.auth-card{width:100%;max-width:380px;padding:2rem;border-radius:1.25rem;background:#ffffffd9;border:1px solid rgba(23,63,47,.1);box-shadow:0 16px 40px #173f2f1a}.auth-brand{text-align:center;margin-bottom:1.5rem}.auth-brand h1{font-size:1.4rem;margin:0 0 .25rem;color:#173f2f}.auth-brand p{font-size:.85rem;color:#4f665c;margin:0}.auth-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.auth-tab{flex:1;padding:.6rem;border-radius:.75rem;background:transparent;color:#4f665c;font-weight:600;font-size:.9rem;cursor:pointer;border:1px solid transparent;transition:all .15s}.auth-tab.active{background:#173f2f;color:#fffdf8}.auth-error{padding:.75rem 1rem;border-radius:.75rem;background:#fff0e3;color:#8a3d16;font-size:.875rem;margin-bottom:1rem}.sidebar-footer{margin-top:auto;padding-top:1rem}.sidebar-credit{padding:.75rem 1.25rem;font-size:.75rem;color:#8ea095;border-top:1px solid rgba(23,63,47,.08)}.sidebar-credit a{color:#8ea095;text-decoration:none;transition:color .15s}.sidebar-credit a:hover{color:#173f2f}.lang-switcher{display:flex;align-items:center;gap:.5rem;background:transparent;color:#355445;padding:.5rem .75rem;border-radius:.75rem;font-size:.85rem;cursor:pointer;border:1px solid rgba(23,63,47,.12);width:100%}.user-info{font-size:.78rem;color:#4f665c;padding:.4rem .75rem;margin-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.piano-table-wrapper{overflow:hidden;max-height:none}.piano-layout{grid-template-columns:1fr;gap:.65rem}.piano-side-panel{align-content:start;display:grid;gap:.75rem;max-width:none;padding:.75rem}.piano-side-list{display:grid;gap:.55rem}.piano-kpi-line{margin-top:.65rem;display:flex;flex-wrap:wrap;gap:.9rem;font-size:.78rem;color:#496053}.piano-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:clamp(.58rem,.6vw,.72rem);white-space:normal}.piano-table th,.piano-table td{border:1px solid #d8e6d8;padding:1px 2px;text-align:center;vertical-align:middle}.piano-th-fixed,.piano-td-fixed{position:sticky;background:#f8faf8;z-index:2;text-align:left}.piano-th-kw,.piano-td-kw{left:0;min-width:1.7rem;width:1.7rem}.piano-th-date,.piano-td-date{left:1.7rem;min-width:3rem;width:3rem}.piano-th-day,.piano-td-weekday{left:4.7rem;min-width:1.7rem;width:1.7rem}thead .piano-th-fixed{z-index:3}.piano-td-kw{font-weight:600;color:#496053}.piano-td-weekday{color:#6f816f}.piano-th-emp{font-weight:600;min-width:0;width:auto;font-size:.66rem}.piano-th-emp.piano-role-pharmacist{background:#e0ede0;color:#173f2f}.piano-th-emp.piano-role-pha,.piano-th-emp.piano-role-apprentice_pha,.piano-th-emp.piano-role-driver,.piano-th-emp.piano-role-auxiliary{background:#e6eef9;color:#174066}.piano-th-summary,.piano-td-summary{background:#f0f8f0;font-weight:600;min-width:0;width:auto;font-size:.66rem}.piano-row-total td{background:#e9f3e9;font-weight:700;border-top:2px solid #c5d8c5}.piano-cell{min-width:0;width:auto;min-height:1.45rem;font-size:.62rem;font-weight:600}.piano-cell-sunday,.piano-row-sunday td{background:#424242;color:#f0f0f0}.piano-cell{position:relative}.piano-cell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.piano-cell.piano-role-pharmacist:before{background:#a8d8a84d}.piano-cell.piano-role-pha:before{background:#b8d0ec59}.piano-cell.piano-role-apprentice_pha:before{background:#b8d0ec59}.piano-cell.piano-role-driver:before{background:#b8d0ec59}.piano-cell.piano-role-auxiliary:before{background:#b8d0ec59}.piano-cell>*{position:relative;z-index:1}.piano-cell-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem;padding:.08rem 0}.piano-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;padding:.06rem .24rem;border-radius:999px;border:1px solid rgba(0,0,0,.14);font-size:.6rem;font-weight:700;line-height:1.1}.piano-badge-absence{background:#f8d9d9;color:#6a1a1a}.piano-badge-empty{background:#f0f3ef;color:#7b8c80}.piano-coverage-ok{color:#2d6a2d}.piano-coverage-warn{background:#fde8a8;color:#7a4a00;font-weight:700}.piano-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.75rem;padding-top:.6rem;border-top:1px solid #e0e8e0;font-size:.76rem;color:#496053}.piano-legend-item{display:inline-flex;align-items:center;gap:.3rem}.piano-legend-item:before{content:"";display:inline-block;width:.9rem;height:.7rem;border-radius:2px;border:1px solid rgba(0,0,0,.15)}.piano-legend-vacation:before{background:#b8d4f0}.piano-legend-sick:before{background:#f0b8b8}.piano-legend-training:before{background:#f0d8b8}.piano-legend-empty:before{background:#f0f3ef}.piano-issue-item,.piano-suggestion-item{display:grid;gap:.25rem;padding:.55rem .65rem;border-radius:.6rem;border:1px solid rgba(23,63,47,.12)}.piano-issue-item.critical{background:#fff0e3;border-color:#8a3d1633}.piano-issue-item.warning{background:#fff8df;border-color:#7a4a0033}.piano-suggestion-item{background:#f5faf4}@media (max-width: 1100px){.piano-layout{grid-template-columns:1fr}}.shift-cell{display:inline-block;padding:2px 6px;margin:1px;border-radius:4px;background:var(--color-sage-100, #e7efe5);font-size:.85rem}.coverage-badges{display:flex;gap:.25rem;flex-wrap:wrap;margin-top:.25rem}.coverage-badge{display:inline-block;padding:1px 5px;border-radius:4px;font-size:.7rem;font-weight:600;background:#fde2e2;color:#8a1a1a;border:1px solid #e8a1a1}.day-has-critical{border-left:3px solid #c43030!important;background:#fff6f6}.shift-cell.is-conflict{background:#fde2e2;color:#8a1a1a}.shift-cell.is-substitute{background:#dceeff;color:#0c3f73;border:1px solid #8fbbe8}.shift-cell.is-absence{background:#fde2e2;color:#8a1a1a}.shift-cell.is-generated{opacity:.9}.shift-cell.is-present-partial{background:#c8ecd0;color:#1a5c2e;border:1px solid #7ecb96}.plan-cell-stack{display:inline-flex;align-items:center;justify-content:center;gap:4px}.plan-absence-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:1px 5px;border-radius:999px;font-size:.68rem;font-weight:700;background:#fde2e2;color:#8a1a1a;border:1px solid #e8a1a1}.plan-absence-badge.absence-vacation{background:#d4edda;color:#155724;border-color:#27ae60}.plan-absence-badge.absence-sick{background:#fde3c0;color:#7a3e00;border-color:#e67e22}.plan-absence-badge.absence-toppharm{background:#fcd5d5;color:#7a0000;border-color:#e74c3c}.plan-absence-badge.absence-medinform{background:#d0e8f7;color:#0a3a6e;border-color:#2980b9}.plan-absence-badge.absence-birthday{background:#d4f0eb;color:#0b4136;border-color:#16a085}.plan-absence-badge.absence-school{background:#6366f1;color:#fff;border-color:#4f46e5}.plan-absence-badge.absence-overtime{background:#d4f5e3;color:#0b5c2e;border-color:#2ecc71}.plan-absence-period{font-size:.65em;opacity:.85;margin-left:1px;vertical-align:super;line-height:1}.plan-lock-banner{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;color:#92400e;font-weight:600;padding:.5rem 1rem;margin-bottom:.75rem}.plan-top-scrollbar{overflow-x:scroll;overflow-y:hidden;height:12px;position:sticky;top:0;z-index:10;width:100%}.plan-top-scrollbar::-webkit-scrollbar{height:8px}.plan-top-scrollbar::-webkit-scrollbar-track{background:#eef3ec;border-radius:4px}.plan-top-scrollbar::-webkit-scrollbar-thumb{background:#8eb89e;border-radius:4px}.plan-top-scrollbar::-webkit-scrollbar-thumb:hover{background:#5a8a6e}.plan-grid-wrap{overflow-x:scroll;-webkit-overflow-scrolling:touch;width:100%;max-width:100%}.plan-grid-wrap::-webkit-scrollbar{height:8px}.plan-grid-wrap::-webkit-scrollbar-track{background:#eef3ec;border-radius:4px}.plan-grid-wrap::-webkit-scrollbar-thumb{background:#8eb89e;border-radius:4px}.plan-grid-wrap::-webkit-scrollbar-thumb:hover{background:#5a8a6e}.plan-grid{width:-moz-max-content;width:max-content;min-width:100%;border-collapse:collapse}.plan-grid th,.plan-grid td{border:1px solid #4a5a4a;padding:3px 6px;text-align:center;font-size:.82rem}.plan-grid .date-cell{text-align:left;white-space:nowrap;min-width:180px;font-weight:500;position:sticky;left:0;z-index:2;background:#fff}.plan-grid thead .date-cell,.plan-grid tfoot .date-cell{z-index:3;background:#f5f7f5}.plan-grid .weekend-row{background:#f1f5f1;color:#6b7a6b}.plan-grid .holiday-row,.plan-grid .holiday-row .date-cell,.plan-grid .holiday-row td{background:#8ec8a0;color:#1a5c2e}.plan-grid .school-holiday-row .date-cell{background:#d4ecda;color:#1a5c2e}.plan-grid .school-holiday-row.holiday-row{background:#80ba92;color:#1a5c2e}.plan-grid .school-holiday-row.holiday-row .date-cell{background:#72ac84;color:#1a5c2e}.plan-grid .school-holiday-row.holiday-row td{background:#80ba92;color:#1a5c2e}.holiday-label{margin-left:.3rem;font-size:.75rem;cursor:default}.calendar-cell.holiday-cell{background:#8ec8a0;color:#1a5c2e}.plan-grid .shift-cell{padding:1px 4px;border-radius:3px;display:inline-block;min-width:18px}.plan-grid .totals-cell{font-weight:600;background:#eef3ec}.plan-grid .notes-cell{text-align:left;min-width:180px;white-space:normal}.planning-note-preview-inline{margin-bottom:.3rem;font-size:.75rem;color:#496053;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.planning-note-input{width:100%;min-height:58px;resize:vertical;border:1px solid #d7dfd7;border-radius:8px;padding:.45rem .55rem;font:inherit;color:#173f2f;background:#fbfdfb}.planning-note-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.35rem}.planning-note-save{min-width:74px}.planning-note-trigger{min-width:64px;padding:.28rem .55rem;font-size:.74rem}.planning-note-trigger.has-content{background:#eaf3e8;color:#173f2f;border-color:#bfd3bb}.planning-note-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#10201859;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1200}.planning-note-modal{width:min(520px,100%);background:#fff;border:1px solid #d7dfd7;border-radius:16px;padding:1rem;box-shadow:0 16px 40px #1020182e}.planning-note-modal h3{margin:0 0 .8rem;color:#173f2f}.planning-note-auto-block{margin-bottom:.75rem;padding:.7rem .8rem;background:#f8fbf7;border:1px solid #e3eee1;border-radius:10px;text-align:left}.planning-note-auto-block strong{display:block;margin-bottom:.25rem}.planning-note-auto-block p{margin:0;color:#496053;line-height:1.45}.planning-print-page{min-height:100vh;padding:1rem;display:grid;gap:.75rem}.planning-print-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center}.planning-print-toolbar h1,.planning-print-notes h2{margin:0}.planning-print-toolbar p,.planning-print-header p{margin:.25rem 0 0;color:#4f665c}.planning-print-actions{display:flex;gap:.75rem}.planning-print-block,.planning-print-notes{padding:.45rem .55rem;border-radius:1rem;background:#ffffffd1;border:1px solid rgba(23,63,47,.1)}.planning-print-block-title{margin-bottom:.35rem;display:flex;justify-content:space-between;gap:1rem;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#587062}.planning-print-table,.planning-print-notes-table{table-layout:fixed}.planning-print-table th,.planning-print-table td,.planning-print-notes-table th,.planning-print-notes-table td{border:1px solid #4a5a4a;font-size:.6rem;padding:.08rem;line-height:1;vertical-align:middle}.planning-print-table .date-cell{min-width:56px;width:56px;font-size:.52rem}.planning-print-table .notes-cell{min-width:88px;width:88px}.planning-print-table .notes-cell:last-child{min-width:62px;width:62px}.planning-print-table .totals-cell{min-width:20px;width:20px;text-align:center}.planning-print-table th:not(.date-cell):not(.notes-cell):not(.totals-cell),.planning-print-table td:not(.date-cell):not(.notes-cell):not(.totals-cell){min-width:17px;width:17px;text-align:center;overflow:hidden}.planning-print-table .plan-cell-stack{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%}.planning-print-table .shift-cell,.planning-print-table .plan-absence-badge{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-width:0;margin:0;padding:0 2px;border-radius:3px;font-size:.54rem;line-height:1.15;white-space:nowrap}.planning-print-table .plan-absence-period{font-size:.62em;margin-left:0;vertical-align:baseline}.print-notes-cell{text-align:left!important;vertical-align:top!important;white-space:normal;font-size:.54rem;line-height:1.1;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}.planning-print-table .holiday-row td{background:#8ec8a0;color:#1a5c2e}.planning-print-table .school-holiday-row .date-cell{background:#d4ecda;color:#1a5c2e}.planning-print-table .school-holiday-row.holiday-row td{background:#80ba92;color:#1a5c2e}.planning-print-table .school-holiday-row.holiday-row .date-cell{background:#72ac84;color:#1a5c2e}.planning-print-notes-table th:first-child,.planning-print-notes-table td:first-child{width:190px}@page{size:A4 landscape;margin:6mm}@media print{body{background:#fff}.no-print{display:none!important}.planning-print-page{padding:0;gap:.25rem}.planning-print-block,.planning-print-notes{background:#fff;box-shadow:none;border:1px solid #d7dfd7;-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}.planning-print-sheet{transform:scale(.82);transform-origin:top left;width:calc(100% / .82)}.planning-print-table{margin:0}.planning-print-table th,.planning-print-table td,.planning-print-notes-table th,.planning-print-notes-table td{border:1px solid #333;font-size:.46rem;color:#000;padding:.04rem;line-height:1}.planning-print-table .notes-cell{width:64px;min-width:64px}.planning-print-table .notes-cell:last-child{width:45px;min-width:45px}.planning-print-table .date-cell{width:46px;min-width:46px;font-size:.42rem}.planning-print-table .totals-cell{width:16px;min-width:16px}.planning-print-table th:not(.date-cell):not(.notes-cell):not(.totals-cell),.planning-print-table td:not(.date-cell):not(.notes-cell):not(.totals-cell){width:14px;min-width:14px}.print-notes-cell{font-size:.42rem;line-height:1}.planning-print-table .holiday-row td{background:#8ec8a0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.planning-print-table .school-holiday-row .date-cell{background:#d4ecda!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.planning-print-table .school-holiday-row.holiday-row td{background:#80ba92!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.planning-print-table .school-holiday-row.holiday-row .date-cell{background:#72ac84!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.help-trigger{width:2rem;height:2rem;border-radius:50%;background:#d6e4d1;color:#173f2f;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0}.help-trigger:hover{background:#173f2f;color:#fffdf8}.page-header-actions{display:flex;align-items:center;gap:.75rem}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10201859;z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s ease}.help-overlay.visible{opacity:1;pointer-events:auto}.help-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;background:#fffdf8;z-index:1001;transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column;box-shadow:-4px 0 24px #1020181f}.help-drawer.open{transform:translate(0)}.help-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(23,63,47,.1)}.help-drawer-header h3{margin:0;font-size:1.25rem;color:#173f2f}.help-drawer-close{width:2rem;height:2rem;border-radius:50%;background:transparent;color:#173f2f;font-size:1.25rem;display:flex;align-items:center;justify-content:center;padding:0}.help-drawer-close:hover{background:#d6e4d1}.help-drawer-body{flex:1;overflow-y:auto;padding:1.5rem}.help-description{color:#4a5b51;margin-bottom:1.5rem;font-size:.95rem}.help-section{margin-bottom:1.25rem}.help-section h4{margin:0 0 .5rem;font-size:1rem;color:#173f2f}.help-section h5{margin:0 0 .25rem;font-size:.95rem;color:#173f2f}.help-section p{margin:0 0 .35rem;font-size:.9rem;color:#4a5b51;line-height:1.55}.help-screenshot{width:100%;margin-top:.5rem;border-radius:.75rem;border:1px solid rgba(23,63,47,.1)}.help-troubleshooting{margin-top:2rem;padding-top:1.25rem;border-top:2px solid rgba(23,63,47,.1)}.help-troubleshooting h4{color:#173f2f;margin-bottom:.75rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{background:#fff;border-radius:16px;padding:28px 24px;min-width:260px;max-width:340px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 32px #0000002e}.modal-card h3{margin:0;font-size:1rem;font-weight:700}.modal-period-buttons{display:flex;flex-direction:column;gap:8px}.launcher{min-height:100vh;padding:2rem clamp(1rem,4vw,3rem);display:flex;flex-direction:column;gap:2.5rem;max-width:1200px;margin:0 auto}.launcher-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.launcher-brand{display:flex;align-items:center;gap:.85rem}.launcher-brand h1{margin:0;font-size:1.4rem;color:#173f2f}.launcher-brand p{margin:0;color:#6f816f;font-size:.9rem}.launcher-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.launcher-user{font-size:.85rem;color:#6f816f}.launcher-hero{margin-top:1rem}.launcher-hero h2{margin:0 0 .5rem;font-size:clamp(1.8rem,3.5vw,2.6rem);color:#102018}.launcher-hero-subtitle{margin:0;color:#4f6359;font-size:1.05rem}.launcher-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.launcher-card{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;padding:1.75rem;border-radius:1.5rem;background:#ffffffd9;border:1px solid rgba(23,63,47,.1);box-shadow:0 20px 50px #173f2f1a;text-align:left;cursor:pointer;color:#173f2f;font:inherit;font-weight:400;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.launcher-card:hover{transform:translateY(-3px);box-shadow:0 28px 60px #173f2f24;border-color:#173f2f38}.launcher-card-mark{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:1rem;background:#173f2f;color:#fff;font-weight:800;font-size:1.05rem}.launcher-card h3{margin:0;font-size:1.35rem;color:#173f2f}.launcher-card p{margin:0;color:#4f6359;font-size:.95rem;line-height:1.45}.launcher-card-cta{margin-top:auto;padding-top:.5rem;font-weight:700;color:#173f2f}.launcher-card-badge{margin-top:auto;padding-top:.5rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6366f1}.launcher-card[aria-disabled=true]{cursor:default;opacity:.7}.launcher-card[aria-disabled=true]:hover{transform:none;box-shadow:0 20px 50px #173f2f1a;border-color:#173f2f1a}.launcher-credit{margin-top:auto;text-align:center;font-size:.85rem;color:#6f816f}.launcher-credit a{color:inherit;text-decoration:none}.launcher-credit a:hover{color:#173f2f}.standalone-app{min-height:100vh;display:flex;flex-direction:column}.standalone-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,2rem);border-bottom:1px solid rgba(23,63,47,.1);background:#fffcf4d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.standalone-topbar-brand{display:flex;align-items:center;gap:.6rem;color:#173f2f}.standalone-topbar-brand .brand-mark{width:2.25rem;height:2.25rem;font-size:.85rem;border-radius:.75rem}.standalone-content{padding:2rem clamp(1rem,4vw,3rem);flex:1;max-width:1400px;width:100%;margin:0 auto}.back-to-launcher{background:transparent;color:#173f2f;font-weight:700;padding:.45rem .85rem;border-radius:.75rem;border:1px solid rgba(23,63,47,.18);font-size:.9rem}.back-to-launcher:hover{background:#173f2f0f}.app-topbar{display:flex;justify-content:flex-start;margin-bottom:1rem}@media (max-width: 768px){.app-topbar{display:none}}.vax-layout{display:flex;gap:2rem;min-height:calc(100vh - 100px)}.vax-sidebar{width:420px;min-width:420px;background:var(--color-surface, #fff);border-right:1px solid var(--color-border, #e2e8f0);padding:1.5rem;overflow-y:auto;max-height:calc(100vh - 80px);position:sticky;top:0}.vax-main{flex:1;padding:1rem 0;overflow-y:auto}.vax-header{margin-bottom:1.5rem}.vax-header h1{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:700}.vax-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;color:var(--color-text-muted, #64748b)}.vax-spinner{width:36px;height:36px;border:3px solid var(--color-border, #e2e8f0);border-top-color:var(--color-primary, #0066cc);border-radius:50%;animation:vax-spin .8s linear infinite}@keyframes vax-spin{to{transform:rotate(360deg)}}.vax-form-group{margin-bottom:1rem}.vax-form-label{display:block;font-size:.8125rem;font-weight:600;color:var(--color-text-muted, #64748b);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.vax-form-input,.vax-form-select,.vax-form-textarea{width:100%;padding:.625rem .75rem;font-size:.9375rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius, 8px);background:var(--color-surface, #fff);color:var(--color-text, #1e293b);transition:border-color .15s;font-family:inherit}.vax-form-input:focus,.vax-form-select:focus,.vax-form-textarea:focus{outline:none;border-color:var(--color-primary, #0066cc);box-shadow:0 0 0 3px #0066cc26}.vax-form-textarea{resize:vertical;min-height:80px}.vax-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius, 8px);padding:1.25rem;margin-bottom:.75rem;box-shadow:0 1px 3px #00000014}.vax-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.vax-metric-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius, 8px);padding:1.25rem;text-align:center;box-shadow:0 1px 3px #00000014}.vax-metric-value{font-size:2rem;font-weight:700;line-height:1.2}.vax-metric-label{font-size:.8125rem;color:var(--color-text-muted, #64748b);margin-top:.25rem}.vax-categoria-section{margin-bottom:1.5rem}.vax-categoria-section h3{font-size:1.125rem;font-weight:700;margin-bottom:.75rem}.vax-vaccino-card{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.vax-vaccino-card .vax-info{flex:1}.vax-vaccino-card .vax-info .vax-nome{font-weight:700;font-size:.9375rem}.vax-vaccino-card .vax-info .vax-descrizione{font-size:.8125rem;color:var(--color-text-muted, #64748b);margin-top:.25rem}.vax-vaccino-card .vax-dose{text-align:right;min-width:140px}.vax-vaccino-card .vax-dose .vax-dose-numero{font-weight:700;font-size:.9375rem}.vax-vaccino-card .vax-dose .vax-dose-data{font-size:.8125rem}.vax-badge{display:inline-block;padding:.25rem .625rem;font-size:.75rem;font-weight:700;border-radius:9999px}.vax-badge-success{background:#f0fdf4;color:#16a34a}.vax-badge-danger{background:#fef2f2;color:#dc2626}.vax-badge-warning{background:#fff7ed;color:#ea580c}.vax-badge-info{background:#eff6ff;color:#2563eb}.vax-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;border:none;border-radius:var(--radius, 8px);cursor:pointer;transition:background .15s,opacity .15s;font-family:inherit}.vax-btn:disabled{opacity:.6;cursor:not-allowed}.vax-btn-primary{background:var(--color-primary, #0066cc);color:#fff}.vax-btn-primary:hover:not(:disabled){background:#0052a3}.vax-btn-block{width:100%}.vax-btn-danger{background:none;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius, 8px);padding:.25rem .5rem;font-size:.75rem;cursor:pointer;color:#dc2626;font-family:inherit}.vax-btn-danger:hover{background:#fef2f2}.vax-divider{border:none;border-top:1px solid var(--color-border, #e2e8f0);margin:1rem 0}.vax-error{margin-top:1rem;padding:.75rem;background:#fef2f2;color:#dc2626;border-radius:var(--radius, 8px);font-size:.875rem}.vax-storico-card{padding:.75rem;margin-bottom:.5rem}.vax-wizard-bar{display:flex;align-items:flex-start;margin-bottom:2rem}.vax-wizard-step{display:flex;flex-direction:column;align-items:center;gap:.375rem;flex-shrink:0}.vax-wizard-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;transition:background .2s,border-color .2s,color .2s}.vax-wizard-dot[data-state=done]{background:#16a34a;color:#fff}.vax-wizard-dot[data-state=active]{background:#173f2f;color:#fff}.vax-wizard-dot[data-state=todo]{background:transparent;color:#9ca3af;border:2px solid #d1d5db}.vax-wizard-label{font-size:.6875rem;font-weight:600;text-align:center;transition:color .2s}.vax-wizard-label[data-state=active]{color:#173f2f}.vax-wizard-label[data-state=done]{color:#16a34a}.vax-wizard-label[data-state=todo]{color:#9ca3af}.vax-wizard-line{flex:1;height:2px;margin:0 .5rem 1.4rem;transition:background .2s}.vax-wizard-line[data-done=true]{background:#173f2f}.vax-wizard-line[data-done=false]{background:#e5e7eb}.vax-wizard-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border, #e2e8f0);gap:.75rem}.vax-wizard-nav-right{margin-left:auto}.vax-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}.vax-summary-item{display:flex;flex-direction:column;gap:.125rem;padding:.75rem;background:var(--color-surface-alt, #f8f9fa);border-radius:var(--radius, 8px);border:1px solid var(--color-border, #e2e8f0)}.vax-summary-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #64748b)}.vax-summary-value{font-size:.9375rem;font-weight:600;color:var(--color-text, #1e293b)}@media (max-width: 480px){.vax-summary-grid{grid-template-columns:1fr}}@media (max-width: 1024px){.vax-layout{flex-direction:column}.vax-sidebar{width:100%;min-width:unset;max-height:unset;position:static;border-right:none;border-bottom:1px solid var(--color-border, #e2e8f0)}.vax-main{padding:1.25rem}.vax-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.vax-metrics-grid{grid-template-columns:1fr}.vax-vaccino-card{flex-direction:column}.vax-vaccino-card .vax-dose{text-align:left}}.triage-page{width:100%}.triage-page,.triage-page *{box-sizing:border-box}.triage-page{--triage-teal-50: #e1f5ee;--triage-teal-300: #5dcaa5;--triage-teal-600: #1d9e75;--triage-teal-700: #0f6e56;--triage-teal-900: #04342c;--triage-blue-50: #e6f1fb;--triage-blue-600: #185fa5;--triage-blue-800: #0c447c;--triage-amber-50: #faeeda;--triage-amber-600: #ba7517;--triage-amber-800: #633806;--triage-red-50: #fcebeb;--triage-red-300: #f09595;--triage-red-500: #e24b4a;--triage-red-700: #a32d2d;--triage-red-900: #791f1f;--triage-green-50: #eaf3de;--triage-green-700: #3b6d11;--triage-green-900: #27500a;--triage-gray-50: #f9fafb;--triage-gray-100: #f1efe8;--triage-gray-200: #e5e3db;--triage-gray-400: #888780;--triage-gray-600: #5f5e5a;--triage-gray-800: #2c2c2a;--triage-radius-sm: 6px;--triage-radius-md: 8px;--triage-radius-lg: 12px}.triage-container{max-width:760px;margin:0 auto;padding-bottom:2rem}.triage-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.triage-eyebrow{margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:#6f816f}.triage-page-header h1{margin:0 0 .35rem;color:#173f2f;font-size:clamp(1.55rem,3vw,2.25rem)}.triage-page-header p{margin:0;color:#4f665c}.triage-view-algorithm,.triage-viewer-back{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.5rem .8rem;border-radius:var(--triage-radius-md);border:1px solid rgba(23,63,47,.14);background:#ffffffd1;color:#173f2f;text-decoration:none;font-size:.85rem;font-weight:700;white-space:nowrap}.triage-view-algorithm:before{content:"";width:15px;height:15px;margin-right:6px;background:currentColor;-webkit-mask:radial-gradient(circle at 40% 40%,transparent 0 4px,#000 4.5px 6px,transparent 6.5px) 0 0 / 12px 12px no-repeat,linear-gradient(45deg,transparent 0 54%,#000 55% 70%,transparent 71%) 8px 8px / 8px 8px no-repeat;mask:radial-gradient(circle at 40% 40%,transparent 0 4px,#000 4.5px 6px,transparent 6.5px) 0 0 / 12px 12px no-repeat,linear-gradient(45deg,transparent 0 54%,#000 55% 70%,transparent 71%) 8px 8px / 8px 8px no-repeat}.triage-view-algorithm:hover,.triage-viewer-back:hover{background:#173f2f0f}.triage-page .symptom-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin-bottom:1.25rem}.triage-page .symptom-selected-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:1.25rem;padding:10px 14px;background:#ffffffd1;border:1px solid rgba(23,63,47,.1);border-radius:var(--triage-radius-md)}.triage-page .symptom-selected-label{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--triage-gray-600)}.triage-page .symptom-change-btn{flex-shrink:0;padding:7px 14px;background:transparent;border:1px solid rgba(23,63,47,.25);border-radius:var(--triage-radius-md);color:var(--triage-gray-600);cursor:pointer;font:inherit;font-size:13px;font-weight:600}.triage-page .symptom-change-btn:hover{background:#173f2f0f}.triage-page .symptom-btn{display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 12px;background:#ffffffd1;border:1px solid rgba(23,63,47,.1);border-radius:var(--triage-radius-md);color:var(--triage-gray-600);cursor:pointer;font:inherit;font-size:13px;font-weight:700;text-align:left;transition:background .15s,border-color .15s,color .15s}.triage-page .symptom-btn:hover{border-color:#173f2f38}.triage-page .symptom-btn--active{border-color:var(--triage-teal-600);background:var(--triage-teal-50);color:var(--triage-teal-900)}.triage-page .symptom-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#eef3eb;color:#173f2f;font-size:.7rem;font-weight:800;flex:0 0 auto}.triage-page .symptom-btn--active .symptom-mark{background:var(--triage-teal-600);color:#fff}.triage-page .progress-bar{position:relative;height:6px;background:var(--triage-gray-200);border-radius:3px;margin:1.6rem 0 1.25rem}.triage-page .progress-bar__fill{height:100%;background:var(--triage-teal-600);border-radius:3px;transition:width .4s ease}.triage-page .progress-bar__label{position:absolute;top:-20px;right:0;font-size:11px;color:var(--triage-gray-400);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.triage-page .triage-card,.triage-page .outcome-section,.triage-page .collapsible{background:#ffffffe0;border:1px solid rgba(23,63,47,.1);border-radius:var(--triage-radius-lg);box-shadow:0 16px 40px #173f2f14}.triage-page .triage-card{padding:1.25rem;margin-bottom:10px}.triage-page .step-label,.triage-page .section-title{font-size:11px;color:var(--triage-gray-400);text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:4px}.triage-page .question-title{font-size:1rem;font-weight:700;color:var(--triage-gray-800);margin:0 0 6px;line-height:1.45}.triage-page .hint-text{font-size:.85rem;color:var(--triage-gray-600);margin:0 0 14px;line-height:1.5}.triage-page .hint-box{display:flex;gap:8px;align-items:flex-start;background:var(--triage-gray-50);border-left:3px solid var(--triage-teal-300);border-radius:0 var(--triage-radius-sm) var(--triage-radius-sm) 0;padding:8px 10px;margin-bottom:14px;font-size:12px;color:var(--triage-gray-600);line-height:1.5}.triage-page .hint-box p{margin:0}.triage-page .hint-icon{flex-shrink:0;margin-top:2px;color:var(--triage-teal-600)}.triage-page .form-stack{display:flex;flex-direction:column;gap:12px}.triage-page .form-field{display:flex;flex-direction:column;gap:4px}.triage-page .form-label{font-size:12px;color:var(--triage-gray-600);font-weight:700}.triage-page .form-select{width:100%;padding:.7rem .75rem;background:var(--triage-gray-50);border:1px solid var(--triage-gray-200);border-radius:var(--triage-radius-md);font:inherit;font-size:13px;color:var(--triage-gray-800);cursor:pointer}.triage-page .form-select:focus{outline:none;border-color:var(--triage-teal-600)}.triage-page .check-row{display:flex;gap:16px;flex-wrap:wrap}.triage-page .check-label{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--triage-gray-800);cursor:pointer}.triage-page .check-input,.triage-page .rf-checkbox{accent-color:var(--triage-teal-600);width:15px;height:15px;cursor:pointer}.triage-page .alert-banner{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:var(--triage-radius-md);font-size:12px;margin-top:10px;line-height:1.5}.triage-page .alert-warning{background:var(--triage-amber-50);color:var(--triage-amber-800);border:1px solid #fac775}.triage-page .alert-danger{background:var(--triage-red-50);color:var(--triage-red-700);border:1px solid var(--triage-red-300)}.triage-page .patient-bar{display:flex;flex-wrap:wrap;gap:5px;padding:7px 0;margin-bottom:8px;align-items:center}.triage-page .patient-chip{padding:2px 8px;border-radius:10px;background:#fff;border:1px solid var(--triage-gray-200);color:var(--triage-gray-800);font-size:11px}.triage-page .patient-chip--danger{background:var(--triage-red-50);color:var(--triage-red-700);border-color:var(--triage-red-300)}.triage-page .patient-chip--score{background:var(--triage-teal-50);color:var(--triage-teal-900);border-color:var(--triage-teal-300)}.triage-page .rf-list{display:flex;flex-direction:column}.triage-page .rf-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--triage-gray-100);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.triage-page .rf-item:last-child{border-bottom:none;padding-bottom:0}.triage-page .rf-item--checked{background:var(--triage-red-50);margin:0 -1.25rem;padding:9px 1.25rem}.triage-page .rf-content{flex:1}.triage-page .rf-text{font-size:13px;color:var(--triage-gray-800);line-height:1.4;display:block}.triage-page .rf-source,.triage-page .source-line,.triage-page .otc-source{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--triage-gray-400);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.triage-page .source-line{margin-top:8px}.triage-page .score-section{margin-bottom:14px}.triage-page .score-label{display:flex;justify-content:space-between;font-size:12px;color:var(--triage-gray-600);margin-bottom:4px}.triage-page .score-track{height:3px;background:var(--triage-gray-200);border-radius:2px;overflow:hidden}.triage-page .score-fill{height:100%;background:var(--triage-teal-600);border-radius:2px;transition:width .4s}.triage-page .options-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.triage-page .option-btn{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 14px;background:var(--triage-gray-50);border:1px solid var(--triage-gray-200);border-radius:var(--triage-radius-md);color:var(--triage-gray-800);cursor:pointer;font:inherit;font-size:13px;font-weight:500;text-align:left;transition:background .15s,border-color .15s}.triage-page .option-btn:hover{border-color:var(--triage-gray-400)}.triage-page .option-btn--selected{border-color:var(--triage-teal-600);background:var(--triage-teal-50);color:var(--triage-teal-900)}.triage-page .option-btn--danger{border-color:var(--triage-red-300);background:var(--triage-red-50);color:var(--triage-red-700)}.triage-page .option-body{flex:1}.triage-page .option-label{display:block}.triage-page .option-note{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--triage-gray-400);margin-top:3px;font-style:italic}.triage-page .score-badge{font-size:11px;padding:2px 7px;border-radius:10px;background:#fff;border:1px solid var(--triage-gray-200);color:var(--triage-gray-400);flex-shrink:0;align-self:center}.triage-page .outcome-card{border-radius:var(--triage-radius-lg);padding:1.25rem;margin-bottom:10px;border:1px solid}.triage-page .outcome-card--low{background:var(--triage-green-50);border-color:#c0dd97}.triage-page .outcome-card--mild-moderate{background:var(--triage-blue-50);border-color:#b5d4f4}.triage-page .outcome-card--moderate{background:var(--triage-amber-50);border-color:#fac775}.triage-page .outcome-card--high,.triage-page .outcome-card--critical{background:var(--triage-red-50);border-color:var(--triage-red-300)}.triage-page .outcome-card--critical{border-color:var(--triage-red-500)}.triage-page .outcome-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.triage-page .outcome-header h2{font-size:16px;font-weight:700;margin:0}.triage-page .outcome-summary{font-size:13px;line-height:1.6;margin:0}.triage-page .outcome-title--low,.triage-page .outcome-text--low{color:var(--triage-green-900)}.triage-page .outcome-title--blue,.triage-page .outcome-text--blue{color:var(--triage-blue-800)}.triage-page .outcome-title--amber,.triage-page .outcome-text--amber{color:var(--triage-amber-800)}.triage-page .outcome-title--red,.triage-page .outcome-text--red{color:var(--triage-red-900)}.triage-page .score-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 10px;border-radius:20px;margin-top:8px;background:#0000000f}.triage-page .outcome-section{padding:1rem 1.25rem;margin-bottom:10px}.triage-page .section-title{display:flex;align-items:center;gap:6px;margin-bottom:10px}.triage-page .section-body{display:flex;flex-direction:column}.triage-page .otc-item,.triage-page .list-item,.triage-page .audit-entry,.triage-page .guideline-entry{padding:7px 0;border-bottom:1px solid var(--triage-gray-100)}.triage-page .otc-item:last-child,.triage-page .list-item:last-child,.triage-page .audit-entry:last-child,.triage-page .guideline-entry:last-child{border-bottom:none;padding-bottom:0}.triage-page .otc-name{font-size:13px;font-weight:700;color:var(--triage-gray-800)}.triage-page .otc-dose,.triage-page .guideline-name,.triage-page .audit-decision{font-size:12px;color:var(--triage-gray-600);margin-top:2px;line-height:1.5}.triage-page .contra-row,.triage-page .audit-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.triage-page .contra-badge,.triage-page .audit-badge{font-size:11px;padding:1px 7px;border-radius:10px;border:1px solid var(--triage-gray-200)}.triage-page .contra-badge{background:var(--triage-red-50);color:var(--triage-red-700);border-color:var(--triage-red-300)}.triage-page .list-item{display:flex;gap:8px;font-size:13px;color:var(--triage-gray-800);line-height:1.4}.triage-page .list-bullet{flex-shrink:0;margin-top:1px;color:var(--triage-teal-600);font-weight:700}.triage-page .list-item--danger .list-bullet{color:var(--triage-red-700)}.triage-page .list-item--warning .list-bullet{color:var(--triage-amber-600)}.triage-page .collapsible{margin-bottom:10px;overflow:hidden}.triage-page .collapsible-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;cursor:pointer;background:var(--triage-gray-50);color:var(--triage-gray-600);border:0;border-radius:0;font:inherit;font-size:13px;font-weight:700;text-align:left}.triage-page .collapsible-body{padding:10px 14px;background:#fff}.triage-page .chevron{font-size:14px;transition:transform .2s}.triage-page .chevron--open{transform:rotate(180deg)}.triage-page .audit-node,.triage-page .guideline-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:700;color:var(--triage-gray-800)}.triage-page .audit-badge,.triage-page .guideline-evidence{color:var(--triage-gray-400);font-size:11px}.triage-page .audit-badge--high{background:var(--triage-green-50);color:var(--triage-green-900);border-color:#c0dd97}.triage-page .audit-badge--medium{background:var(--triage-amber-50);color:var(--triage-amber-800);border-color:#fac775}.triage-page .disclaimer{font-size:11px;color:var(--triage-gray-400);border-top:1px solid var(--triage-gray-200);padding-top:10px;margin:10px 0;line-height:1.5}.triage-page .nav-row{display:flex;gap:8px;margin-top:14px}.triage-page .btn-primary,.triage-page .btn-secondary,.triage-page .btn-danger{border-radius:var(--triage-radius-md);cursor:pointer;font:inherit;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px}.triage-page .outcome-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.triage-page .btn-primary,.triage-page .btn-danger{flex:1;padding:10px 16px;border:none;color:#fff}.triage-page .btn-primary{background:var(--triage-teal-600)}.triage-page .btn-primary:hover:not(:disabled){background:var(--triage-teal-700)}.triage-page .btn-primary:disabled{background:var(--triage-gray-200);color:var(--triage-gray-400);cursor:not-allowed}.triage-page .btn-danger{background:var(--triage-red-500)}.triage-page .btn-danger:hover{background:var(--triage-red-700)}.triage-page .btn-secondary{padding:9px 14px;background:transparent;border:1px solid var(--triage-gray-200);color:var(--triage-gray-600);flex-shrink:0}.triage-page .btn-secondary:hover{background:var(--triage-gray-50)}.triage-page .btn-full{width:100%}.triage-viewer-page{height:calc(100vh - 112px);min-height:620px;display:flex;flex-direction:column;overflow:hidden}.triage-viewer-topbar{display:flex;align-items:center;gap:1rem;padding:0 0 1rem;flex:0 0 auto}.triage-viewer-topbar h1{margin:0;color:#173f2f;font-size:1.1rem}.triage-viewer-topbar p{margin:0;color:#4f665c;font-size:.85rem}.triage-viewer-select{margin-left:auto;min-width:180px;border-radius:var(--triage-radius-md);background:#ffffffe6}.triage-viewer-canvas{position:relative;min-height:0;flex:1;border:1px solid rgba(23,63,47,.1);border-radius:var(--triage-radius-lg);overflow:hidden;background:#fff;box-shadow:0 16px 40px #173f2f14}.triage-page .algorithm-viewer{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.triage-page .flow-panel{background:#fff;border:1px solid var(--triage-gray-200);border-radius:var(--triage-radius-md);padding:8px 14px}.triage-page .flow-controls{border:1px solid var(--triage-gray-200)!important;border-radius:var(--triage-radius-md)!important;box-shadow:none!important}.triage-page .flow-node{padding:10px 14px;border-radius:var(--triage-radius-md);border:1px solid;min-width:200px;max-width:260px;cursor:pointer;transition:box-shadow .15s;font-size:12px;line-height:1.4}.triage-page .flow-node:hover{box-shadow:0 2px 8px #00000014}.triage-page .flow-node__type{font-size:10px;text-transform:uppercase;letter-spacing:.05em;opacity:.65;margin-bottom:4px}.triage-page .flow-node__label{font-size:13px;font-weight:700;margin-bottom:3px}.triage-page .flow-node__text{font-size:11px;opacity:.8;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.triage-page .flow-node__hint,.triage-page .flow-node__source{font-size:10px;opacity:.6;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.triage-page .flow-node__source{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.triage-page .flow-node__options,.triage-page .flow-node__th-list,.triage-page .flow-node__otc{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.triage-page .flow-node__opt-chip,.triage-page .flow-node__th-chip,.triage-page .flow-node__otc-chip{font-size:9px;padding:1px 6px;border-radius:8px;background:#fff9;border:1px solid rgba(0,0,0,.1);white-space:nowrap}.triage-page .flow-node__opt-more{font-size:9px;opacity:.55;align-self:center}.triage-page .flow-node--patient{background:#f1efe8;border-color:#888780;color:#2c2c2a}.triage-page .flow-node--redflags,.triage-page .flow-node--watchful{background:#e6f1fb;border-color:#185fa5;color:#0c447c}.triage-page .flow-node--question{background:#eeedfe;border-color:#534ab7;color:#26215c}.triage-page .flow-node--gate,.triage-page .flow-node--refer{background:#faeeda;border-color:#854f0b;color:#412402}.triage-page .flow-node--outcome-ok{background:#eaf3de;border-color:#3b6d11;color:#173404}.triage-page .flow-node--emergency{background:#fcebeb;border-color:#a32d2d;color:#501313}.triage-page .node-panel{position:fixed;top:0;right:0;width:380px;max-width:90vw;height:100vh;background:#fff;border-left:1px solid var(--triage-gray-200);z-index:100;overflow-y:auto;box-shadow:-4px 0 20px #00000014}.triage-page .node-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--triage-gray-200);position:sticky;top:0;background:#fff;z-index:1}.triage-page .node-panel__title{font-size:14px;font-weight:700;color:var(--triage-gray-800);margin:0;text-transform:capitalize}.triage-page .node-panel__close{background:none;border:1px solid var(--triage-gray-200);border-radius:var(--triage-radius-sm);width:30px;height:30px;padding:0;color:var(--triage-gray-400)}.triage-page .node-panel__body{padding:12px 16px}.triage-page .node-panel__meta,.triage-page .node-panel__opts{display:flex;flex-wrap:wrap;gap:6px}.triage-page .node-panel__opts{flex-direction:column}.triage-page .node-panel__badge,.triage-page .node-panel__score,.triage-page .node-panel__alert,.triage-page .node-panel__sev{font-size:10px;padding:2px 8px;border-radius:10px;border:1px solid var(--triage-gray-200);display:inline-block}.triage-page .node-panel__section{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--triage-gray-100)}.triage-page .node-panel__section-title{font-size:10px;color:var(--triage-gray-400);text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:6px}.triage-page .node-panel__section p{font-size:13px;color:var(--triage-gray-800);line-height:1.5;margin:0}.triage-page .node-panel__opt{padding:8px 10px;border-radius:var(--triage-radius-sm);background:var(--triage-gray-50);border:1px solid var(--triage-gray-100);font-size:12px}.triage-page .node-panel__opt--danger,.triage-page .node-panel__alert--hard_stop,.triage-page .node-panel__sev--high,.triage-page .node-panel__sev--critical{background:var(--triage-red-50);color:var(--triage-red-700);border-color:var(--triage-red-300)}.triage-page .node-panel__opt--warn,.triage-page .node-panel__alert--soft_redirect,.triage-page .node-panel__sev--moderate{background:var(--triage-amber-50);color:var(--triage-amber-800);border-color:#fac775}.triage-page .node-panel__alert--ambiguity_flag,.triage-page .node-panel__sev--mild_moderate,.triage-page .node-panel__sev--mild-moderate{background:var(--triage-blue-50);color:var(--triage-blue-800);border-color:#b5d4f4}.triage-page .node-panel__sev--low{background:var(--triage-green-50);color:var(--triage-green-900);border-color:#c0dd97}.triage-page .node-panel__opt-next,.triage-page .node-panel__opt-note{font-size:11px;color:var(--triage-gray-400);margin-top:2px}.triage-page .node-panel__source,.triage-page .node-panel__opt-next{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.triage-page .node-panel__otc-item{padding:8px 0;border-bottom:1px solid var(--triage-gray-100)}.triage-page .node-panel__otc-item:last-child{border-bottom:none}.triage-page .react-flow__node{cursor:pointer}.triage-page .react-flow__edge-path{stroke-width:1.5}@media (max-width: 640px){.triage-container{padding-bottom:1rem}.triage-page-header,.triage-viewer-topbar{flex-direction:column;align-items:stretch}.triage-page .symptom-selector{grid-template-columns:1fr 1fr}.triage-viewer-page{height:calc(100vh - 96px);min-height:560px}.triage-viewer-select{margin-left:0;width:100%}.triage-page .symptom-selected-bar{flex-wrap:wrap;gap:8px}.triage-page .symptom-selected-label{flex:1 1 auto;min-width:0}.triage-page .symptom-change-btn{flex-shrink:0}.triage-page .nav-row{flex-direction:column}.triage-page .btn-secondary{width:100%}.triage-page .btn-primary{padding:14px 20px;font-size:15px}}.triage-mode-toggle{display:inline-flex;gap:4px;padding:4px;background:var(--triage-gray-100);border-radius:999px}.mode-btn{background:transparent;border:0;padding:.5rem 1.1rem;border-radius:999px;cursor:pointer;font-weight:600;color:var(--triage-gray-600);transition:background .15s,color .15s}.mode-btn:hover{color:var(--triage-teal-700)}.mode-btn--active{background:var(--triage-teal-600);color:#fff}.mode-btn--active:hover{color:#fff}
