@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root{--blue:#163f7a;--blue-dark:#0c2d59;--gold:#c6a75e;--cream:#faf2eb;--paper:#fffdf9;--ink:#18202b;--muted:#6b7280;--line:#e7ded4;--ok:#2f7d5b;--shadow:0 12px 32px rgba(18,45,78,.08)}
*{box-sizing:border-box}
html{background:var(--cream);color:var(--ink);font-family:Inter,system-ui,sans-serif}
body{margin:0;min-height:100vh;padding-bottom:28px;background:linear-gradient(180deg,#f7ede4 0,#fffdf9 34rem)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;background:rgba(250,242,235,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(22,63,122,.1)}
.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:var(--blue);color:white;font-family:"Playfair Display",serif;font-size:24px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
.app-header>div:nth-child(2){flex:1}
.eyebrow{margin:0;color:var(--blue);font-size:.72rem;font-weight:700;letter-spacing:.14em}
.eyebrow.gold{color:#947634}
.today-label{margin:3px 0 0;color:var(--muted);font-size:.78rem;text-transform:capitalize}
.install-btn,.text-btn,.card-link{border:0;background:none;color:var(--blue);font-weight:700}
.install-btn{padding:8px 10px;border:1px solid var(--blue);border-radius:9px;font-size:.76rem}
.menu-toggle{display:grid;align-content:center;gap:4px;width:40px;height:40px;flex:none;padding:8px;border:0;border-radius:10px;background:transparent}.menu-toggle span{display:block;width:23px;height:2px;margin:auto;border-radius:3px;background:var(--blue-dark)}.menu-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.menu-backdrop{position:fixed;inset:0;z-index:40;background:rgba(10,24,42,.38);backdrop-filter:blur(2px)}.menu-backdrop[hidden]{display:none}.app-menu{position:fixed;top:0;right:0;z-index:41;width:min(84vw,330px);height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));background:var(--paper);box-shadow:-18px 0 45px rgba(13,45,89,.18);transform:translateX(105%);transition:transform .2s ease}.app-menu.open{transform:translateX(0)}.app-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 18px;border-bottom:1px solid var(--line)}.app-menu-head strong{display:block;margin-top:4px;color:var(--blue-dark);font-family:"Playfair Display",serif;font-size:1.25rem}.menu-close{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:#f3f6fa;color:var(--muted);font-size:1.65rem}.app-menu-nav{display:grid;gap:6px;padding-top:14px}.app-menu-nav button{display:block;width:100%;padding:13px 14px;border:1px solid transparent;border-radius:12px;background:transparent;text-align:left}.app-menu-nav button span{display:block;color:var(--blue-dark);font-size:.95rem;font-weight:700}.app-menu-nav button small{display:block;margin-top:3px;color:var(--muted);font-size:.7rem}.app-menu-nav button.active{border-color:#dbc58b;background:#fff9ea}.app-menu-nav button.active span{color:var(--blue)}body.menu-open{overflow:hidden}
main{max-width:760px;margin:auto;padding:23px 17px 10px}
.view{display:none;animation:appear .2s ease}.view.active{display:block}
@keyframes appear{from{opacity:.3;transform:translateY(4px)}}
h1,h2{font-family:"Playfair Display",Georgia,serif;color:var(--blue-dark)}
h1{margin:5px 0 20px;font-size:clamp(1.9rem,8vw,2.65rem);line-height:1.05;letter-spacing:-.025em}
h2{margin:0;font-size:1.2rem}
.welcome-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.service-state{flex:none;padding:8px 10px;border:1px solid var(--line);border-radius:99px;background:white;color:var(--muted);font-size:.75rem;font-weight:700;cursor:pointer}.service-state::after{content:' ›';margin-left:4px}.service-state:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.priority-card{position:relative;margin:4px 0 27px;padding:18px;border-radius:18px;background:var(--blue);box-shadow:0 14px 30px rgba(22,63,122,.18);overflow:hidden}
.priority-card:after{content:"";position:absolute;width:90px;height:90px;right:-42px;top:-45px;transform:rotate(45deg);border:1px solid rgba(198,167,94,.6)}
.priority-card label{display:block;margin-bottom:8px;color:#efdba9;font-family:"Playfair Display",serif;font-weight:700;font-size:1.05rem}
textarea,input,select{width:100%;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);outline:none}
textarea:focus,input:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,167,94,.16)}
textarea{padding:12px;resize:vertical;line-height:1.45}
input,select{min-height:45px;padding:10px 12px}
.priority-card textarea{position:relative;z-index:1;padding:0;border:0;border-radius:0;background:transparent;color:white;font-size:1.04rem;box-shadow:none}
.priority-card textarea::placeholder{color:rgba(255,255,255,.55)}
.section-title-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 11px}.section-title-row.compact{margin:0 0 13px}
.text-btn{padding:7px 0;font-size:.85rem}
.task-list,.check-list,.staff-list,.journal-list{display:grid;gap:9px}
.task-item,.check-item,.staff-item{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}
.task-item input,.check-item input,.scheduled-item input{appearance:none;width:21px;height:21px;min-height:0;flex:none;padding:0;border:1.5px solid #9aa4b1;border-radius:6px}
.task-item input:checked,.check-item input:checked,.scheduled-item input:checked{border-color:var(--blue);background:var(--blue);box-shadow:inset 0 0 0 4px var(--paper)}
.task-item>span,.check-item>span{flex:1;font-size:.93rem}.task-item.done .task-copy strong,.task-item.done>span,.check-item.done span{text-decoration:line-through;color:#9299a3}
.task-copy{display:block;min-width:0;flex:1}.task-copy strong{display:block;color:var(--ink);font-size:.93rem;font-weight:600}.task-copy small{display:block;margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.35}
.task-item.overdue{border-color:#d9a4a4;background:#fff7f6}.task-copy small.task-overdue{color:#b42318;font-weight:800}
.task-item.important:not(.overdue){border-color:#d8bf7b;background:#fffaf0}.important-toggle{display:grid;place-items:center;width:32px;height:32px;flex:none;padding:0;border:0;border-radius:8px;background:transparent;color:#9aa0a8;font-size:1.35rem;line-height:1}.important-toggle.active{color:#c42929}.important-toggle:focus-visible{outline:2px solid #c42929;outline-offset:1px}
.delete{border:0;background:none;color:#a0a5ad;font-size:1.15rem;padding:3px 5px}
.item-actions{display:flex;align-items:center;gap:3px;flex:none}.edit-item{min-height:32px;padding:5px 8px;border:1px solid #c9d3df;border-radius:8px;background:#f7f9fb;color:var(--blue);font-size:.7rem;font-weight:700}
.schedule-card{margin:18px 0 24px;border:1px solid var(--line);border-radius:15px;background:rgba(255,253,249,.8);overflow:hidden}.schedule-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;list-style:none}.schedule-card summary::-webkit-details-marker{display:none}.schedule-card summary strong{display:block;margin-top:3px;color:var(--blue-dark);font-family:"Playfair Display",serif}.schedule-count{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:99px;background:#f1e9d9;color:#745a22;font-size:.78rem;font-weight:700}.schedule-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px 8px}.schedule-actions .subtle{color:var(--muted);font-size:.72rem}.scheduled-list{display:grid;gap:12px;padding:0 14px 14px}.schedule-day{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:white}.schedule-day h3{margin:0;padding:9px 12px;background:#f3f6fa;color:var(--blue-dark);font-size:.76rem;text-transform:capitalize}.scheduled-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-top:1px solid var(--line)}.schedule-day .scheduled-item:first-of-type{border-top:0}.scheduled-item.done .task-copy strong,.scheduled-item.done .task-copy small{text-decoration:line-through;color:#9299a3}.scheduled-item.overdue{background:#fff1f0}.scheduled-item.important:not(.overdue){background:#fff9f8}.scheduled-item.important{border-left:3px solid #c42929}.scheduled-marker{width:21px;height:21px;flex:none;border-radius:50%;border:1px solid #c9d3df;background:#f7f9fb}
.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}
.mini-card,.week-card,.form-card,.report-card{border:1px solid var(--line);background:rgba(255,253,249,.94);box-shadow:var(--shadow)}
.mini-card{padding:15px;border-radius:15px}.mini-label{display:block;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.mini-card strong{display:block;margin:7px 0 1px;color:var(--blue);font-family:"Playfair Display",serif;font-size:1.55rem}.mini-card p{margin:0 0 11px;color:var(--muted);font-size:.72rem;line-height:1.35}.card-link{padding:0;font-size:.75rem}.progress{height:5px;margin:5px 0 14px;border-radius:10px;background:#e7e9ed;overflow:hidden}.progress span{display:block;width:0;height:100%;background:var(--gold);transition:width .2s}
.week-card,.form-card,.report-card{margin:18px 0;padding:17px;border-radius:17px}.week-list{display:grid;gap:4px}.week-item{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:.85rem}.week-item strong{width:76px;color:var(--blue)}
.phase-switch{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 18px;padding:4px;border-radius:13px;background:#e9e2dc}.phase-switch button{padding:10px 5px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:.75rem;font-weight:700}.phase-switch button.active{background:white;color:var(--blue);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.phase-panel{animation:phaseIn .18s ease}.phase-panel[hidden]{display:none}@keyframes phaseIn{from{opacity:.35;transform:translateY(5px)}}.phase-lead-card{margin-top:0}.phase-lead-card .section-title-row{margin-bottom:0}.phase-report-link{margin-top:18px}.closing-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.closing-summary div{padding:11px 8px;border:1px solid var(--line);border-radius:10px;background:#f9f6f1}.closing-summary span{display:block;color:var(--muted);font-size:.65rem;font-weight:700;text-transform:uppercase}.closing-summary strong{display:block;margin-top:4px;color:var(--blue);font-family:"Playfair Display",serif;font-size:1rem}
.form-card{display:grid;gap:15px}.form-card h2{margin-bottom:1px}.form-card label,.field-grid label{display:grid;gap:7px;color:var(--blue-dark);font-size:.78rem;font-weight:700}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.holiday-option{display:flex!important;align-items:center;gap:9px!important;min-height:45px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--blue-dark);font-size:.78rem;font-weight:700}.holiday-option input{width:19px;height:19px;min-height:19px;flex:none;padding:0;accent-color:var(--blue)}
.intro{margin:-11px 0 22px;color:var(--muted);font-size:.94rem;line-height:1.5}.staff-item{align-items:flex-start}.avatar{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:#e8dfd6;color:var(--blue);font-family:"Playfair Display",serif;font-weight:700}.staff-copy{flex:1}.staff-copy strong{display:block;color:var(--blue-dark)}.staff-copy span{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}
.primary,.secondary,.danger{min-height:46px;padding:11px 17px;border-radius:11px;font-weight:700}.primary{border:1px solid var(--blue);background:var(--blue);color:white}.secondary{border:1px solid var(--line);background:white;color:var(--blue)}.danger{border:1px solid #9f3030;background:#9f3030;color:white}.full{width:100%;margin-bottom:18px}
.journal-list{gap:12px}.journal-item{padding:16px;border-left:4px solid var(--gold);border-radius:4px 14px 14px 4px;background:white;box-shadow:var(--shadow)}.journal-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem}.journal-item h3{margin:8px 0 5px;color:var(--blue-dark);font-family:"Playfair Display",serif}.journal-item p{margin:0;color:#4c5562;font-size:.88rem;line-height:1.45}.followup{display:inline-block;margin-top:10px;padding:5px 8px;border-radius:6px;background:#f1e9d9;color:#745a22;font-size:.7rem;font-weight:700}
.voice-card{margin:0 0 20px;padding:17px;border:1px solid var(--line);border-radius:17px;background:rgba(255,253,249,.94);box-shadow:var(--shadow)}.voice-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.voice-card-head h2{margin-top:4px}.voice-local{padding:6px 8px;border-radius:99px;background:#f1e9d9;color:#745a22;font-size:.65rem;font-weight:700}.voice-intro{margin:11px 0 14px;color:var(--muted);font-size:.84rem;line-height:1.45}.voice-controls{display:flex;align-items:center;gap:12px}.voice-record{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;flex:1;padding:10px 14px;border:1px solid var(--blue);border-radius:11px;background:var(--blue);color:white;font-weight:700}.record-dot{width:11px;height:11px;border-radius:50%;background:#ef7777;box-shadow:0 0 0 3px rgba(255,255,255,.16)}.voice-record.recording{border-color:#9f3030;background:#9f3030}.voice-record.recording .record-dot{background:white;animation:recordPulse 1s infinite}.recording-timer{min-width:48px;color:var(--blue-dark);font-variant-numeric:tabular-nums;text-align:right}@keyframes recordPulse{50%{opacity:.35}}.voice-status{min-height:18px;margin:9px 0 13px;color:var(--muted);font-size:.72rem;line-height:1.4}.voice-list{display:grid;gap:9px}.voice-item{padding:12px;border:1px solid var(--line);border-radius:12px;background:white}.voice-item-head{display:flex;align-items:center;gap:8px;margin-bottom:9px}.voice-item-head div{flex:1}.voice-item-head strong{display:block;color:var(--blue-dark);font-size:.82rem}.voice-item-head span{display:block;margin-top:2px;color:var(--muted);font-size:.68rem}.voice-item audio{display:block;width:100%;height:38px}.voice-item .delete{flex:none}.voice-empty{padding:14px 10px;border:1px dashed #d5cbc0;border-radius:11px;color:var(--muted);text-align:center;font-size:.78rem}
.metrics{margin:0 0 12px}.revenue-split,.labor-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:17px}.revenue-split div,.labor-summary div{padding:13px;border:1px solid var(--line);border-radius:12px;background:white}.revenue-split div:last-child{grid-column:1/-1}.revenue-split span,.labor-summary span{display:block;color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.revenue-split strong,.labor-summary strong{display:block;margin-top:5px;color:var(--blue);font-family:"Playfair Display",serif;font-size:1.22rem}.labor-note{margin:-7px 1px 17px;padding:11px 12px;border-left:3px solid var(--gold);border-radius:0 9px 9px 0;background:#f9f6f1;color:var(--muted);font-size:.72rem;line-height:1.45}.score-label{display:grid;gap:12px;margin:14px 1px;color:var(--blue-dark);font-size:.84rem}.score-label strong{color:var(--blue)}input[type=range]{padding:0;accent-color:var(--blue)}.report-card pre{margin:0;white-space:pre-wrap;font-family:Inter,sans-serif;font-size:.84rem;line-height:1.55}.action-row{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}
.history-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:30px 1px 12px}.history-head h2{margin-top:4px}.history-tools{display:flex;align-items:center;gap:7px}.history-count{display:grid;place-items:center;min-width:32px;height:32px;padding:0 9px;border-radius:99px;background:var(--blue);color:white;font-size:.8rem;font-weight:700}.clear-history{min-height:32px;padding:5px 8px;border:1px solid #c9bdb2;border-radius:8px;background:white;color:#8b3030;font-size:.68rem;font-weight:700}.clear-history:disabled{opacity:.4}.history-list{display:grid;gap:10px}.history-item{border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}.history-item summary{display:flex;align-items:center;gap:12px;padding:14px;cursor:pointer;list-style:none}.history-item summary::-webkit-details-marker{display:none}.history-date{flex:1}.history-date strong{display:block;color:var(--blue-dark);font-family:"Playfair Display",serif}.history-date span{display:block;margin-top:3px;color:var(--muted);font-size:.74rem}.history-score{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f1e9d9;color:#745a22;font-weight:700}.history-body{padding:0 14px 15px;border-top:1px solid var(--line)}.history-body pre{margin:14px 0;white-space:pre-wrap;font-family:Inter,sans-serif;font-size:.79rem;line-height:1.5}.history-copy{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--blue);border-radius:9px;background:white;color:var(--blue);font-size:.78rem;font-weight:700}
.history-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;margin:14px 0 5px}.history-pagination[hidden]{display:none}.history-pagination button{min-height:40px;padding:8px 10px;font-size:.74rem}.history-pagination button:disabled{opacity:.4;cursor:default}.history-pagination span{min-width:76px;color:var(--muted);font-size:.72rem;font-weight:700;text-align:center}
.history-export{margin:0 0 12px}.history-export:disabled{opacity:.4}.save-hint{margin-top:10px!important;padding:10px;border-radius:9px;background:#f1e9d9;color:#745a22!important;font-size:.76rem!important}
.fab{position:fixed;right:19px;bottom:22px;z-index:12;width:52px;height:52px;border:0;border-radius:50%;background:var(--gold);color:var(--blue-dark);font-size:2rem;line-height:1;box-shadow:0 10px 24px rgba(90,67,15,.25)}

dialog{width:min(92vw,480px);padding:0;border:0;border-radius:19px;background:var(--paper);box-shadow:0 25px 80px rgba(13,45,89,.25)}dialog::backdrop{background:rgba(12,25,42,.52);backdrop-filter:blur(3px)}dialog form{padding:20px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between}.dialog-head h2{margin-top:3px;font-size:1.5rem}.close-btn{border:0;background:none;color:#7c838d;font-size:1.8rem}.dialog-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:17px}#dynamicFields{display:grid;gap:13px;margin-top:16px}#dynamicFields label{display:grid;gap:6px;color:var(--blue-dark);font-size:.78rem;font-weight:700}
.custom-days{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px}.custom-days[hidden]{display:none}.custom-days legend{padding:0 5px;color:var(--blue-dark);font-size:.78rem;font-weight:700}.custom-days label{display:flex!important;align-items:center;gap:5px!important;padding:7px 4px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)!important;font-size:.75rem!important;font-weight:600!important}.custom-days input{width:17px;min-height:17px;height:17px;padding:0;accent-color:var(--blue)}
.important-option{display:flex!important;align-items:center;gap:10px!important;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fffaf0;color:var(--ink)!important}.important-option input{width:20px;min-height:20px;height:20px;flex:none;padding:0;accent-color:var(--gold)}.important-option span{display:block}.important-option strong{display:block;color:var(--blue-dark);font-size:.8rem}.important-option small{display:block;margin-top:2px;color:var(--muted);font-size:.7rem;font-weight:500;line-height:1.35}
.confirm-dialog{padding:22px}.confirm-dialog h2{margin:5px 0 10px;font-size:1.55rem}.confirm-dialog p:not(.eyebrow){margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
#toast{position:fixed;left:50%;bottom:98px;z-index:30;max-width:90%;padding:11px 15px;border-radius:10px;background:var(--blue-dark);color:white;font-size:.8rem;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
.empty{padding:20px 12px;border:1px dashed #d5cbc0;border-radius:13px;color:var(--muted);text-align:center;font-size:.84rem}
@media(min-width:700px){body{padding-bottom:25px}.app-header{padding-left:max(22px,calc((100vw - 760px)/2));padding-right:max(22px,calc((100vw - 760px)/2))}.fab{right:calc((100vw - 760px)/2 + 20px);bottom:28px}main{padding-top:18px}.grid-two{gap:14px}}
@media(max-width:370px){main{padding-left:13px;padding-right:13px}.grid-two{grid-template-columns:1fr}.welcome-row{display:block}.service-state{display:inline-block;margin-bottom:16px}}

.service-control{padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.service-control+.service-control{margin-top:9px}.service-control-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.service-control-head strong{color:var(--ink);font-size:.93rem}.service-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.service-choice button{min-height:40px;border:1px solid #c9d3df;border-radius:10px;background:white;color:var(--blue);font-weight:700}.service-choice button.active{border-color:var(--blue);background:var(--blue);color:white}.service-control.service-ko{border-color:#d9a4a4;background:#fff8f7}.service-control.service-ko .service-choice button[data-value="no"].active{border-color:#9f3030;background:#9f3030}.service-control.service-ok{border-color:#b9d8c9}.service-note-label{display:grid;gap:6px;color:var(--blue-dark);font-size:.72rem;font-weight:700}.service-note-label textarea{min-height:62px;background:white;font-size:.84rem}

.staff-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:white;box-shadow:var(--shadow)}.staff-table{width:100%;border-collapse:collapse;min-width:650px}.staff-table th,.staff-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.staff-table th{background:#f3f6fa;color:var(--blue-dark);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.staff-table td{font-size:.82rem}.staff-table tr:last-child td{border-bottom:0}.staff-table select{min-height:38px;padding:7px 9px;font-size:.78rem}.staff-actions{white-space:nowrap}.staff-actions .edit-item{margin-right:4px}
@media(max-width:620px){.staff-table-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}.staff-table{display:block;min-width:0}.staff-table thead{display:none}.staff-table tbody{display:grid;gap:10px}.staff-table tr{display:grid;grid-template-columns:1fr 1fr;padding:12px;border:1px solid var(--line);border-radius:13px;background:white;box-shadow:var(--shadow)}.staff-table td{display:grid;gap:3px;padding:6px 7px;border:0}.staff-table td:before{content:attr(data-label);color:var(--muted);font-size:.62rem;font-weight:700;text-transform:uppercase}.staff-table td[data-label="Mansione"],.staff-table td[data-label="Stato"],.staff-table .staff-actions{grid-column:1/-1}.staff-table .staff-actions{display:flex;justify-content:flex-end;align-items:center}.staff-table .staff-actions:before{display:none}}

.staff-summary{margin:12px 0 22px}.staff-summary-totals{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:var(--shadow)}.staff-summary-totals>div{display:grid;gap:3px;padding:12px 10px;text-align:center}.staff-summary-totals>div+div{border-left:1px solid var(--line)}.staff-summary-totals span{color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.staff-summary-totals strong{color:var(--blue-dark);font-family:"Playfair Display",serif;font-size:1.55rem}.staff-summary-roles{margin-top:10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fffaf0}.staff-summary-roles>div{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:8px}.staff-summary-roles>div span{color:var(--ink);font-size:.76rem}.staff-summary-roles>div strong{color:var(--blue-dark);font-weight:800}

.warehouse-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 20px;padding:4px;border:1px solid var(--line);border-radius:13px;background:white}.warehouse-tabs button,.warehouse-filters button{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:700}.warehouse-tabs button.active,.warehouse-filters button.active{background:var(--blue);color:white}.warehouse-filters{display:flex;gap:7px;overflow-x:auto;margin:0 0 13px;padding-bottom:2px}.warehouse-filters button{flex:none;min-width:68px;padding:0 12px;border:1px solid var(--line);background:white}.warehouse-summary{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:white}.warehouse-summary>div{display:grid;gap:2px;padding:10px;text-align:center}.warehouse-summary>div+div{border-left:1px solid var(--line)}.warehouse-summary span{color:var(--muted);font-size:.62rem;font-weight:700;text-transform:uppercase}.warehouse-summary strong{color:var(--blue-dark);font-family:"Playfair Display",serif;font-size:1.35rem}.warehouse-content{display:grid;gap:10px}.stock-card,.stock-alert,.stock-movement{border:1px solid var(--line);border-radius:14px;background:white;box-shadow:var(--shadow)}.stock-card{padding:14px}.stock-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.stock-card h3,.stock-alert h3{margin:4px 0 0;color:var(--blue-dark);font-family:"Playfair Display",serif;font-size:1.12rem}.stock-category{color:var(--muted);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.stock-status{flex:none;padding:5px 8px;border-radius:99px;font-size:.64rem;font-weight:800}.stock-status.ok{background:#edf7f1;color:#2f7d5b}.stock-status.low{background:#fff3d8;color:#8a6418}.stock-status.empty-stock{background:#fdeaea;color:#9a3030}.stock-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.stock-meta>div{padding:9px 10px;border-radius:10px;background:#f7f8fa}.stock-meta span,.order span{display:block;color:var(--muted);font-size:.62rem;font-weight:700;text-transform:uppercase}.stock-meta strong{display:block;margin-top:2px;color:var(--ink);font-size:.9rem}.stock-supplier{margin:10px 0 0;color:var(--muted);font-size:.72rem}.stock-move-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:7px;margin-top:12px}.stock-move-row input{min-height:42px;padding:8px;text-align:center}.stock-move-row button{min-height:42px;border:1px solid var(--blue);border-radius:10px;background:white;color:var(--blue);font-size:.7rem;font-weight:800}.stock-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.stock-movement{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px}.stock-movement strong{display:block;color:var(--ink);font-size:.84rem}.stock-movement small{display:block;margin-top:3px;color:var(--muted);font-size:.66rem}.stock-movement>span{font-weight:800}.stock-movement>span.in{color:var(--ok)}.stock-movement>span.out{color:#9a3030}.stock-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px}.stock-alert p{margin:4px 0 0;color:var(--muted);font-size:.72rem}.stock-alert>strong{max-width:40%;color:var(--blue-dark);font-size:.72rem;text-align:right}.stock-alert.order>div:last-child{text-align:right}.stock-alert.order small{display:block;margin-top:3px;color:var(--muted);font-size:.64rem}
@media(max-width:420px){.warehouse-tabs{grid-template-columns:repeat(2,1fr)}.stock-move-row{grid-template-columns:60px 1fr 1fr}.stock-move-row button{padding:7px 5px;font-size:.64rem}}

.staff-title-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.staff-title-actions .subtle{color:var(--muted);font-size:.72rem}

.scheduled-item.overdue{border-color:#d9a4a4;background:#fff6f5}.scheduled-item.overdue .task-copy strong{color:#9f3030}.scheduled-item.overdue .task-overdue{color:#9f3030;font-weight:700}

@media(max-width:620px){input,textarea,select{font-size:16px}}

.warehouse-advanced-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 13px}.warehouse-advanced-filters label{display:grid;gap:5px;color:var(--blue-dark);font-size:.68rem;font-weight:700}.warehouse-advanced-filters select{min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink)}.warehouse-advanced-filters[hidden]{display:none}.stock-alert-category{margin-top:4px!important;color:#947634!important;font-size:.64rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.04em}@media(max-width:420px){.warehouse-advanced-filters{grid-template-columns:1fr}}

.warehouse-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.warehouse-head-actions .subtle{color:var(--muted);font-size:.72rem}.stock-category-manager{margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fffaf0}.stock-category-manager[hidden]{display:none}.stock-category-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stock-category-manager-head h2{margin-top:3px}.stock-category-manager>p{margin:7px 0 12px;color:var(--muted);font-size:.76rem;line-height:1.4}.stock-category-manager>.secondary{width:100%;margin-bottom:10px}.stock-category-manage{padding:11px 0;border-top:1px solid var(--line)}.stock-category-manage-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.stock-category-manage-head>strong{color:var(--blue-dark);font-size:.9rem}.stock-category-manage-head>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.stock-category-manage-head .text-btn{padding:5px;font-size:.68rem}.stock-subcategory-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.stock-subcategory-list>span{display:inline-flex;align-items:center;gap:3px;padding:5px 6px 5px 9px;border:1px solid var(--line);border-radius:99px;background:white;color:var(--ink);font-size:.7rem}.stock-subcategory-list>span button{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:#f1f3f5;color:var(--muted);font-size:.7rem}.stock-subcategory-list small{color:var(--muted)}@media(max-width:420px){.stock-category-manage-head{align-items:flex-start;flex-direction:column}.stock-category-manage-head>div{justify-content:flex-start}}
