@font-face{font-family:Geist;src:url('/assets/Geist.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{font-family:Geist,Arial,sans-serif;color:#26333a;background:#f6f5f2;font-synthesis:none;--ink:#26333a;--muted:#606d73;--accent:#b41130;--line:#dee3e1;--paper:#f6f5f2;--green:#236242;--blue:#295487;--red:#9b3546;--radius:10px}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}input,select,textarea{min-width:0}a{color:var(--accent)}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ink)}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-.04em;line-height:1.18;font-weight:620}h2{font-size:19px;letter-spacing:-.025em;font-weight:600}h3{font-size:15px;font-weight:600}small{font-size:12px}strong{font-weight:620}hr{border:0;border-top:1px solid var(--line);margin:22px 0}code{font-size:12px;overflow-wrap:anywhere}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.icon{width:19px;height:19px;flex-shrink:0}.muted,.hint{color:var(--muted)}.hint{font-size:12px;line-height:1.6}.small{font-size:12px}.stack{display:grid;gap:20px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spaced{justify-content:space-between}.skip-link{position:fixed;left:15px;top:-100px;padding:12px;background:#fff;z-index:500}.skip-link:focus{top:10px}.btn{border:1px solid #c9d1ce;border-radius:8px;background:#fff;color:var(--ink);min-height:44px;padding:10px 15px;font-size:13px;font-weight:520;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;line-height:1.3}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:var(--red);border-color:#e5bcc4;background:#fff7f8}.btn.small{font-size:12px;min-height:40px;padding:8px 11px}.icon-btn{padding:9px;min-width:44px}.text-button{background:transparent;border:0;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:3px}.brand{width:167px;height:auto}.workspace-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:18px}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100dvh}.sidebar{padding:29px 22px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:29px;position:sticky;top:0;height:100dvh;overflow:auto}.nav{display:grid;gap:6px}.nav button{border:0;min-height:44px;text-align:left;display:flex;align-items:center;gap:12px;background:transparent;color:var(--muted);padding:11px 12px;border-radius:8px;font-size:13px}.nav button.active{background:#fff;color:var(--accent);font-weight:600}.side-heading{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.side-person{display:flex;gap:9px;align-items:center;margin-top:13px;font-size:12px}.side-person small{display:block;font-size:10px;color:var(--muted);margin-top:1px}.avatar{width:29px;height:29px;flex-shrink:0;border-radius:50%;background:#e4e8e3;color:#3b4e42;display:grid;place-items:center;font-size:10px;font-weight:650}.room-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);display:inline-block;margin-right:5px}.room-dot.second{background:var(--red)}.sidebar-bottom{margin-top:auto;display:grid;gap:15px}.account{border-top:1px solid var(--line);padding-top:18px;display:flex;gap:9px;align-items:center;font-size:12px}.account small{display:block;color:var(--muted);font-size:10px}.main-area{min-width:0;background:#fff}.topbar{height:75px;padding:0 34px;border-bottom:1px solid var(--line);display:flex;gap:15px;align-items:center;justify-content:space-between}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{margin:0 9px;color:#a5afaa}.topbar-right{display:flex;gap:8px;align-items:center}.local-status{font-size:11px;color:var(--green);margin-right:12px}.local-status:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:7px}.mobile-logo{display:none}.mobile-nav{display:none}.banner{padding:10px 34px;font-size:12px;color:#70582c;background:#fff9eb;border-bottom:1px solid #eee2c4}.page{padding:32px 34px 40px;max-width:1740px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:27px}.page-title p{color:var(--muted);font-size:13px;margin-top:9px;max-width:75ch}.pill{display:inline-flex;gap:5px;align-items:center;padding:4px 8px;background:var(--paper);border:1px solid var(--line);border-radius:5px;font-size:10px;line-height:1.4;white-space:normal}.pill.green{background:#e9f3ec;color:var(--green);border-color:#d1e5d7}.pill.blue{background:#eaf1fd;color:var(--blue);border-color:#d6e3f4}.pill.red{background:#faeded;color:var(--red);border-color:#edcdd3}.pill.amber{background:#fff5df;color:#775922;border-color:#ecd9ae}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:var(--paper);padding:15px;border-radius:10px;margin-bottom:23px}.filters .field{flex:1;min-width:150px}.filters .field.search{flex:1.4;min-width:190px}.filters .field.date{max-width:170px}.field{display:grid;gap:7px}.field label,.field-label{font-size:12px;font-weight:550}.field input,.field select,.field textarea{width:100%;min-height:44px;padding:10px 11px;background:#fff;border:1px solid #b7c2c5;border-radius:7px;color:var(--ink)}.field textarea{min-height:90px;resize:vertical}.field input::placeholder{color:#727b80}.field input[readonly]{background:var(--paper);color:var(--muted)}.field.full{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-error{padding:12px 14px;background:#fbecef;color:#93263e;border:1px solid #e9bac5;border-radius:8px;font-size:13px}.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:5px}.checkbox{display:flex;align-items:start;gap:9px;font-size:13px}.checkbox input{width:18px;height:18px;flex-shrink:0;margin-top:1px;accent-color:var(--accent)}.notice{background:#fffbf2;border:1px solid #eadfc5;color:#70582c;padding:14px 16px;border-radius:8px;font-size:12px;line-height:1.65;display:flex;gap:10px;align-items:start}.notice .icon{margin-top:1px;flex-shrink:0}.notice.neutral{background:var(--paper);color:var(--muted);border-color:var(--line)}.notice.success{color:var(--green);background:#eff6f1;border-color:#d1e5d7}.notice strong{color:var(--ink)}.notice-list{display:grid;gap:10px;margin-bottom:22px}.toolbar{display:flex;gap:15px;justify-content:space-between;align-items:center;margin:20px 0 17px;flex-wrap:wrap}.calendar-label{font-size:18px;letter-spacing:-.02em;margin-left:6px;text-transform:capitalize}.view-switch{display:flex;padding:3px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.view-switch button{min-height:38px;padding:8px 13px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:12px}.view-switch button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #26333a15}.legend{display:flex;gap:17px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:15px}.legend>span{display:inline-flex;align-items:center;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.green{background:var(--green)}.dot.blue{background:var(--blue)}.dot.red{background:var(--red)}.calendar-wrap{border:1px solid var(--line);border-radius:10px;overflow:auto}.week{display:grid;grid-template-columns:repeat(var(--days),minmax(132px,1fr));min-width:924px;min-height:415px}.week.day-view{min-width:0;grid-template-columns:1fr}.day-column{min-width:0;border-right:1px solid var(--line)}.day-column:last-child{border-right:0}.day-head{display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 8px;background:#fbfcfa;border-bottom:1px solid var(--line)}.day-head span{font-size:11px;text-transform:capitalize;color:var(--muted)}.day-head strong{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-size:18px;font-weight:500}.day-head.today strong{background:var(--accent);color:#fff}.day-content{padding:10px 7px;display:grid;gap:9px}.day-empty{padding:24px 6px;color:var(--muted);font-size:11px;text-align:center;line-height:1.7}.event{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;border:1px solid #d2dfef;border-left:3px solid var(--blue);border-radius:6px;background:#eaf1fd;color:#224b7c;padding:10px 9px;min-height:65px;overflow-wrap:anywhere}.event strong{font-size:12px;font-weight:600;line-height:1.4}.event .event-time{font-size:11px;font-weight:550;font-variant-numeric:tabular-nums}.event small{font-size:10px;line-height:1.5}.event.occupied{color:var(--red);background:#faeeee;border-color:#ecd4da;border-left-color:var(--red)}.event.completed{background:#f1f2f0;color:#58605a;border-color:#dce0d9;border-left-color:#809383}.event.review{background:#fff5df;color:#775922;border-color:#ecd9ae;border-left-color:#aa7b28}.event.cancelled{background:#f7f7f5;color:#69736d;border-color:#dde1dd;text-decoration:line-through;opacity:.8}.allocation{border:1px solid #d6e4d9;border-radius:6px;background:#f0f6f1;overflow:hidden}.allocation-head{border:0;width:100%;text-align:left;background:transparent;color:var(--green);padding:10px 9px;display:grid;gap:3px;min-height:55px}.allocation-head strong{font-size:11px;font-weight:600}.allocation-head small{font-size:10px}.free-slot{width:calc(100% - 12px);margin:0 6px 6px;background:#fff;border:1px dashed #a3bca8;border-radius:5px;min-height:36px;font-size:10px;color:var(--green);padding:7px;display:grid;gap:1px;text-align:left}.free-slot span{font-size:10px}.day-view .day-content{padding:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start}.day-view .event{min-height:104px;padding:15px}.day-view .event strong{font-size:14px}.day-view .event small{font-size:12px}.day-view .allocation-head{padding:14px}.day-view .allocation-head strong,.day-view .free-slot{font-size:12px}.day-view .allocation-head small{font-size:11px}.calendar-foot{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-size:11px;color:var(--muted)}.empty{border:1px dashed #cbd4cd;border-radius:10px;padding:40px 25px;text-align:center;background:#fbfcfa}.empty p{color:var(--muted);margin-top:9px;font-size:13px;max-width:60ch;margin-inline:auto}.results{display:grid;gap:10px}.result-row{border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:20px}.result-row p{font-size:12px;color:var(--muted);margin-top:4px}.result-row h3{font-size:14px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;margin-top:20px}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px;min-width:640px}th,td{padding:14px 15px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--paper);font-size:10px;text-transform:uppercase;letter-spacing:.035em;font-weight:550;color:var(--muted)}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.settings{max-width:950px}.panel{border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:20px}.panel>p{color:var(--muted);font-size:13px;margin:9px 0 20px;max-width:76ch}.panel-title{display:flex;gap:14px;align-items:center;justify-content:space-between}.panel-heading{display:flex;gap:12px;align-items:center}.step-number{width:30px;height:30px;flex-shrink:0;background:var(--paper);border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:12px;color:var(--muted)}.steps-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.steps-list span{padding:7px 10px;border-radius:6px;background:var(--paper);border:1px solid var(--line);font-size:11px;color:var(--muted)}.steps-list span.done{color:var(--green);background:#e9f3ec;border-color:#d1e5d7}.instruction-list{margin:15px 0 22px;padding-left:22px;display:grid;gap:10px;font-size:13px;color:var(--muted)}.instruction-list strong{color:var(--ink)}.copy-row{display:flex;gap:9px;align-items:stretch}.copy-row code{flex:1;border:1px solid var(--line);border-radius:7px;padding:12px;background:var(--paper);display:flex;align-items:center}.detail-list{display:grid;gap:14px;margin:20px 0}.detail-item{display:grid;grid-template-columns:125px 1fr;gap:15px;font-size:13px}.detail-item dt{color:var(--muted)}.detail-item dd{margin:0;overflow-wrap:anywhere}.settings-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.status-line{font-size:12px;color:var(--muted);margin-top:14px}.permission-list{font-size:12px;line-height:1.7;color:var(--muted);padding-left:20px}.help-content{max-width:850px;display:grid;gap:24px}.help-content h2{margin-bottom:10px}.help-content p,.help-content li{font-size:13px;color:var(--muted);line-height:1.8}.help-content ol,.help-content ul{padding-left:22px;margin:8px 0}.login-card{width:min(480px,calc(100% - 32px));margin:8vh auto;padding:32px;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;gap:22px}.login-card img{width:174px}.login-card h1{font-size:27px}.login-card>p{font-size:13px;color:var(--muted)}.login-footer{border-top:1px solid var(--line);padding-top:15px;font-size:12px;color:var(--muted)}dialog{color:var(--ink);border:0;padding:0;background:#fff}dialog::backdrop{background:#14232c66}dialog#drawer{margin:0 0 0 auto;width:min(550px,100%);max-width:100%;height:100%;max-height:100%;box-shadow:-12px 0 40px #11273316}dialog[open]{animation:drawer-in 150ms ease-out}.drawer-head{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:23px 25px;position:sticky;top:0;background:#fff;z-index:1}.drawer-head h2{font-size:20px}.drawer-body{padding:25px;display:grid;gap:22px}.drawer-body>.notice{font-size:12px}.drawer-body .detail-list{margin:0}.dialog-section{border-top:1px solid var(--line);padding-top:20px;display:grid;gap:16px}.toast{pointer-events:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;max-width:min(680px,calc(100% - 30px));padding:13px 18px;background:var(--ink);color:#fff;box-shadow:0 6px 28px #1b30352b;border-radius:8px;font-size:13px}.loading-strip{color:var(--muted);font-size:12px}.wide-input{max-width:430px}.inline-help{border-bottom:1px solid var(--line);padding-bottom:18px}.preview-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.preview-controls .field{flex:1;min-width:145px}.danger-zone{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.code-user{font-family:Geist,Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em}.saved-summary{display:grid;gap:7px;font-size:12px;color:var(--muted);margin-top:17px}.read-only{cursor:default}.overflow-wrap{overflow-wrap:anywhere}.close-row{display:flex;justify-content:flex-end}.table-caption{padding:15px 16px;background:var(--paper);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.preview-list{max-height:420px;overflow:auto}.check-compact{display:flex;gap:8px;align-items:center;font-size:12px}.check-compact input{width:17px;height:17px;accent-color:var(--accent)}
@keyframes drawer-in{from{opacity:.7;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.btn:hover{background:#f0f2ee}.btn.primary:hover{background:#960d27}.btn.danger:hover{background:#fbedf0}.nav button:hover{background:#eeede9}.event:hover,.allocation-head:hover{filter:brightness(.975)}.free-slot:hover{background:#e7f2e9}}
@media(min-width:1600px){.page,.topbar{padding-inline:44px}.week{min-height:510px}.day-content{padding:13px 10px}}
@media(max-width:1100px){.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-inline:16px}.sidebar .brand{width:150px}.page,.topbar{padding-inline:24px}.banner{padding-inline:24px}.local-status{display:none}.page-title .row{justify-content:flex-end}.filters .field{min-width:130px}.calendar-label{font-size:16px}}
@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{height:68px}.breadcrumb{display:none}.mobile-logo{display:block;width:139px}.mobile-nav{display:flex;padding:8px 17px;gap:6px;background:var(--paper);border-bottom:1px solid var(--line);overflow:auto}.mobile-nav button{border:0;background:transparent;min-height:42px;border-radius:6px;color:var(--muted);padding:9px 12px;font-size:12px;white-space:nowrap}.mobile-nav button.active{background:#fff;color:var(--accent);font-weight:600}.week{min-width:900px}.page-title h1{font-size:28px}.settings{max-width:100%}}
@media(max-width:600px){.page{padding:25px 17px 32px}.topbar{padding:12px 17px}.topbar-right .btn{padding:9px 10px;font-size:11px}.topbar-right .btn .icon{display:none}.banner{padding:10px 17px;font-size:11px}.page-title{flex-direction:column;gap:14px;margin-bottom:23px}.page-title h1{font-size:27px}.page-title p{font-size:12px;line-height:1.65}.actions{gap:8px;margin-bottom:18px}.actions .btn{font-size:12px;padding:10px 12px}.filters{padding:12px;gap:12px}.filters .field{min-width:calc(50% - 10px)}.filters .field.search{min-width:100%}.filters .field.date{max-width:none}.field input,.field select,.field textarea{font-size:16px}.field label{font-size:11px}.toolbar{gap:14px}.toolbar>.row{gap:5px;width:100%}.toolbar .btn{padding:9px 11px;font-size:12px}.calendar-label{font-size:14px;margin-left:3px;flex:1}.view-switch{margin-left:auto}.legend{font-size:10px;gap:12px}.calendar-foot{font-size:10px;line-height:1.6}.calendar-foot span:last-child{display:none}.day-view .day-content{padding:11px;grid-template-columns:1fr}.day-view .event{min-height:96px}.panel{padding:18px 16px}.panel-title{align-items:start;gap:12px}.panel-title h2{font-size:17px}.panel-heading{align-items:start;gap:9px}.panel-heading .step-number{width:26px;height:26px}.panel-title .pill{font-size:9px;max-width:112px}.panel>p,.instruction-list{font-size:12px}.settings-pair,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.steps-list{gap:5px}.steps-list span{font-size:10px;padding:6px 8px}.copy-row{flex-direction:column}.copy-row .btn{align-self:flex-start}.result-row{align-items:flex-start;gap:12px;padding:14px}.result-row .btn{font-size:11px;padding:9px 10px;min-width:65px}.result-row p{font-size:11px}.drawer-head{padding:18px}.drawer-body{padding:20px 18px}.detail-item{grid-template-columns:105px 1fr;font-size:12px;gap:10px}.form-actions>.btn{flex:1}.login-card{padding:26px 23px;margin-top:5vh}.login-card h1{font-size:25px}.notice{font-size:11px;padding:12px}.preview-controls .field{min-width:100%}.calendar-wrap{border-radius:8px}.topbar-right{gap:2px}.table-wrap{margin-top:16px}.mobile-nav{padding-inline:12px}.btn.small{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:active:not(:disabled){transform:none}}
@media(max-width:600px){.btn,.field input,.field select,.mobile-nav button{min-height:48px}.free-slot{min-height:44px}.view-switch button{min-height:44px}}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden}.allocation.occupied{background:#faeeee;border-color:#ecd4da}.allocation.occupied .allocation-head{color:var(--red)}.allocation-note{padding:0 9px 9px;font-size:11px;color:var(--muted)}
.login-heading{margin-top:10px}.setup-fields{border:0;padding:0;margin:0;min-width:0}.password-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.password-tools .btn{font-size:12px}.password-status{min-height:38px}.setup-next-step{margin-bottom:16px}.setup-fields:disabled{opacity:.65}.login-card:has(#setup-form){margin-block:32px}
/* V2: cartelle, impostazioni e agende autonome. */
.room-agendas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.agenda-schedule-hint{font-size:13px;color:#615964;margin-bottom:22px;line-height:1.7}.side-person{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;border-radius:12px;font:inherit}.side-person.selected{background:#f4e7ef;border-color:#803958}.event.highlighted{outline:3px solid #843b65;outline-offset:2px;box-shadow:0 0 0 5px #f4e3ef}.event.has-overlap{border-left:5px solid #a42c27}.overlap-label{font-size:11px;font-weight:700;color:#922820}.overlap-warning{margin:20px 0;padding:22px;border:3px solid #a42c27;border-radius:14px;background:#fff0e9;color:#6c201e}.overlap-warning h3{font-size:23px;margin:0 0 12px}.overlap-warning li{margin:8px 0}.config-rows{display:grid;gap:14px}.config-row{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:8px;align-items:end;padding:12px;background:#f8f6f8;border-radius:12px}.config-row label{display:grid;gap:5px;font-size:12px;min-width:0}.config-row input,.config-row select{width:100%;min-width:0}.exception-row{grid-template-columns:1.2fr 1fr 1fr 1fr auto}.patient-section{margin-top:30px}.patient-profile .detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.archived{background:#f5f3f5}.result-row h2{font-size:18px;margin:0 0 7px}.field textarea{font:inherit;padding:12px;border:1px solid #cfc7d0;border-radius:9px;width:100%;resize:vertical}.config-rows button{min-height:40px}.side-person:focus-visible,.room-agendas button:focus-visible{outline:3px solid #873662;outline-offset:3px}
@media(max-width:700px){.config-row,.exception-row{grid-template-columns:1fr 1fr}.config-row button{grid-column:1/-1}.patient-profile .detail-list{grid-template-columns:1fr}.room-agendas .btn{flex:1;font-size:12px}.overlap-warning{padding:15px}.patient-section .table-actions{flex-wrap:wrap}.result-row{gap:15px}.side-person{display:flex}}
.month-view .day-column{border-bottom:1px solid var(--line);min-height:180px}.month-view .day-head{padding:7px}.month-view .allocation .free-slot,.month-view .allocation-note{display:none}.month-view .day-content{max-height:310px;overflow:auto}.month-view .day-empty{padding:12px 2px}.month-view .event{min-height:54px;padding:7px 5px}.month-view .allocation-head{padding:7px 5px;min-height:0}.month-view .day-column:nth-child(7n){border-right:0}
/* Agenda V2: operational colors, explicit time choices, no decorative motion. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);font-family:Geist,sans-serif}
::selection{background:#e9d9df;color:#26333a}input,textarea{caret-color:var(--accent)}
.btn{transition:transform 120ms var(--ease-out),background-color 120ms var(--ease-out)}
.btn:active:not(:disabled){transform:scale(.98)}
.legend{gap:10px 18px;flex-wrap:wrap;font-size:12px}
.allocation{background:transparent;border:0;border-radius:0;padding:0;margin-bottom:18px}
.allocation-head{background:transparent;color:var(--ink);padding:8px 2px;min-height:48px}
.allocation-person{font-size:12px;font-weight:650}.allocation-head small{font-size:11px;color:var(--muted)}
.agenda-slots{display:grid;gap:5px}
.free-slot{width:100%;margin:0;border:1px solid #a5c9b4;background:#e9f3ec;color:#236242;border-radius:8px;padding:9px 10px;min-height:52px;text-align:left;display:grid;gap:2px}
.free-slot strong{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.free-slot span{font-size:11px;color:inherit}
.free-slot:disabled{cursor:default;opacity:1}
.event.event-booked{background:var(--event-bg);color:var(--event-ink);border:1px solid color-mix(in srgb,var(--event-ink) 25%,transparent)}
.event.event-block{background:#faeded;color:#9b3546;border:1px solid #dca9b2}
.event.event-review{background:#fff5df;color:#775922;border:1px solid #dcc58e}
.event{border-radius:8px;overflow-wrap:anywhere}.event small,.event .event-time{color:inherit}.event strong{font-size:13px;line-height:1.4}
.event.highlighted{outline:2px solid currentColor;outline-offset:2px}
.booking-flow{gap:24px}.booking-section{border:0;padding:0;margin:0;min-width:0;display:grid;gap:12px}
.booking-section legend{font-size:17px;font-weight:630;padding:0 0 14px;letter-spacing:-.02em}
.booking-section label{font-size:13px;font-weight:550}.patient-search-row{display:flex;gap:8px}.patient-search-row input{flex:1;min-width:0}
.time-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.time-choice{border:1px solid #abc6b8;border-radius:8px;padding:10px 6px;min-height:52px;color:#236242;background:#f2f7f3;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;display:grid;gap:2px}
.time-choice small{font-size:11px;font-weight:400}.time-choice[aria-pressed=true]{background:#236242;color:white;border-color:#236242}
.booking-summary{background:#f3f4f3;color:#26333a;border-radius:10px;padding:16px;line-height:1.6;font-size:14px;font-weight:550}
.all-day-toggle{display:flex;align-items:center;gap:12px;border:1px solid #dca9b2;background:#fff7f8;padding:16px;border-radius:10px;cursor:pointer}
.all-day-toggle input{width:20px;height:20px;accent-color:#9b3546}.all-day-toggle span{display:grid;gap:3px}.all-day-toggle small{font-size:12px;color:var(--muted)}
.export-slot{display:flex;gap:12px;padding:12px 4px;align-items:center;border-bottom:1px solid var(--line)}.export-slot input{accent-color:#236242;width:18px;height:18px}.export-slot small{display:block;color:var(--muted)}
.booking-section details summary{cursor:pointer}.booking-section input,.booking-section select{width:100%}
@media(hover:hover) and (pointer:fine){.free-slot:hover,.time-choice:not([aria-pressed=true]):hover{background:#dceee2;border-color:#236242}.event:hover{filter:brightness(.98)}}
@media(max-width:700px){.time-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-flow input,.booking-flow select{font-size:16px}.patient-search-row{align-items:stretch}.patient-search-row .btn{padding-inline:10px}.agenda-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.free-slot{min-height:60px}.free-slot strong{font-size:14px}.allocation-head{width:100%;text-align:left}.legend{font-size:11px}.event strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:active:not(:disabled){transform:none}}
/* Shared sizing for the patient lookup and native patient selector. */
.booking-flow #patient-search,.booking-flow #existing-patient{width:100%;min-height:48px;padding:11px 12px;border:1px solid #cbd2cf;border-radius:8px;background:#fff;color:#202a29;font:inherit}
.booking-flow #patient-search:focus-visible,.booking-flow #existing-patient:focus-visible{outline:2px solid #315d50;outline-offset:2px}
html:has(dialog[open]){overflow:hidden}
/* Compact chronological agenda: identical structure for free and occupied slots. */
.day-content{display:flex;flex-direction:column;gap:4px;padding:6px}
.day-view .day-content{display:flex;grid-template-columns:none;max-width:720px;width:100%;margin-inline:auto}
.agenda-entry,.day-view .agenda-entry,.month-view .agenda-entry{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:2px;height:64px;min-height:64px;width:100%;margin:0;padding:6px 8px;border-radius:6px;text-align:left;overflow:hidden;flex-shrink:0}
.agenda-entry .event-time{font-size:12px;line-height:16px;font-weight:650;font-variant-numeric:tabular-nums}
.agenda-entry strong{font-size:13px;line-height:18px;font-weight:650;margin:0}
.agenda-entry.free-slot>span:not(.event-time){font-size:11px;line-height:14px}
.agenda-entry .entry-professional{font-size:11px;line-height:14px;color:inherit;font-weight:400}
.agenda-entry>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.agenda-entry.highlighted{outline:2px solid currentColor;outline-offset:1px;box-shadow:none}
.day-head{position:relative}.day-add{display:grid;place-items:center;min-width:36px;min-height:36px;margin:5px auto 0;padding:7px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);cursor:pointer}
.day-add:focus-visible,.patient-choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.day-allocations{font-size:12px;margin-top:5px}.day-allocations summary{cursor:pointer;padding:10px 0}.day-allocations button{display:block;text-align:left;padding:8px 0}
.patient-choices{display:grid;gap:8px;padding-block:8px}.patient-choices[hidden]{display:none}
.patient-choice{display:grid;gap:4px;text-align:left;padding:12px;min-height:72px;background:#f4f5f4;color:var(--ink);border:1px solid #cbd2cf;border-radius:8px;cursor:pointer;font:inherit}
.patient-choice small{overflow-wrap:anywhere}.patient-choice span,.patient-choice small{font-size:13px}
.month-view .day-content{max-height:390px}.month-view .day-empty{padding:8px 0}
@media(max-width:700px){.day-add{min-width:44px;min-height:44px}.agenda-entry strong{font-size:14px}.day-view .day-content{padding:8px}.patient-search-row{flex-wrap:wrap}.patient-search-row input{flex-basis:180px}}
@media(max-width:700px){.booking-flow #patient-search,.booking-flow #existing-patient{font-size:16px}}
/* Hour controls sit outside the day grid; folding is a view preference only. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.agenda-density{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;flex-wrap:wrap}
.agenda-density .row{gap:16px}.agenda-density .text-button{min-height:36px;font-size:12px}
.hourly-calendar{--hour-axis-width:76px;border:0;border-radius:0;max-height:none;overscroll-behavior:contain auto;scroll-padding-top:78px;scrollbar-color:#9aa7a0 #f6f5f2;scrollbar-width:thin}
.agenda-week{min-width:1056px;margin-bottom:24px}.agenda-week:last-child{margin-bottom:0}
.hour-grid-head{display:grid;grid-template-columns:var(--hour-axis-width) repeat(var(--days),minmax(140px,1fr));position:sticky;top:0;z-index:5;background:#fff}
.hour-axis-caption{position:sticky;left:0;z-index:6;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-inline:8px;background:#fff;color:var(--muted);font-size:11px}
.hour-grid-head .day-head{min-height:68px;border:1px solid var(--line);border-left:0;gap:6px;flex-wrap:wrap;padding:8px 6px;align-content:center}
.hour-grid-head .day-head:nth-child(2){border-left:1px solid var(--line)}
.hour-grid-head .day-add{margin:0;min-width:36px;min-height:36px;padding:7px}
.hour-grid-head .day-allocations{width:100%;position:relative;margin:0;font-size:11px;text-align:center}
.hour-grid-head .day-allocations summary{padding:4px;min-height:28px;line-height:20px;color:var(--muted)}
.hour-grid-head .day-allocations>div{position:absolute;top:100%;right:0;z-index:7;min-width:180px;padding:12px;background:white;box-shadow:0 8px 24px #26333a24;border-radius:8px;max-height:280px;overflow:auto;text-align:left}
.hour-grid-head .day-allocations button{font-size:12px;min-height:44px;padding:8px 0}
.agenda-hour{display:grid;grid-template-columns:var(--hour-axis-width) minmax(0,1fr);min-height:var(--hour-height)}
.hour-axis{position:sticky;left:0;z-index:3;background:#fff;display:flex;align-items:flex-start;padding:0 8px 0 0}
.hour-toggle{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px;width:100%;min-height:44px;padding:10px 5px;background:#fff;border:0;border-radius:6px;font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.hour-toggle small{width:100%;text-align:left;font-size:9px;font-weight:400;line-height:12px}.hour-toggle[aria-expanded=true]{color:var(--accent);background:#f8edf0}.hour-toggle[aria-expanded=true] svg{transform:rotate(90deg)}
.hour-toggle:focus-visible,.hour-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.hour-cells{display:grid;grid-template-columns:repeat(var(--days),minmax(140px,1fr));min-height:var(--hour-height);border-left:1px solid var(--line)}
.hour-cell{position:relative;min-width:0;min-height:var(--hour-height);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.hour-cell:empty{background:#fbfcfa}.is-collapsed .hour-cell{background:#f8faf8}
.hour-missing{background:#f1f2ef!important}
.timed-entry{position:absolute;top:var(--entry-top);height:var(--entry-height);left:calc(100% / var(--entry-columns) * var(--entry-column) + 3px);width:calc(100% / var(--entry-columns) - 6px)}
.timed-entry .agenda-entry{height:100%;min-height:0;width:100%;padding:6px;gap:2px;border-radius:5px;justify-content:center}
.timed-entry .agenda-entry .event-time{font-size:11px;line-height:16px}.timed-entry .agenda-entry strong{font-size:12px;line-height:16px}.timed-entry .agenda-entry .entry-professional{font-size:10px;line-height:14px}
.hour-summary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;padding:6px;color:var(--ink);background:transparent;border:0;text-align:center;font-size:11px;line-height:15px}
.hour-summary>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hour-dots{display:flex;flex-shrink:0;gap:3px}.hour-dots i{width:6px;height:6px;border-radius:50%;display:block}
.hourly-day .agenda-week{min-width:0}.hourly-day .hour-grid-head{grid-template-columns:var(--hour-axis-width) minmax(0,1fr)}.hourly-day .hour-cells{grid-template-columns:minmax(0,1fr)}
.hourly-month .agenda-week{margin-bottom:24px}.hourly-month .hour-grid-head .day-head{padding-block:6px}
@media(hover:hover) and (pointer:fine){.hour-toggle:hover,.hour-summary:hover{background:#f1e7eb;color:var(--accent)}}
@media(max-width:700px){.hourly-calendar{--hour-axis-width:68px}.agenda-density{gap:4px}.agenda-density .row{gap:12px}.agenda-density .text-button{min-height:44px}.hour-grid-head .day-add{min-height:44px;min-width:44px}.hour-toggle{font-size:11px}.timed-entry .agenda-entry strong{font-size:13px}}
/* Compact hour previews and a separate lane keep full-day occupancy readable. */
.hour-summary{display:grid;align-content:center;justify-content:stretch;gap:6px;min-height:64px;padding:8px 9px;text-align:left;line-height:16px}
.hour-summary-top{display:flex;align-items:center;gap:6px;min-width:0}.hour-summary-top strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600}.hour-summary-top svg{flex-shrink:0;color:var(--muted)}
.hour-summary-preview{display:flex;align-items:center;gap:6px;min-width:0;font-size:11px;color:var(--preview-ink,var(--muted))}.hour-summary-time{flex-shrink:0;font-variant-numeric:tabular-nums}.hour-summary-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda-all-day{display:grid;grid-template-columns:var(--hour-axis-width) minmax(0,1fr)}.all-day-caption{position:sticky;left:0;z-index:3;display:flex;align-items:center;padding:10px 8px;background:#fff;color:var(--muted);font-size:10px;line-height:15px}.all-day-cells{display:grid;grid-template-columns:repeat(var(--days),minmax(140px,1fr));border-left:1px solid var(--line)}.all-day-cell{min-width:0;display:grid;align-content:start;gap:5px;padding:5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbf8f8}.all-day-entry{min-width:0}.all-day-card.agenda-entry{min-height:78px;height:auto;padding:8px;gap:3px;border-width:1px}.all-day-card .event-time{white-space:normal;line-height:15px}.all-day-card .entry-professional{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hourly-day .all-day-cells{grid-template-columns:minmax(0,1fr)}
/* Day details follow content height instead of stretching the weekly grid. */
.agenda-layout{display:block;min-width:0}.agenda-layout>.hourly-calendar{min-width:0}.morning-anchor{border:0;margin:0;padding:0}
.morning-range{border:0;background:transparent;min-width:0;margin:0;padding:0}
.morning-toggle{display:inline-flex;align-items:center;justify-content:flex-start;gap:3px;min-height:28px;width:auto;padding:4px 0;border:0;border-radius:4px;background:transparent;color:var(--muted);opacity:.72;font-size:11px;font-weight:400;line-height:20px;white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}
.morning-chevron{flex-shrink:0}.morning-toggle[aria-expanded=true] .morning-chevron{transform:rotate(90deg)}
.day-agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px}.day-agenda-toolbar .day-agenda-help{margin:0}
@media(hover:hover) and (pointer:fine){.morning-toggle:hover{background:transparent;color:var(--ink);opacity:1}}
@media(pointer:coarse){.morning-toggle{min-height:44px}}

.morning-toggle:focus-visible{opacity:1}
.morning-toggle:focus-visible,.day-free-slots>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.day-agenda-help{margin-bottom:12px}.day-agenda .agenda-week{max-width:1160px;margin:0}.day-agenda{overflow:visible}
.day-agenda-hour{display:grid;grid-template-columns:76px minmax(0,1fr);padding-block:12px;border-bottom:1px solid var(--line)}
.day-agenda-hour>h3{font-size:12px;color:var(--muted);padding:12px 8px;font-variant-numeric:tabular-nums}.day-agenda-hour>h3 small{display:block;font-size:10px}
.day-agenda-items{display:grid;gap:8px;min-width:0}.day-event.event{display:grid;grid-template-columns:116px minmax(0,1fr) 180px;gap:16px;height:auto;min-height:96px;padding:16px;text-align:left}
.day-event.event strong{font-size:15px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.day-event-main{display:grid;gap:4px;min-width:0;font-size:12px}.day-event-service{font-weight:550}.day-event-service:empty{display:none}
.day-event-contact{font-size:12px;overflow-wrap:anywhere}.day-event-time{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.day-event-time small{display:block;margin-top:4px;font-weight:400}
.day-event-status{display:grid;align-content:start;justify-items:start;gap:6px;min-width:0}.day-event-status small{font-size:11px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.day-event.event-block{color:var(--red);background:#faeeee;border-color:#ecd4da;border-left-color:var(--red)}.day-event.event-review{color:#775922;background:#fff5df;border-color:#ecd9ae;border-left-color:#aa7b28}
.day-agenda-empty{padding:24px 12px;color:var(--muted);font-size:13px}.day-free-slots{color:var(--green);font-size:12px}.day-free-slots>summary{min-height:44px;padding:12px;cursor:pointer;background:#f0f6f1;border-radius:6px}.day-slot-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;padding:8px 0}.day-slot-list .free-slot{position:static;width:100%;height:auto;min-height:64px;margin:0}
@media(max-width:1100px){.day-event.event{grid-template-columns:104px minmax(0,1fr)}.day-event-status{grid-column:2;display:flex;align-items:center;flex-wrap:wrap}}
@media(max-width:700px){.day-agenda-hour{grid-template-columns:1fr;gap:4px;padding-block:8px}.day-agenda-hour>h3{padding:4px}.day-event.event{grid-template-columns:1fr;gap:8px;padding:12px}.day-event-time{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.day-event-time small{margin:0}.day-event-status{grid-column:1}.day-agenda .agenda-all-day{grid-template-columns:52px minmax(0,1fr)}}
.day-agenda-tools .day-head{justify-content:flex-start;padding:8px;background:transparent}.day-agenda-tools .day-add{margin:0}
.palette-row{display:grid;grid-template-columns:minmax(140px,1fr) 90px minmax(140px,1fr);gap:16px;align-items:end}.palette-row label{display:grid;gap:6px;font-size:12px}.palette-row input{min-height:44px;max-width:100%;width:100%;border:1px solid var(--line);border-radius:6px;padding:8px}.palette-row input[type=color]{padding:4px}.palette-preview{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:6px;font-size:13px}.palette-row+button,#add-agenda-color{margin-top:16px}
.event[style*="--event-bg"],.agenda-entry.free-slot[style*="--event-bg"]{background:var(--event-bg);color:var(--event-ink);border-color:color-mix(in srgb,var(--event-ink) 25%,transparent);border-left-color:var(--event-ink)}
@media(max-width:700px){.palette-row{grid-template-columns:minmax(0,1fr) 72px;gap:8px}.palette-preview{grid-column:1/-1}}
/* Month is a complete date grid; only the page itself scrolls vertically. */
.month-help{margin-bottom:12px}.month-calendar{min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;overflow:clip}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.month-weekdays{background:var(--paper)}.month-weekdays>span{padding:12px 6px;color:var(--muted);text-align:center;font-size:11px;font-weight:600}.month-day{min-width:0;min-height:180px;padding:4px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fff}.month-day:nth-child(7n){border-right:0}.month-day.outside-month{background:#f7f8f6}.month-day.outside-month .month-day-number{color:var(--muted)}.month-day-open{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-height:44px;border:0;border-radius:6px;padding:4px 5px;background:transparent;color:var(--ink);text-align:left}.month-day-number{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;border-radius:50%;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.is-today .month-day-number{background:var(--accent);color:#fff}.month-day-count{font-size:10px;font-weight:600;white-space:nowrap}.month-day-preview{display:grid;gap:4px}.month-event{display:flex;align-items:center;gap:5px;min-height:44px;min-width:0;width:100%;padding:6px;border:0;border-radius:5px;color:var(--event-ink);background:var(--event-bg);text-align:left;font-size:11px;line-height:16px}.month-event-block{color:var(--red);background:#faeded}.month-event-review{color:#806000;background:#fff7d6}.month-event-time{flex-shrink:0;font-size:10px;font-variant-numeric:tabular-nums}.month-event-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.month-event.highlighted{outline:2px solid var(--accent);outline-offset:-2px}.month-more{min-height:44px;padding:5px;border:0;background:transparent;color:var(--accent);text-align:left;font-size:11px}.month-free,.month-empty{padding:7px 5px;font-size:10px;line-height:16px;color:var(--muted)}.month-free{color:var(--green)}.month-mobile-marks{display:none}.month-day-open:focus-visible,.month-event:focus-visible,.month-more:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(hover:hover) and (pointer:fine){.month-day-open:hover,.month-more:hover{background:#f1e7eb;color:var(--accent)}.month-event:hover{filter:brightness(.97)}}
@media(max-width:1100px) and (min-width:701px){.month-event{display:grid;gap:1px}.month-count-label{display:none}}
@media(max-width:700px){.month-day{min-height:88px;padding:2px}.month-weekdays>span{padding:10px 2px;font-size:10px}.month-day-open{position:relative;min-height:82px;align-content:start;justify-content:center;align-items:start;flex-wrap:wrap;gap:2px;padding:5px 1px}.month-day-number{width:27px;height:27px;font-size:13px}.month-day-count{width:100%;text-align:center;font-size:10px;line-height:14px}.month-count-label{display:none}.month-mobile-marks{display:flex;justify-content:center;gap:3px;width:100%;min-height:10px;padding-top:3px}.month-mobile-marks i{display:block;width:5px;height:5px;border-radius:50%;background:var(--ink)}.month-mobile-marks .is-available{background:var(--green)}.month-day-preview{display:none}.all-day-card.agenda-entry{min-height:80px}.hour-summary{padding-inline:7px}}

.month-event[style*="--event-bg"]{background:var(--event-bg);color:var(--event-ink)}

.day-agenda-head{display:grid;grid-template-columns:var(--hour-axis-width) minmax(0,1fr);min-height:68px;align-items:center;margin-bottom:8px}.day-agenda-head .hour-axis-caption{align-self:stretch}.day-agenda-head .day-agenda-help{margin:0;padding:8px 0}

/* Operational tools preserve the incumbent form and list vocabulary. */
.ops-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin:24px 0;padding:20px 0;border-block:1px solid var(--line,#dee3e1)}
.ops-summary div{min-width:0}.ops-summary dt{color:var(--muted,#606d73);font-size:.9rem}.ops-summary dd{font-size:1.5rem;font-weight:650;margin:4px 0 0;font-variant-numeric:tabular-nums}
.ops-tabs{margin:20px 0;flex-wrap:wrap}.ops-toolbar{flex-wrap:wrap;margin-block:20px}.ops-check{display:flex;align-items:center;gap:12px;min-height:44px}.ops-check input{width:20px;height:20px;flex:none}.ops-template{margin-block:20px;padding:16px;border:1px solid var(--line,#dee3e1)}.ops-template label{display:grid;gap:6px}.result-row h3,.result-row p{overflow-wrap:anywhere}.ops-template textarea{width:100%}
@media(max-width:700px){.ops-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-tabs{display:flex}.ops-tabs button{min-height:44px}.sidebar .nav{max-height:none}.result-row{gap:12px}}
@media print{body{background:#fff!important;color:#000!important}.sidebar,.topbar,.mobile-nav,.banner,.toast,.skip-link,.page button,.page form,.page .view-switch,dialog{display:none!important}.shell,.main-area{display:block!important}.page{padding:0!important;margin:0!important}.result-row,.ops-summary{break-inside:avoid}.page details{display:block}.page details:not([open])>*:not(summary){display:none}.page .table-actions{display:none}.page a{color:#000}.page-title p{max-width:none}}
