:root{--bg:#f7f8fb;--panel:#fff;--panel2:#f1f3f7;--text:#171a21;--muted:#707785;--border:#e3e6eb;--accent:#1a73e8;--danger:#d93025;--warn:#e37400;--ok:#188038;--shadow:0 8px 28px rgba(18,24,40,.06);--radius:18px}
:root[data-theme="dark"]{--bg:#0f1218;--panel:#171b24;--panel2:#202633;--text:#f3f5f8;--muted:#9aa3b2;--border:#303847;--shadow:0 8px 28px rgba(0,0,0,.25)}
@media(prefers-color-scheme:dark){:root[data-theme="auto"]{--bg:#0f1218;--panel:#171b24;--panel2:#202633;--text:#f3f5f8;--muted:#9aa3b2;--border:#303847;--shadow:0 8px 28px rgba(0,0,0,.25)}}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}.app-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:22px 15px;position:sticky;top:0;height:100vh;z-index:20}.brand{display:flex;gap:10px;align-items:center;font-weight:850;font-size:18px;margin:2px 8px 28px}.brand-badge{width:34px;height:34px;border-radius:11px;background:#111827;color:#fff;display:grid;place-items:center}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;padding:11px 12px;border-radius:12px;text-align:left;color:var(--muted)}.nav button.active{background:var(--panel2);color:var(--text);font-weight:750}.content{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 90%,transparent);position:sticky;top:0;z-index:15;backdrop-filter:blur(16px)}.topbar h1{font-size:21px;margin:0}.top-actions{display:flex;align-items:center;gap:9px}.main{padding:25px 28px 92px;max-width:1540px;margin:auto}.bottom-nav{display:none}.btn{border:1px solid var(--border);background:var(--panel);border-radius:11px;padding:9px 13px;font-weight:670}.btn:hover{background:var(--panel2)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:var(--danger)}.btn.small{padding:6px 9px;font-size:12px}.btn.active-btn{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.icon-text{display:flex;gap:6px;align-items:center}.icon-btn{width:34px;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.icon-btn.has-note{background:var(--panel2);font-weight:900}.bare{border:0;background:transparent;padding:0;color:inherit}.left{text-align:left}.center{text-align:center}.center-text{text-align:center}.grow{flex:1}.block{display:block}.row{display:flex;align-items:center;gap:10px}.row.space{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:11px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1.35fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.top-gap{margin-top:16px}.top-gap-sm{margin-top:11px}.bottom-gap{margin-bottom:16px}.section-separator{margin:28px 0 12px;border-top:1px solid var(--border);padding-top:18px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card h2,.card h3{margin-bottom:0}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:var(--muted)}.big{font-size:29px;font-weight:850;letter-spacing:-.03em}.small-big{font-size:22px}.page-title{font-size:26px}.metric{background:var(--panel2);border-radius:14px;padding:13px}.metric span,.metric small{display:block;color:var(--muted);font-size:12px}.metric b{display:block;font-size:20px;margin:3px 0}.statbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.statbar .metric{min-width:125px;flex:1}.progress{height:8px;background:var(--panel2);border-radius:999px;overflow:hidden;margin:14px 0}.progress>span{height:100%;display:block;background:var(--accent);border-radius:999px}.progress.mini{height:6px;margin:7px 0 0}.pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--panel2);padding:5px 9px;font-size:12px;font-weight:750;white-space:nowrap}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.danger{color:var(--danger)}.danger-text{color:var(--danger)!important}.warn-text{color:var(--warn)!important}.exam-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(305px,1fr));gap:14px}.exam-card{position:relative;overflow:hidden;cursor:pointer}.exam-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--exam)}.exam-card:hover{transform:translateY(-1px)}.exam-title{font-weight:850;font-size:18px}.mini-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.mini-stat{font-size:12px;color:var(--muted)}.mini-stat b{display:block;color:var(--text);font-size:14px;margin-top:2px}.tabs{display:flex;gap:6px;padding:5px;background:var(--panel2);border-radius:13px;width:max-content;margin-bottom:18px}.tabs button{border:0;background:transparent;padding:8px 13px;border-radius:9px;color:var(--muted);font-weight:720}.tabs button.active{background:var(--panel);color:var(--text);box-shadow:0 2px 10px rgba(0,0,0,.05)}.planner-strip{display:flex;gap:18px;flex-wrap:wrap;background:var(--panel2);border-radius:13px;padding:11px 14px;margin-bottom:13px}.material-row,.order-row,.timeline-row,.report-row{display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:14px;padding:12px;background:var(--panel)}button.material-row,button.timeline-row{width:100%;color:inherit}.material-color,.material-bar{width:7px;height:34px;border-radius:7px;background:var(--bar);flex:0 0 auto}.drag{font-size:19px;color:var(--muted);cursor:grab;user-select:none}.order-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}.clickable{cursor:pointer}.clickable:hover{background:var(--panel2)}.timeline{display:flex;flex-direction:column;gap:8px;margin-top:12px}.time-chip{min-width:62px;font-weight:750;font-size:12px}.manual-badge{font-size:9px;font-weight:850;border:1px dashed var(--muted);border-radius:999px;padding:3px 6px}.alert{border-left:4px solid var(--warn);background:color-mix(in srgb,var(--warn) 9%,var(--panel));padding:12px 14px;border-radius:12px;color:inherit;text-align:left}.alert.danger{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--panel))}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:15px}.empty.small{padding:15px}.kv{display:grid;grid-template-columns:1fr auto;gap:10px 18px;margin-top:13px}.kv span{color:var(--muted)}.kv b{text-align:right}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{padding:6px 9px;border-radius:999px;background:var(--panel2);font-size:12px;font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:750;color:var(--muted)}.field input,.field select,.field textarea,.stats-filter input,.stats-filter select,.weekly-day input,.report-item select,.report-item input{width:100%;border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:10px 11px;outline:none}.field textarea{min-height:105px;resize:vertical}.check{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center}.check input{width:auto!important}.page-mini{width:80px!important}.choice-card{border:1px solid var(--border);background:var(--panel);border-radius:15px;padding:20px;text-align:left;color:inherit}.choice-card b,.choice-card span{display:block}.choice-card span{color:var(--muted);margin-top:5px}.choice-card:hover{background:var(--panel2)}.choice-card.danger b{color:var(--danger)}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);display:grid;place-items:center;padding:18px;z-index:100}.modal{background:var(--panel);border:1px solid var(--border);border-radius:20px;width:min(650px,100%);max-height:92vh;overflow:auto;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.modal.wide{width:min(900px,100%)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;background:#202124;color:#fff;border-radius:999px;padding:10px 16px;z-index:200;transition:.2s;pointer-events:none}.toast.warn{background:#9a4b00}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Materiale */
.strategy-cards{display:flex;flex-direction:column;gap:9px;margin-top:12px}.strategy-card{display:flex;gap:10px;border:1px solid var(--border);border-radius:13px;padding:12px;cursor:pointer}.strategy-card input{margin-top:3px}.strategy-card span,.strategy-card b,.strategy-card small{display:block}.strategy-card small{color:var(--muted);margin-top:3px}.strategy-card.disabled{opacity:.45;cursor:not-allowed}.chapter-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:auto}.chapter-head,.chapter-row{display:grid;grid-template-columns:30px minmax(180px,1.5fr) 75px 125px 135px 105px 48px;align-items:center;gap:8px;padding:9px 10px;min-width:800px}.chapter-head{background:var(--panel2);font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase}.chapter-row{border-top:1px solid var(--border);font-size:13px}.chapter-row select{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:6px}.auto-gap{display:inline-flex;margin-left:6px;padding:2px 5px;border-radius:999px;background:var(--panel2);font-size:9px;color:var(--muted);text-transform:uppercase}.mini-link{font-size:11px;text-decoration:underline;color:var(--muted)}.compact-chapters{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:7px}.compact-chapters>div{display:flex;justify-content:space-between;background:var(--panel2);padding:8px 10px;border-radius:9px}.block-strategy-list{display:flex;flex-direction:column;gap:7px}.strategy-step{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--panel)}.repeat-step{border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.recovery-step{border-style:dashed;background:var(--panel2)}.step-index{width:24px;height:24px;border-radius:50%;background:var(--panel2);display:grid;place-items:center;font-size:11px}.repeat-icon{font-size:19px;color:var(--accent)}.generated-title{font-size:10px;color:var(--muted);font-weight:850;letter-spacing:.08em;margin:15px 4px 4px}.checkbox-list{display:flex;flex-direction:column;gap:7px;max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:10px;padding:10px}.checkbox-list label{font-size:13px}.mobile-material-stack details{border:1px solid var(--border);border-radius:14px;background:var(--panel);margin-bottom:10px;overflow:hidden}.mobile-material-stack summary{padding:14px;font-weight:800;background:var(--panel2);cursor:pointer}.mobile-material-stack details>.card,.mobile-material-stack details>.grid{border:0;border-radius:0;box-shadow:none;margin:0}.desktop-only{display:block}.mobile-only{display:none}
/* Google Calendar */
.gcal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px;flex-wrap:wrap}.gcal-navgroup,.gcal-actions{display:flex;align-items:center;gap:8px}.gcal-range-title{font-size:19px;font-weight:760;min-width:250px;margin-left:5px;text-transform:capitalize}.gcal-view-switch{display:flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel)}.gcal-view-btn{border:0;border-right:1px solid var(--border);background:transparent;padding:9px 12px;color:var(--muted);font-weight:650}.gcal-view-btn:last-child{border-right:0}.gcal-view-btn.active{background:var(--panel2);color:var(--text)}.gcal-wrap{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--panel);--gutter:62px}.gcal-head{display:grid;grid-template-columns:var(--gutter) repeat(7,minmax(112px,1fr));border-bottom:1px solid var(--border)}.gcal-wrap.one-day .gcal-head{grid-template-columns:var(--gutter) 1fr}.gcal-gutter-head{border-right:1px solid var(--border)}.gcal-day-head{height:68px;border:0;border-right:1px solid var(--border);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted)}.gcal-day-head span{text-transform:uppercase;font-size:10px;font-weight:750}.gcal-day-head b{font-size:21px;font-weight:560;width:37px;height:37px;display:grid;place-items:center;border-radius:50%;color:var(--text)}.gcal-day-head.today b{background:#1a73e8;color:#fff}.gcal-day-head.today span{color:#1a73e8}.gcal-scroll{height:calc(100vh - 205px);min-height:520px;overflow:auto;display:grid;grid-template-columns:var(--gutter) minmax(780px,1fr)}.gcal-wrap.one-day .gcal-scroll{grid-template-columns:var(--gutter) 1fr}.gcal-time-gutter{position:relative;border-right:1px solid var(--border);background:var(--panel)}.gcal-time-label{position:absolute;right:8px;font-size:10px;color:var(--muted);line-height:16px;background:var(--panel);padding:0 2px}.gcal-tracks{display:grid;grid-template-columns:repeat(var(--day-count),minmax(112px,1fr));position:relative;min-width:780px}.gcal-wrap.one-day .gcal-tracks{min-width:0}.gcal-day-track{position:relative;border-right:1px solid var(--border);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 63px,var(--border) 63px,var(--border) 64px)}.gcal-day-track.today{background-color:color-mix(in srgb,#1a73e8 2%,var(--panel))}.gcal-event{position:absolute;left:3px;right:3px;border:0;border-radius:5px;padding:4px 6px;text-align:left;overflow:hidden;z-index:2;font-size:11px;line-height:1.2;box-shadow:0 1px 2px rgba(0,0,0,.08)}.gcal-event b,.gcal-event span,.gcal-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcal-event.study{background:var(--ebg);color:var(--text);border:1px solid color-mix(in srgb,var(--ec) 55%,var(--border));padding-left:9px}.gcal-event.study>i{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--mc)}.gcal-event.manual{outline:1px dashed var(--ec);outline-offset:-2px}.gcal-event.locked:after{content:"⌑";position:absolute;right:3px;top:2px}.gcal-event.google{background:#d2e3fc;color:#174ea6;border:1px solid #aecbfa}.gcal-event.google.ignored{opacity:.48;text-decoration:line-through}.resize-handle{position:absolute!important;left:0;right:0;bottom:0;height:6px;cursor:ns-resize}.gcal-now{position:absolute;left:0;right:0;height:2px;background:#ea4335;z-index:3;pointer-events:none}.gcal-now span{position:absolute;width:10px;height:10px;border-radius:50%;background:#ea4335;left:-5px;top:-4px}.day-off-label{position:absolute;top:4px;right:5px;color:var(--muted);font-size:9px;background:var(--panel2);padding:3px 5px;border-radius:5px}.all-day-chip{position:sticky;top:2px;z-index:4;max-width:95%;border:0;background:#d2e3fc;color:#174ea6;border-radius:5px;font-size:9px;padding:3px 5px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--panel)}.month-head{padding:10px;text-align:center;text-transform:uppercase;font-size:10px;font-weight:800;color:var(--muted);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.month-cell{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel);min-height:122px;padding:8px;text-align:left;color:var(--text)}.month-cell:hover{background:var(--panel2)}.month-cell.outside{opacity:.42}.month-cell.today .month-num{background:#1a73e8;color:#fff}.month-num{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-weight:700;margin-left:auto}.month-events{display:flex;flex-direction:column;gap:4px;margin-top:5px}.month-events span{font-size:10px;border-radius:4px;padding:3px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-study{background:color-mix(in srgb,var(--accent) 12%,var(--panel2))}.month-commit{background:#d2e3fc;color:#174ea6}.month-events small{font-size:9px;color:var(--muted)}.agenda-list{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--panel)}.agenda-day{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--border)}.agenda-date{padding:16px;border-right:1px solid var(--border);display:flex;flex-direction:column;text-transform:capitalize}.agenda-date.today b{color:#1a73e8}.agenda-date span{font-size:12px;color:var(--muted)}.agenda-items{padding:8px}.agenda-item{display:grid;grid-template-columns:72px 1fr;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:9px;border-radius:8px;position:relative}.agenda-item:hover{background:var(--panel2)}.agenda-item:before{content:"";position:absolute;left:2px;top:9px;bottom:9px;width:4px;border-radius:3px;background:var(--agenda,#64748b)}.agenda-item.google:before{background:#4285f4}.agenda-item small{display:block;color:var(--muted)}.agenda-time{font-weight:750}.session-detail{display:grid;grid-template-columns:6px 1fr;gap:14px;margin-top:16px}.session-accent{border-radius:999px}.assignment-list{margin-top:12px;display:flex;flex-direction:column;gap:5px;font-size:13px}
/* Timer/report/stats/settings */
.timer-screen{text-align:center}.timer-screen .row.space{text-align:left}.timer-clock{font-size:58px;font-weight:800;letter-spacing:-.04em;margin:28px 0 16px;font-variant-numeric:tabular-nums}.timer-stats{display:flex;justify-content:center;gap:30px}.timer-stats span,.timer-stats b{display:block}.timer-stats span{color:var(--muted);font-size:12px}.big-btn{padding:13px 22px;font-size:16px}.report-item{border:1px solid var(--border);border-radius:14px;padding:13px;background:var(--panel2)}.stats-filter{align-items:center}.stats-filter select,.stats-filter input{width:auto;min-width:150px}.chart{width:100%;height:170px;margin-top:12px}.chart .axis{stroke:var(--border);stroke-width:1}.chart .line{fill:none;stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke}.mini-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-bars>div{background:var(--panel2);border-radius:10px;padding:10px}.mini-bars span,.mini-bars b{display:block}.mini-bars span{color:var(--muted);font-size:11px}.report-list{display:flex;flex-direction:column;gap:9px}.report-row{justify-content:space-between}.weekly-editor{display:flex;flex-direction:column}.weekly-day{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.weekly-blocks{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.weekly-blocks .row{background:var(--panel2);padding:5px;border-radius:10px}.weekly-blocks input{width:105px;padding:7px}.inline-number{width:64px!important;padding:4px!important}.default-type,.google-account{border:1px solid var(--border);border-radius:14px;padding:13px}.calendar-list{margin-top:10px;display:flex;flex-direction:column;gap:5px}.calendar-setting{display:flex;align-items:center;gap:9px;padding:7px;background:var(--panel2);border-radius:8px}.calendar-setting select{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:6px}.calendar-dot{width:10px;height:10px;border-radius:50%}.file-btn{display:inline-block;text-align:center}.file-btn input{display:none}.full-btn{width:100%}.lock-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.lock-card{width:min(390px,100%);background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.lock-card .brand{margin-left:0}.section-title{font-size:13px;font-weight:800;color:var(--muted);text-transform:uppercase}.settings-tabs{max-width:100%;overflow:auto}.manual-badge{white-space:nowrap}
@media(max-width:900px){.app-shell{display:block}.sidebar{display:none}.topbar{height:62px;padding:0 14px}.topbar h1{font-size:18px}.top-actions .date-label{display:none}.top-actions .icon-text span{display:none}.main{padding:15px 13px 90px}.grid.two,.grid.three{grid-template-columns:1fr}.exam-list{grid-template-columns:1fr}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-top:1px solid var(--border);z-index:60;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:transparent;padding:8px 2px 7px;color:var(--muted);font-size:10px}.bottom-nav button span{display:block;font-size:18px}.bottom-nav button.active{color:var(--text);font-weight:800}.tabs{width:100%;overflow:auto}.tabs button{white-space:nowrap;flex:1}.desktop-only{display:none}.mobile-only{display:block}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal{padding:17px}.gcal-toolbar{align-items:flex-start}.gcal-navgroup{width:100%;flex-wrap:wrap}.gcal-range-title{min-width:0;flex:1;font-size:16px}.gcal-actions{width:100%;overflow:auto;justify-content:space-between}.gcal-view-btn{padding:8px 9px;font-size:11px}.gcal-wrap{--gutter:50px}.gcal-scroll{height:calc(100vh - 235px);grid-template-columns:var(--gutter) minmax(714px,1fr)}.gcal-wrap.one-day .gcal-scroll{grid-template-columns:var(--gutter) minmax(260px,1fr)}.gcal-head{grid-template-columns:var(--gutter) repeat(7,minmax(102px,1fr));min-width:764px}.gcal-wrap.one-day .gcal-head{min-width:0;grid-template-columns:var(--gutter) 1fr}.gcal-tracks{min-width:714px}.gcal-wrap.one-day .gcal-tracks{min-width:0}.month-grid{grid-template-columns:repeat(7,minmax(76px,1fr));overflow:auto}.month-cell{min-height:92px;padding:5px}.month-events span{font-size:8px}.agenda-day{grid-template-columns:1fr}.agenda-date{border-right:0;border-bottom:1px solid var(--border);padding:10px 13px}.weekly-day{grid-template-columns:1fr}.report-row{align-items:flex-start;flex-direction:column}.timer-clock{font-size:46px}.kv{grid-template-columns:1fr auto}.planner-strip{gap:8px;font-size:12px}.stats-filter select,.stats-filter input{min-width:0;flex:1}.chapter-table{overflow:auto}.strategy-step{align-items:flex-start}.row.space.mobile-stack{align-items:flex-start}.mini-stats{grid-template-columns:repeat(2,1fr)}}
/* Progress matrix / cloud */
.progress-matrix{overflow:auto;border:1px solid var(--border);border-radius:12px}.progress-matrix-head,.progress-matrix-row{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(var(--progress-cols,4),minmax(74px,.55fr));gap:8px;align-items:center;min-width:650px;padding:8px 10px}.progress-matrix-head{background:var(--panel2);font-size:10px;color:var(--muted);text-transform:uppercase}.progress-matrix-row{border-top:1px solid var(--border)}.progress-matrix-row>span small{display:block;color:var(--muted)}.progress-matrix-row label{display:grid;place-items:center}.progress-matrix-row input[type="checkbox"]{width:auto}.reps-mini{width:64px!important;text-align:center;padding:7px!important}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}.summary-grid>div{background:var(--panel2);border-radius:12px;padding:10px 12px}.summary-grid span,.summary-grid b{display:block}.summary-grid span{font-size:11px;color:var(--muted);margin-bottom:3px}.details-card{border:1px solid var(--border);border-radius:12px;background:var(--panel2);padding:10px 12px}.details-card summary{cursor:pointer;font-weight:750}
.strategy-step select{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:6px;max-width:135px}@media(max-width:900px){.strategy-step{flex-wrap:wrap}.strategy-step .grow{min-width:180px}.strategy-step select{max-width:48%;flex:1}}

/* v1.0.5 — Calendar display controls, alignment and exam reset */
.gcal-head{padding-right:var(--scrollbar-w,15px);box-sizing:border-box}
.gcal-scroll{overflow-y:scroll;overscroll-behavior:contain}
.gcal-day-track{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour-px,64px) - 1px),var(--border) calc(var(--hour-px,64px) - 1px),var(--border) var(--hour-px,64px))}
.gcal-display-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;padding-top:1px}
.gcal-display-controls>label,.gcal-density{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);font-weight:650}
.gcal-display-controls select{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:9px;padding:6px 8px}
.gcal-inline-check input{width:auto}
.gcal-density b{min-width:34px;text-align:center;color:var(--text);font-size:11px}
.reset-zone{border-color:color-mix(in srgb,var(--danger) 20%,var(--border))}
.reset-actions{display:flex;flex-direction:column;gap:12px}
.reset-action{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--border);border-radius:14px;padding:15px;background:var(--panel2)}
.reset-action.danger-zone{border-color:color-mix(in srgb,var(--danger) 34%,var(--border));background:color-mix(in srgb,var(--danger) 4%,var(--panel))}
@media(max-width:900px){.gcal-head{padding-right:var(--scrollbar-w,15px)}.gcal-display-controls{min-width:max-content}.reset-action{align-items:flex-start;flex-direction:column}.reset-action .btn{width:100%}}

/* v1.1.0 — UI più leggera, calendario full-page, palette e drag fluido */
:root{--font-scale:1;--radius:12px;--shadow:0 1px 2px rgba(60,64,67,.08),0 1px 3px 1px rgba(60,64,67,.04)}
body{font-size:calc(14px * var(--font-scale));background:var(--bg)}
:root:not([data-theme="dark"]){--bg:#fff;--panel:#fff;--panel2:#f8fafd;--text:#202124;--muted:#5f6368;--border:#dadce0;--accent:#1a73e8}
.card{box-shadow:none;border-radius:12px}.btn{border-radius:8px;font-weight:600;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.btn.primary{background:#1a73e8;border-color:#1a73e8;color:#fff}.icon-btn{border-radius:50%;transition:background .15s ease,transform .15s ease}.icon-btn:hover{background:var(--panel2)}
.sidebar{padding-top:16px}.brand-badge{background:#1a73e8;border-radius:9px}.nav button{border-radius:0 22px 22px 0;margin-left:-15px;padding-left:27px}.nav button.active{background:#e8f0fe;color:#1967d2}
.topbar{background:var(--panel);backdrop-filter:none;height:64px;padding-inline:24px}.recalc-stamp{font-size:12px;color:var(--muted);white-space:nowrap}.recalc-stamp b{color:var(--text);font-weight:600}
.main{font-size:1em}.main:not(.calendar-main){padding-left:var(--page-pad,28px);padding-right:var(--page-pad,28px)}
:root[data-page-margin="compact"]{--page-pad:14px}:root[data-page-margin="comfortable"]{--page-pad:28px}:root[data-page-margin="wide"]{--page-pad:48px}
.main.calendar-main{max-width:none;margin:0;padding:12px 0 0;overflow:hidden}.calendar-main>.gcal-toolbar{padding:0 18px}.calendar-main>.gcal-wrap,.calendar-main>.month-grid,.calendar-main>.agenda-list{border-left:0;border-right:0;border-bottom:0;border-radius:0;width:100%}
.segmented{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:3px;background:var(--panel)}.segmented button{border:0;background:transparent;border-radius:999px;padding:8px 15px;color:var(--muted);font-weight:600}.segmented button.active{background:#e8f0fe;color:#1967d2}.segmented button span{font-size:11px;margin-left:4px}
.strategy-card{position:relative;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.strategy-card.selected{border-color:#1a73e8;background:#f4f8ff;box-shadow:inset 0 0 0 1px #1a73e8}.strategy-card em{margin-left:auto;font-style:normal;font-size:11px;color:#1967d2;font-weight:700}.strategy-radio{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);margin-top:2px}.strategy-card.selected .strategy-radio{border:4px solid #1a73e8}.strategy-card>input{position:absolute;opacity:0;pointer-events:none}
.color-palette{padding-top:2px}.color-swatches{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.color-swatch{width:30px;height:30px;border-radius:50%;border:2px solid transparent;background:var(--swatch);padding:0;position:relative}.color-swatch.selected{box-shadow:0 0 0 2px var(--panel),0 0 0 4px #1a73e8}.custom-swatch{display:grid;place-items:center;background:var(--panel2);border:1px solid var(--border);font-size:18px;overflow:hidden}.custom-swatch input{position:absolute;inset:0;opacity:0;cursor:pointer}.palette-editor{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:8px}.palette-edit-item,.palette-edit-row{display:flex;align-items:center;gap:8px;border:1px solid var(--border);padding:7px;border-radius:10px}.palette-edit-item input,.palette-edit-row input{width:34px;height:34px;border:0;background:transparent;padding:0}.palette-edit-item span{font-size:11px;color:var(--muted);flex:1}
/* Google Calendar-like */
.gcal-toolbar{margin-bottom:10px;padding-bottom:4px}.gcal-range-title{font-weight:500;font-size:20px}.gcal-view-switch{border-radius:4px}.gcal-view-btn{font-weight:500;padding:8px 14px}.gcal-view-btn.active{background:#e8f0fe;color:#1967d2}.gcal-calendar-picker-btn{font-size:18px}.calendar-day-meta{font-size:11px;color:#1967d2;margin-left:10px;padding:4px 8px;border-radius:10px;background:#e8f0fe;white-space:nowrap}.calendar-day-meta.dayoff{color:#b06000;background:#fef7e0}.gcal-wrap{border-radius:0;--gutter:58px}.gcal-head{background:var(--panel)}.gcal-day-head{height:72px;position:relative;justify-content:flex-start;padding-top:6px}.gcal-day-title{border:0;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;gap:2px}.gcal-day-options{position:absolute;right:4px;top:4px;border:0;background:transparent;border-radius:50%;width:26px;height:26px;color:var(--muted);opacity:.25}.gcal-day-head:hover .gcal-day-options{opacity:1}.gcal-day-head small{font-size:9px;color:#1967d2}.gcal-day-head small.dayoff{color:#b06000}.gcal-scroll{height:calc(100vh - 206px);min-height:560px}.gcal-all-day-row{display:grid;grid-template-columns:var(--gutter) repeat(var(--day-count,7),minmax(112px,1fr));border-bottom:1px solid var(--border);padding-right:var(--scrollbar-w,15px);background:var(--panel)}.gcal-wrap.one-day .gcal-all-day-row{grid-template-columns:var(--gutter) 1fr}.gcal-all-day-label{font-size:10px;color:var(--muted);display:flex;align-items:center;justify-content:flex-end;padding:6px 7px;border-right:1px solid var(--border)}.gcal-all-day-cell{min-height:32px;border-right:1px solid var(--border);padding:3px}.gcal-all-day-event{display:block;width:100%;border:0;border-left:4px solid var(--cal);background:var(--calbg);color:var(--text);border-radius:4px;padding:4px 6px;text-align:left;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcal-all-day-event.ignored{opacity:.45;text-decoration:line-through}
.gcal-event{box-shadow:none;transition:box-shadow .12s ease,transform .12s ease,opacity .12s ease;transform-origin:center}.gcal-event:hover{z-index:8;box-shadow:0 2px 8px rgba(60,64,67,.28)}.gcal-event:active{transform:scale(.985)}.gcal-event b{font-weight:650}.gcal-event.study{border:0;border-left:3px solid var(--mc);background:color-mix(in srgb,var(--ec) 17%,var(--panel));padding:4px 6px}.gcal-event.study>i{display:none}.gcal-event.google{border:0;border-left:3px solid var(--cal,#4285f4);background:var(--calbg,#d2e3fc);color:var(--text);padding:4px 6px;display:flex;flex-direction:column;justify-content:flex-start}.gcal-event.google b,.gcal-event.google span,.gcal-event.google small{text-align:left}.gcal-event.google b{margin-top:0}.event-chapter{font-weight:550}
.drag-create-preview{position:absolute;left:4px;right:4px;border-radius:4px;background:rgba(26,115,232,.18);border:1px solid #1a73e8;pointer-events:none;opacity:0;transition:top .06s linear,height .06s linear,opacity .12s}.dragging-source{opacity:.35}.drag-over-target{background-color:rgba(26,115,232,.035)}
.month-grid{border-radius:0}.month-cell{position:relative;transition:background .12s ease}.month-day-actions{position:absolute;top:5px;left:5px;border:0;background:transparent;color:var(--muted);width:24px;height:24px;border-radius:50%;opacity:.15}.month-cell:hover .month-day-actions{opacity:1}.month-custom-label{font-size:9px;color:#1967d2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-custom-label.dayoff{color:#b06000}.month-commit{color:var(--text);border-left:3px solid var(--event-color,#4285f4);background:color-mix(in srgb,var(--event-color,#4285f4) 16%,var(--panel))}.agenda-list{border-radius:0}.agenda-date{position:relative;padding-right:42px}.agenda-date .day-custom-btn{position:absolute;top:10px;right:8px}.agenda-custom-label{margin-top:4px;font-size:10px!important;color:#1967d2!important}.agenda-custom-label.dayoff{color:#b06000!important}.agenda-item{grid-template-columns:94px 1fr}.agenda-item.google:before{background:var(--agenda,#4285f4)}
/* mini calendario */
.mini-calendar-modal{min-width:min(360px,100%)}.mini-cal-nav{display:flex;justify-content:center;gap:8px}.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.mini-cal-weekday{text-align:center;font-size:10px;color:var(--muted);font-weight:700;padding:5px}.mini-cal-day{border:0;background:transparent;aspect-ratio:1;border-radius:50%;color:var(--text)}.mini-cal-day:hover{background:var(--panel2)}.mini-cal-day.outside{color:var(--muted);opacity:.5}.mini-cal-day.today{color:#1a73e8;font-weight:700}.mini-cal-day.selected{background:#1a73e8;color:#fff}
/* calendari sincronizzati / evento */
.calendar-setting.enhanced{display:grid;grid-template-columns:12px minmax(140px,1fr) minmax(130px,.8fr) 36px 170px auto auto;gap:8px;background:transparent;border-bottom:1px solid var(--border);border-radius:0}.calendar-name-input{border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:7px}.calendar-color-mini input{width:30px;height:30px;border:0;background:transparent}.g-event-modal h2{font-weight:500}.g-event-dot{width:14px;height:14px;border-radius:3px}.g-event-body{display:flex;flex-direction:column;gap:14px}.g-event-line{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.event-notes{white-space:normal;line-height:1.45}.google-open-icon{text-decoration:none;display:grid;place-items:center;color:#1a73e8}
/* disponibilità */
.availability-tabs{margin-bottom:14px}.special-week-editor{display:flex;flex-direction:column}.special-day{grid-template-columns:190px 1fr}.special-slots{display:flex;flex-direction:column;gap:6px}.slot-number{width:20px;color:var(--muted);font-size:11px}.inline-field{margin-top:6px}.section-heading{margin-bottom:12px}.material-danger-zone{border-color:color-mix(in srgb,var(--danger) 20%,var(--border))}
/* leggibilità progresso */
.progress-matrix-row b,.progress-matrix-row span,.compact-chapters b{color:var(--text)!important}.progress-matrix-row{background:var(--panel)}
/* drag/drop fluidità */
[draggable="true"]{transition:transform .16s cubic-bezier(.2,0,0,1),box-shadow .16s ease,opacity .16s ease,background .16s ease}[draggable="true"]:active{cursor:grabbing}.order-row.drag-over,.material-row.drag-over,.chapter-row.drag-over,.strategy-step.drag-over{transform:translateY(3px);box-shadow:0 3px 10px rgba(60,64,67,.16)}
@media(max-width:1100px){.calendar-setting.enhanced{grid-template-columns:12px 1fr 150px 36px}.calendar-setting.enhanced select,.calendar-setting.enhanced .btn,.calendar-setting.enhanced>.icon-btn{grid-column:auto}.calendar-name-input{grid-column:2/4}}
@media(max-width:900px){.desktop-recalc-stamp{display:none}.main.calendar-main{padding-top:8px}.calendar-main>.gcal-toolbar{padding-inline:10px}.calendar-setting.enhanced{display:flex;flex-wrap:wrap;align-items:center}.calendar-name-input{flex:1 1 180px}.gcal-scroll{height:calc(100vh - 270px)}.gcal-all-day-row{min-width:764px}.gcal-wrap.one-day .gcal-all-day-row{min-width:0}.agenda-item{grid-template-columns:88px 1fr}}
.calendar-color-button{width:28px;height:28px;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--border);background:var(--calendar-color);padding:0}.calendar-color-choice{display:grid;grid-template-columns:repeat(6,36px);gap:10px}.calendar-choice-swatch{width:34px;height:34px;border:0;border-radius:50%;background:var(--calendar-color);box-shadow:0 0 0 1px var(--border)}.calendar-choice-swatch.selected{box-shadow:0 0 0 2px var(--panel),0 0 0 4px #1a73e8}
.month-commit{border-left-color:var(--month,#4285f4)!important;background:var(--monthbg,color-mix(in srgb,var(--month,#4285f4) 16%,var(--panel)))!important;color:var(--text)!important}
.mobile-availability-tab{display:none!important}@media(max-width:900px){.mobile-availability-tab{display:block!important}}
.pass-disabled{opacity:.55}
.gcal-logo{width:22px;height:22px;display:grid;place-items:center;border:2px solid #4285f4;border-top-color:#ea4335;border-right-color:#fbbc04;border-bottom-color:#34a853;border-radius:3px;font-size:9px;font-weight:800;color:#1a73e8;background:#fff}

/* v1.1.1 refinements */
.home-session-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}.home-quick-actions{padding-top:4px;border-top:1px solid var(--border);margin-top:4px}.danger-ghost{color:#b3261e;background:transparent}.home-day-heading{font-weight:500;margin:0}.home-day-heading span{font-weight:400;color:var(--muted);font-size:.9em;margin-left:5px;text-transform:capitalize}
.calendar-sync-btn{display:flex;align-items:center;gap:6px;white-space:nowrap}.calendar-sync-btn small{font-size:10px;color:var(--muted);font-weight:400;margin-left:2px}.gcal-day-head{justify-content:flex-start;padding-top:4px}.gcal-day-topline{height:47px;display:flex;align-items:center;justify-content:center;width:100%;position:relative}.gcal-day-options{position:absolute;right:4px;top:9px}.gcal-day-meta-line{height:16px;line-height:16px;font-size:9px;color:#1967d2;margin-top:0;white-space:nowrap;max-width:96%;overflow:hidden;text-overflow:ellipsis}.gcal-day-meta-line.dayoff{color:#b06000}.calendar-day-meta{vertical-align:middle;position:relative;top:0;margin-left:8px}.calendar-day-meta.dayoff{color:#b06000}
.gcal-event.study,.gcal-event.google{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}.gcal-event.study b,.gcal-event.study span,.gcal-event.study small{width:100%;text-align:left}.gcal-event b{margin:0 0 1px}.resize-handle{height:10px!important;bottom:-1px!important;cursor:ns-resize;background:transparent}.gcal-event:hover .resize-handle:after{content:"↕";position:absolute;right:3px;bottom:-1px;font-size:11px;line-height:10px;opacity:.7}.drag-create-preview{pointer-events:none;transition:top .05s linear,height .05s linear,opacity .1s ease}
.month-cell.today .month-num{background:transparent!important;color:var(--text)!important}.month-cell-head{display:flex;align-items:center;justify-content:flex-end;gap:2px;min-height:28px}.month-num{border-radius:0!important;width:auto!important;height:28px!important;padding:0 3px!important;margin-left:auto!important;background:transparent!important}.month-day-options,.agenda-day-options{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;width:20px;height:24px;padding:0;color:var(--muted);font-size:18px;line-height:20px}.month-day-options:hover,.agenda-day-options:hover{color:var(--text);background:transparent!important}.month-custom-label{margin-top:0}
.agenda-date{padding:12px 14px!important}.agenda-date-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.agenda-date-button{display:flex;align-items:baseline;gap:5px;border:0;background:transparent;color:inherit;padding:0;text-transform:capitalize}.agenda-weekday{font-size:12px;color:var(--muted)}.agenda-daynum{font-size:20px;color:var(--text);font-weight:500}.agenda-month{font-size:12px;color:var(--muted)}.agenda-date.today .agenda-daynum{color:#1a73e8}.agenda-custom{margin-top:3px}.agenda-day-options{margin-top:-2px}
.session-content-row{display:grid;grid-template-columns:minmax(135px,1.2fr) minmax(105px,.8fr) minmax(150px,1.25fr) 72px 14px 72px 32px;gap:7px;align-items:center}.session-content-row select,.session-content-row input{min-width:0}.session-locks{display:flex;gap:18px;align-items:center}.exception-actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.repeat-checkbox-list label{display:grid!important;grid-template-columns:1fr 26px;align-items:center;gap:10px;padding:7px 4px}.repeat-checkbox-list input{justify-self:center;margin:0}.weekly-dayoff{margin-top:6px;font-weight:400}.weekly-dayoff input{margin-right:5px}
@media(max-width:1180px){.calendar-sync-btn small{display:none}}
@media(max-width:900px){.home-session-actions{display:grid;grid-template-columns:1fr 1fr}.home-session-actions .danger-ghost{grid-column:1/-1}.session-content-row{grid-template-columns:1fr 1fr}.session-content-row [data-session-edit-chapter]{grid-column:1/-1}.calendar-sync-btn span{display:none}}

/* v1.1.4 — capitoli esclusi */
.chapter-row.chapter-excluded,
.strategy-step.chapter-excluded,
.compact-chapters .chapter-excluded{opacity:.58;background:color-mix(in srgb,var(--panel) 92%,var(--text,#202124) 8%)}
.chapter-row.chapter-excluded b,
.strategy-step.chapter-excluded b{text-decoration:line-through;text-decoration-thickness:1px}
.excluded-gap{background:rgba(95,99,104,.12)!important;color:var(--muted,#5f6368)!important}
.chapter-plan-toggle{padding:12px 14px;border-radius:10px;background:rgba(95,99,104,.07)}

/* v1.1.5 — report, contrasto, stato capitoli e drag/drop */
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] .field input,
:root[data-theme="dark"] .field select,
:root[data-theme="dark"] .field textarea,
:root[data-theme="dark"] .report-item select,
:root[data-theme="dark"] .report-item input,
:root[data-theme="dark"] .stats-filter input,
:root[data-theme="dark"] .stats-filter select,
:root[data-theme="dark"] .weekly-day input,
:root[data-theme="dark"] .calendar-name-input{background:var(--panel2)!important;color:var(--text)!important;border-color:var(--border)!important;color-scheme:dark}
:root[data-theme="dark"] select option{background:#202633;color:#f3f5f8}
@media(prefers-color-scheme:dark){:root[data-theme="auto"] input,:root[data-theme="auto"] select,:root[data-theme="auto"] textarea,:root[data-theme="auto"] .field input,:root[data-theme="auto"] .field select,:root[data-theme="auto"] .field textarea,:root[data-theme="auto"] .report-item select,:root[data-theme="auto"] .report-item input,:root[data-theme="auto"] .stats-filter input,:root[data-theme="auto"] .stats-filter select,:root[data-theme="auto"] .weekly-day input,:root[data-theme="auto"] .calendar-name-input{background:var(--panel2)!important;color:var(--text)!important;border-color:var(--border)!important;color-scheme:dark}:root[data-theme="auto"] select option{background:#202633;color:#f3f5f8}}
.strategy-card.selected{background:color-mix(in srgb,var(--accent) 10%,var(--panel))!important;color:var(--text)}
.strategy-card.selected small,.strategy-card.selected b{color:var(--text)}
.strategy-card.selected em{color:var(--accent)}
.chapter-row.chapter-excluded,.strategy-step.chapter-excluded,.compact-chapters .chapter-excluded{opacity:.78!important;background:color-mix(in srgb,var(--panel2) 88%,var(--muted) 12%)!important;color:var(--text)!important}
.chapter-row.chapter-excluded select,.chapter-row.chapter-excluded button,.strategy-step.chapter-excluded select,.strategy-step.chapter-excluded button{color:var(--text)!important}
.excluded-gap{background:color-mix(in srgb,var(--panel2) 82%,var(--muted) 18%)!important;color:var(--muted)!important}
.readonly-range{background:var(--panel2)!important;color:var(--muted)!important;cursor:not-allowed}
.range-sep{display:grid;place-items:center;min-width:14px;color:var(--muted);font-weight:600;line-height:1}
.report-actions{justify-content:flex-end}.report-actions .btn{white-space:nowrap}
.next-countdown{display:inline-flex;align-items:center;margin-left:7px;padding:3px 7px;border-radius:999px;background:var(--panel2);color:var(--accent);font-size:11px;font-weight:750;vertical-align:middle}
.chapter-progress-mini{display:flex;align-items:center;gap:5px;margin-top:5px;min-height:15px;max-width:245px}.chapter-progress-label{font-size:10px;color:var(--muted);min-width:58px}.mini-prog{position:relative;width:42px;height:7px;background:var(--panel2);border-radius:999px;overflow:visible;flex:0 0 auto}.mini-prog i{display:block;height:100%;border-radius:999px;min-width:0}.mini-prog i.study{background:#1a73e8}.mini-prog i.repeat{background:#188038}.mini-prog i.extra{background:#9334e6}.mini-prog em{position:absolute;right:-9px;top:-5px;font-size:8px;font-style:normal;color:var(--muted);font-weight:800}
.chapter-schedule{margin-top:14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.chapter-schedule table{width:100%;border-collapse:collapse;margin-top:9px;font-size:12px}.chapter-schedule th,.chapter-schedule td{text-align:left;padding:7px 6px;border-top:1px solid var(--border)}.chapter-schedule thead th{border-top:0;color:var(--muted);font-weight:700}
/* Native DnD enhanced: larger visual gap and source preview. */
[draggable="true"]{transition:transform .2s cubic-bezier(.2,.75,.25,1),box-shadow .2s ease,opacity .18s ease,background .18s ease,border-color .18s ease}
.dragging-source{opacity:.3!important;transform:scale(.985);box-shadow:none!important}
.order-row.drag-over,.material-row.drag-over,.chapter-row.drag-over,.strategy-step.drag-over{box-shadow:0 8px 22px rgba(60,64,67,.15);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
.order-row.drop-before,.material-row.drop-before,.chapter-row.drop-before,.strategy-step.drop-before{transform:translateY(8px)}
.order-row.drop-after,.material-row.drop-after,.chapter-row.drop-after,.strategy-step.drop-after{transform:translateY(-8px)}
.order-row.drop-before:before,.material-row.drop-before:before,.chapter-row.drop-before:before,.strategy-step.drop-before:before,.order-row.drop-after:after,.material-row.drop-after:after,.chapter-row.drop-after:after,.strategy-step.drop-after:after{content:"";position:absolute;left:8px;right:8px;height:3px;background:var(--accent);border-radius:4px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.order-row,.material-row,.chapter-row,.strategy-step{position:relative}
.order-row.drop-before:before,.material-row.drop-before:before,.chapter-row.drop-before:before,.strategy-step.drop-before:before{top:-7px}
.order-row.drop-after:after,.material-row.drop-after:after,.chapter-row.drop-after:after,.strategy-step.drop-after:after{bottom:-7px}

/* v1.1.6 — overnight grid + chapter progress polish */
.chapter-progress-mini{gap:7px!important;max-width:270px!important}
.chapter-progress-mini .mini-prog{margin-right:10px!important}
.chapter-progress-mini .mini-prog em{right:-12px!important;top:-4px!important;background:var(--panel);padding:0 1px;border-radius:2px}
.gcal-time-label{white-space:nowrap}
.gcal-event.study b,.gcal-event.google b{line-height:1.15}

/* v1.2.0 calendar content / ignored commitments */
.gcal-event.google.ignored{opacity:.78;text-decoration:none!important;filter:saturate(.72);background:color-mix(in srgb,var(--cal,#4285f4) 9%,var(--panel))!important;color:var(--text)!important;border-color:color-mix(in srgb,var(--cal,#4285f4) 36%,var(--border))!important}
.gcal-all-day-event.ignored{opacity:.78;text-decoration:none!important;filter:saturate(.72);background:color-mix(in srgb,var(--cal,#4285f4) 9%,var(--panel))!important;color:var(--text)!important}
.month-commit.ignored{opacity:.76;filter:saturate(.7);background:color-mix(in srgb,var(--month,#4285f4) 8%,var(--panel))!important}
.agenda-item.google.ignored{opacity:.82}.agenda-item.google.ignored:before{opacity:.55}
.gcal-event .event-content-line{font-weight:560}.gcal-event .event-more{display:inline;font-size:9px;font-weight:800;margin-left:4px;padding:1px 4px;border-radius:8px;background:color-mix(in srgb,var(--ec) 14%,transparent);color:inherit}.gcal-event .event-pass{opacity:.78}
.month-study{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:0;text-align:left;border-left:3px solid var(--month,#1a73e8);color:var(--text);padding:3px 5px;border-radius:4px;background:color-mix(in srgb,var(--month,#1a73e8) 10%,var(--panel))}.month-study b,.month-study small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-study.expanded{white-space:normal}.month-study.expanded small{white-space:normal;line-height:1.15}
.agenda-content-extra{padding-top:2px;color:var(--muted)}
.gcal-display-controls{row-gap:7px}.gcal-display-controls .gcal-inline-check{white-space:nowrap}

/* v1.1.11 — appelli nel calendario */
.gcal-all-day-event.exam-day-event{font-weight:600;background:color-mix(in srgb,var(--cal,#d93025) 15%,var(--panel))!important;border-left-width:5px}
.month-exam{font-weight:650}
.agenda-item.exam{background:color-mix(in srgb,var(--agenda,#d93025) 7%,transparent)}
.agenda-item.exam:before{background:var(--agenda,#d93025)}

/* v1.2 cloud */
.cloud-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.cloud-status-grid>div{border:1px solid var(--border);background:var(--panel2);border-radius:12px;padding:10px 12px;min-width:0}
.cloud-status-grid span{display:block;font-size:.78rem;color:var(--muted);margin-bottom:3px}
.cloud-status-grid b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
@media(max-width:800px){.cloud-status-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.cloud-status-grid{grid-template-columns:1fr}}
.persistent-google{color:var(--ok,#188038);font-weight:700}
.kv.compact{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;font-size:.9rem}.kv.compact b{text-align:right}


/* v1.3.1 — link privacy/branding OAuth */
.sidebar-legal{position:absolute;left:18px;right:18px;bottom:14px;display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}
.sidebar-legal a{color:var(--muted);text-decoration:none}.sidebar-legal a:hover{color:var(--text);text-decoration:underline}
.legal-settings-card a.btn{text-decoration:none;display:inline-flex;align-items:center}
@media(max-width:900px){.sidebar-legal{display:none}}

/* v1.3.3 — sessioni già iniziate: ripianificazione esplicita dal minuto corrente */
.reschedule-now-btn{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--panel));font-weight:700}
.reschedule-now-btn:hover{background:color-mix(in srgb,var(--accent) 15%,var(--panel))}
/* v1.3.7 — stato sync + report/timer */
.top-stamps{display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.15}
.btn.tiny{padding:3px 7px;border-radius:8px;font-size:10px;font-weight:750}
.timer-log-row{box-shadow:none}
@media(max-width:900px){.top-stamps{display:none}}

/* v1.3.9 · Alert Center + integrazione CRI */
.alert.info{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}
.alert-card{display:flex;align-items:flex-start;gap:10px;padding:0;overflow:hidden}
.alert-card>.alert-main{flex:1;border:0;background:transparent;text-align:left;padding:12px 14px;color:inherit;min-width:0}
.alert-card>.alert-main b,.alert-card>.alert-main div,.alert-card>.alert-main small{display:block}
.alert-card>.alert-main div{margin-top:3px}.alert-card>.alert-main small{margin-top:5px;color:var(--muted)}
.alert-card>.alert-menu-btn{flex:0 0 auto;margin:8px 8px 0 0;border-color:transparent;background:transparent}
.dashboard-alert-board{max-height:380px;overflow:auto;padding-right:4px;scrollbar-gutter:stable}
.calendar-cri-check{font-size:12px;white-space:nowrap;padding:0 6px}
.calendar-ics-actions{gap:6px;flex-wrap:nowrap;justify-content:flex-end}.calendar-ics-actions .btn{white-space:nowrap}
.cri-shift-choice{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:13px;padding:11px 12px;background:var(--panel);cursor:pointer}
.cri-shift-choice:hover{background:var(--panel2)}.cri-shift-choice.late{border-color:color-mix(in srgb,var(--danger) 50%,var(--border));background:color-mix(in srgb,var(--danger) 5%,var(--panel))}
.cri-shift-choice input{width:auto}.cri-shift-choice small{display:block;color:var(--muted);margin-top:2px}.cri-shift-choice.late [data-cri-late-note]{color:var(--danger);font-weight:700}
.cri-shift-type{display:inline-flex;align-items:center;justify-content:center;min-width:72px;border-radius:999px;background:var(--panel2);padding:5px 8px;font-size:11px;font-weight:800}
.cri-status-dot{width:10px;height:10px;border-radius:50%;background:var(--ok);flex:0 0 auto}.cri-status-dot.danger{background:var(--danger)}
.input-suffix{display:flex;align-items:center;border:1px solid var(--border);border-radius:10px;background:var(--bg);overflow:hidden}.input-suffix input{border:0!important;border-radius:0!important}.input-suffix span{padding:0 10px;color:var(--muted);font-size:12px;font-weight:700}
@media(max-width:900px){.bottom-nav{grid-template-columns:repeat(6,1fr)}.calendar-setting.enhanced{align-items:flex-start}.calendar-cri-check{width:100%;padding:4px 0}.dashboard-alert-board{max-height:330px}.cri-shift-choice{align-items:flex-start}.cri-shift-type{min-width:64px}}

/* v1.4.0 · Dashboard CRI, alert acknowledgement, mobile drawer */
.grid.one{grid-template-columns:1fr}
.topbar-title{display:flex;align-items:center;gap:10px;min-width:0}
.mobile-menu-btn,.mobile-drawer,.mobile-drawer-backdrop{display:none}
.alert-bell{position:relative;font-weight:850}.alert-bell>span{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--danger);color:white;display:grid;place-items:center;font-size:10px;border:2px solid var(--panel)}
.alert-card-actions{display:flex;align-items:center;gap:4px;padding:8px 8px 0 0}.alert-card.seen{opacity:.9}.alert-seen-pill{font-size:10px}.alert-unseen-pill{font-size:10px}
.dashboard-row-primary>.card{min-height:230px}.dashboard-statbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-statbar .metric{min-width:0}.session-page-summary{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.session-page-summary>b,.session-page-summary>span{border-radius:999px;background:var(--panel2);padding:6px 9px;font-size:12px}.session-page-summary>b{color:var(--text)}
.segmented.compact{max-width:100%;overflow:auto}.segmented.compact button{padding:6px 11px;font-size:11px;white-space:nowrap}.cri-filter-tabs{display:flex;width:100%}.cri-filter-tabs button{flex:1}
.compact-exam-card{display:flex;gap:11px;align-items:stretch;width:100%;border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:11px;color:inherit}.compact-exam-line{width:5px;border-radius:999px;background:var(--exam);flex:0 0 auto}.progress.slim{height:5px;margin:7px 0 0}.compact-exam-card:hover{background:var(--panel2)}
.cri-live-card{border-color:color-mix(in srgb,var(--danger) 30%,var(--border));background:color-mix(in srgb,var(--danger) 3%,var(--panel))}
.cri-task-badge{margin-left:auto}.cri-shift-event{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 32%,transparent)}.cri-shift-row{border-color:color-mix(in srgb,var(--danger) 24%,var(--border))}.google-attention{outline:2px solid color-mix(in srgb,var(--danger) 72%,transparent)!important;outline-offset:-2px}.gcal-event.google-attention{z-index:8}
.cri-extra-shift[hidden]{display:none!important}.debug-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.choice-card:disabled{opacity:.45;cursor:not-allowed}
.dashboard-priority-alerts .dashboard-alert-section{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}

@media(max-width:900px){
  .bottom-nav{display:none!important}
  .mobile-menu-btn{display:grid;place-items:center;flex:0 0 auto}
  .mobile-drawer-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:79;opacity:0;pointer-events:none;transition:opacity .18s ease}
  .mobile-drawer-backdrop.open{opacity:1;pointer-events:auto}
  .mobile-drawer{display:block;position:fixed;left:0;top:0;bottom:0;width:min(82vw,320px);background:var(--panel);border-right:1px solid var(--border);z-index:80;padding:16px 14px calc(18px + env(safe-area-inset-bottom));transform:translateX(-102%);transition:transform .2s ease;box-shadow:0 12px 42px rgba(0,0,0,.25);overflow:auto}
  .mobile-drawer.open{transform:translateX(0)}.mobile-drawer-head{margin-bottom:12px}.mobile-drawer .brand{margin:0}.mobile-drawer .nav button{margin-left:0;padding:13px 12px;border-radius:12px;font-size:15px}.mobile-drawer .nav button.active{border-radius:12px}
  .main{padding:13px 11px 28px}.topbar{padding:0 11px}.topbar-title h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}.top-actions{gap:5px}.top-actions>.btn.icon-text{padding:8px 9px}
  .dashboard-row.grid.two,.dashboard-row.grid.one{grid-template-columns:1fr}.dashboard-row-primary>.card{min-height:0}.dashboard-statbar{grid-template-columns:1fr 1fr}.debug-grid{grid-template-columns:1fr}.cri-filter-tabs{justify-content:flex-start}.cri-filter-tabs button{flex:0 0 auto}.home-session-actions{grid-template-columns:1fr}.home-session-actions .danger-ghost{grid-column:auto}.session-page-summary{gap:5px}.session-page-summary>b,.session-page-summary>span{font-size:11px;padding:5px 8px}
  .card{padding:15px;border-radius:15px}.big{font-size:24px}.compact-exam-card{padding:10px}.dashboard-alert-board{max-height:360px}.alert-card{flex-wrap:wrap}.alert-card-actions{width:100%;justify-content:flex-end;padding:0 8px 8px}
  .agenda-item.cri-shift-event{grid-template-columns:80px 1fr}.agenda-item.cri-shift-event .cri-task-badge{grid-column:2;justify-self:start;margin-left:0}
}
@media(max-width:480px){.dashboard-statbar{grid-template-columns:1fr}.topbar-title h1{max-width:38vw}.alert-bell{width:32px;height:32px}.cri-filter-tabs{border-radius:12px}.segmented.compact{border-radius:12px}}

/* v1.4.1 · Dashboard layout + dettaglio turno CRI */
.home-stats-head{align-items:flex-start}.home-stats-pills{justify-content:flex-end}.dashboard-exams-wide{width:100%}.dashboard-exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cri-shift-modal{max-width:880px}.cri-shift-detail-card,.cri-shift-task-card{box-shadow:none}.cri-shift-settings{padding-top:8px;border-top:1px solid var(--border)}
@media(max-width:900px){.dashboard-exam-grid{grid-template-columns:1fr}.home-stats-head{align-items:flex-start}.home-stats-pills{gap:5px}.cri-shift-modal{max-width:none}}
@media(max-width:480px){.home-stats-head{gap:8px}.home-stats-pills{justify-content:flex-start}.home-stats-head.row.space{align-items:flex-start;flex-direction:column}}

/* v1.5.0 · Sync v2 + disponibilità CRI */
.dashboard-exams-toggle{width:34px;height:34px;display:grid;place-items:center}.dashboard-exams-toggle svg{width:18px;height:18px}.dashboard-exams-toggle.active{background:var(--panel2);color:var(--accent)}
.dashboard-exams-expanded .dashboard-exam-grid{align-items:start}.dashboard-exams-expanded .exam-card{height:100%}
.exception-scope-tabs{justify-content:flex-start}.exception-panel{border:1px solid var(--border);border-radius:14px;background:var(--panel2);padding:14px}.exception-panel textarea{min-height:116px}
@media(max-width:900px){.dashboard-exams-expanded .dashboard-exam-grid{grid-template-columns:1fr}.exception-panel{padding:12px}}

/* v1.6.0 · Motore CRI, inserimento unico e gestione sera */
.cri-page-head{margin-bottom:12px}.cri-create-kind{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.cri-create-kind button{min-height:42px}.cri-create-kind button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.quick-chip-row{display:flex;gap:8px;flex-wrap:wrap}.quick-chip{border-radius:999px}.deadline-asap-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.asap-toggle{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);font-weight:700;white-space:nowrap}.asap-toggle:has(input:checked){background:#fce8e6;color:#b3261e;border-color:#f4b7b2}.cri-kind-panel{border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--panel2)}
.task-risk{border-left:4px solid #d93025}.meeting-online-pill{background:#ede7f6;color:#5e35b1}.evening-management{border-top:1px solid var(--border);padding-top:12px}.evening-management details>summary{list-style:none;cursor:pointer;width:max-content}.evening-management details>summary::-webkit-details-marker{display:none}.evening-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.evening-preset-grid .btn{justify-content:center;min-height:38px}.cri-status-dot{width:8px;height:8px;border-radius:999px;background:#188038;flex:0 0 auto}.cri-status-dot.danger{background:#d93025}
.cri-shift-choice{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px}.cri-shift-choice.late{border-color:#f4b400;background:#fff8e1}.cri-shift-type{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;background:var(--panel2);font-size:11px;font-weight:700}.cri-shift-choice small{display:block;color:var(--muted);margin-top:2px}
@media(max-width:700px){.cri-create-kind{grid-template-columns:1fr}.evening-preset-grid{grid-template-columns:1fr 1fr}.deadline-asap-row{grid-template-columns:1fr}.asap-toggle{justify-content:center}.cri-kind-panel{padding:11px}}
@media(max-width:420px){.evening-preset-grid{grid-template-columns:1fr}}

/* v1.6.1 · Assistente, sidebar adattiva, quick add e DEBUG CRI */
.ui-icon{width:20px;height:20px;display:block;flex:0 0 auto}.btn .ui-icon{width:17px;height:17px}.brand-badge .ui-icon{width:21px;height:21px}.brand-badge{border-radius:10px;background:var(--text);color:var(--bg)}
.nav button{position:relative;min-height:44px;transition:background .16s ease,color .16s ease,padding .16s ease}.nav-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px}.nav-icon .ui-icon{width:21px;height:21px}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav button.active:before{content:"";position:absolute;left:3px;top:10px;bottom:10px;width:3px;border-radius:99px;background:var(--accent)}
.main-menu-btn{display:grid;place-items:center}.top-quick-wrap{position:relative}.top-add-btn.active{background:var(--panel2);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,var(--border))}.top-quick-menu{position:absolute;right:0;top:43px;width:min(330px,calc(100vw - 24px));padding:7px;background:var(--panel);border:1px solid var(--border);border-radius:15px;box-shadow:0 18px 50px rgba(0,0,0,.18);z-index:90}.top-quick-menu button{width:100%;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:10px;border:0;background:transparent;text-align:left;padding:10px;border-radius:11px;color:inherit}.top-quick-menu button:hover{background:var(--panel2)}.top-quick-menu .ui-icon{width:20px;height:20px;color:var(--accent)}.top-quick-menu span,.top-quick-menu b,.top-quick-menu small{display:block}.top-quick-menu small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.3}
.debug-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.debug-checklist>div{border:1px solid var(--border);background:var(--panel2);border-radius:12px;padding:11px 12px}.debug-checklist b,.debug-checklist span{display:block}.debug-checklist span{color:var(--muted);font-size:12px;line-height:1.4;margin-top:3px}.debug-test-status{min-width:58px;font-size:10px;font-weight:900;letter-spacing:.04em;text-align:center;border-radius:999px;padding:5px 7px;background:var(--panel2)}.debug-test-status.ok{color:var(--ok)}.debug-test-status.fail{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--panel))}.debug-test-status.skip{color:var(--muted)}.debug-test-row.debug-test-fail{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}

@media(min-width:901px){
  .app-shell.sidebar-mode-hidden{grid-template-columns:minmax(0,1fr)}.app-shell.sidebar-mode-hidden>.sidebar{display:none}
  .app-shell.sidebar-mode-icons{grid-template-columns:72px minmax(0,1fr);transition:grid-template-columns .18s ease}.sidebar-mode-icons>.sidebar{padding:18px 10px}.sidebar-mode-icons>.sidebar .brand{justify-content:center;margin:2px 0 24px}.sidebar-mode-icons>.sidebar .brand-name,.sidebar-mode-icons>.sidebar .nav-label,.sidebar-mode-icons>.sidebar .sidebar-legal{display:none}.sidebar-mode-icons>.sidebar .nav button{justify-content:center;padding:10px}.sidebar-mode-icons>.sidebar .nav button.active:before{left:0}
  .app-shell.sidebar-mode-icons.sidebar-peek-open{grid-template-columns:236px minmax(0,1fr)}.sidebar-mode-icons.sidebar-peek-open>.sidebar{padding:22px 15px}.sidebar-mode-icons.sidebar-peek-open>.sidebar .brand{justify-content:flex-start;margin:2px 8px 28px}.sidebar-mode-icons.sidebar-peek-open>.sidebar .brand-name,.sidebar-mode-icons.sidebar-peek-open>.sidebar .nav-label,.sidebar-mode-icons.sidebar-peek-open>.sidebar .sidebar-legal{display:flex}.sidebar-mode-icons.sidebar-peek-open>.sidebar .nav button{justify-content:flex-start;padding:11px 12px}
  .sidebar-mode-expanded .main-menu-btn{display:none}.sidebar-mode-expanded>.sidebar .brand-name{display:inline}.sidebar-mode-expanded>.sidebar .nav-label{display:inline}
  .mobile-drawer.desktop-menu-enabled{display:block;position:fixed;left:0;top:0;bottom:0;width:290px;background:var(--panel);border-right:1px solid var(--border);z-index:80;padding:18px 14px;transform:translateX(-103%);transition:transform .18s ease;box-shadow:0 12px 42px rgba(0,0,0,.25);overflow:auto}.mobile-drawer.desktop-menu-enabled.open{transform:translateX(0)}.mobile-drawer.desktop-menu-enabled .brand{margin:0}.mobile-drawer.desktop-menu-enabled .nav-label,.mobile-drawer.desktop-menu-enabled .brand-name{display:inline}.mobile-drawer.desktop-menu-enabled .nav button{justify-content:flex-start}
  .mobile-drawer-backdrop.desktop-menu-enabled{display:block;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:79;opacity:0;pointer-events:none;transition:opacity .18s ease}.mobile-drawer-backdrop.desktop-menu-enabled.open{opacity:1;pointer-events:auto}
}
@media(max-width:900px){
  .main-menu-btn{display:grid!important}.mobile-drawer .nav-label,.mobile-drawer .brand-name{display:inline!important}.mobile-drawer .nav button{justify-content:flex-start!important}.mobile-drawer .brand-badge{flex:0 0 auto}.debug-checklist{grid-template-columns:1fr}.top-quick-menu{position:fixed;right:10px;top:58px;width:min(340px,calc(100vw - 20px))}
}

/* v1.7.0 · Imprevisti, calendario 3 giorni e ore dinamiche */
.top-unexpected-btn{position:relative}.top-unexpected-btn.unexpected-active{background:#fce8e6;color:#b3261e;box-shadow:inset 0 0 0 1px #f4b7b2}.top-unexpected-btn.unexpected-active:after{content:"";position:absolute;right:3px;top:3px;width:7px;height:7px;border-radius:50%;background:#d93025}
.unexpected-banner{margin-bottom:12px;border-left:5px solid #f9ab00;background:color-mix(in srgb,#f9ab00 7%,var(--panel))}.unexpected-banner.active{border-left-color:#d93025;background:color-mix(in srgb,#d93025 7%,var(--panel))}.unexpected-banner-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--panel);color:#b3261e}.unexpected-banner-icon .ui-icon{width:22px;height:22px}
.calendar-expand-eye{display:grid;place-items:center}.calendar-expand-eye.active{background:var(--panel2);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,var(--border))}
.gcal-wrap.three-day .gcal-head{grid-template-columns:var(--gutter) repeat(3,minmax(180px,1fr))}.gcal-wrap.three-day .gcal-all-day-row{grid-template-columns:var(--gutter) repeat(3,minmax(180px,1fr))}.gcal-wrap.three-day .gcal-scroll{grid-template-columns:var(--gutter) minmax(600px,1fr)}.gcal-wrap.three-day .gcal-tracks{min-width:600px}
.gcal-wrap.hours-expanded .gcal-event{min-height:24px;padding-top:5px;padding-bottom:5px}.gcal-wrap.hours-expanded .gcal-event b{font-size:11.5px}.gcal-wrap.hours-expanded .gcal-event small{font-size:10px}
.exact-date-box{border:1px dashed var(--border);border-radius:12px;padding:11px;background:color-mix(in srgb,var(--panel2) 80%,transparent)}
@media(max-width:900px){.gcal-wrap.three-day .gcal-head{min-width:590px;grid-template-columns:var(--gutter) repeat(3,minmax(180px,1fr))}.gcal-wrap.three-day .gcal-all-day-row{min-width:590px;grid-template-columns:var(--gutter) repeat(3,minmax(180px,1fr))}.gcal-wrap.three-day .gcal-scroll{grid-template-columns:var(--gutter) minmax(540px,1fr)}.gcal-wrap.three-day .gcal-tracks{min-width:540px}.unexpected-banner{margin:0 0 10px}.top-unexpected-btn{width:34px;height:34px}}

/* v1.7.9 · Alert Center stabile: niente righe compresse/overflow */
.alert-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:8px;
  padding:0;
  overflow:visible;
  min-height:58px;
}
.alert-card>.alert-main{
  display:block;
  width:100%;
  min-width:0;
  min-height:58px;
  border:0;
  background:transparent;
  text-align:left;
  padding:11px 14px 12px;
  color:inherit;
  white-space:normal;
  line-height:1.35;
  overflow:visible;
}
.alert-card .alert-title-row{
  display:flex!important;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:0!important;
  min-width:0;
}
.alert-card .alert-title-row strong{min-width:0;overflow-wrap:anywhere}
.alert-card .alert-body,.alert-card .alert-note{display:block;margin-top:4px;white-space:normal;overflow-wrap:anywhere}
.alert-card .alert-note{font-size:11px;color:var(--muted)}
.alert-card>.alert-card-actions{display:flex;align-items:center;align-self:start;gap:5px;padding:8px 8px 8px 0;white-space:nowrap}
.dashboard-alert-board{display:flex;flex-direction:column;gap:10px;max-height:380px;overflow:auto;padding:1px 4px 1px 0;scrollbar-gutter:stable}
@media(max-width:900px){
  .alert-card{grid-template-columns:1fr;min-height:0}
  .alert-card>.alert-main{min-height:0;padding-bottom:8px}
  .alert-card>.alert-card-actions{width:100%;justify-content:flex-end;padding:0 8px 8px}
}

/* v1.8.0 — notifiche per dispositivo, chat rapida, calendario a ore variabili */
.toast.top{top:84px;bottom:auto;transform:translate(-50%,-20px)}
.toast.top.show{transform:translate(-50%,0)}
.toast.bottom{top:auto;bottom:28px}
.toast.danger{background:#b3261e}

.quick-chat-floating{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.quick-chat-fab{width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--bg);box-shadow:0 8px 28px rgba(0,0,0,.22)}
.quick-chat-fab svg,.top-chat-btn svg{width:20px;height:20px}
.quick-chat-fab.active,.top-chat-btn.active{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent)}
.quick-chat-panel{width:min(360px,calc(100vw - 28px));background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:0 16px 48px rgba(0,0,0,.20)}
.quick-chat-panel.top-attached{position:absolute;top:64px;right:24px;z-index:35}
.quick-chat-panel .row>div>small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.quick-chat-placeholder{margin-top:12px;padding:12px;border-radius:12px;background:var(--panel2);color:var(--muted);font-size:12px;line-height:1.4}
.quick-chat-input{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}
.quick-chat-input input{min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--bg);padding:9px 10px}

.calendar-band-editor{display:flex;flex-direction:column;gap:9px}
.calendar-band-row{display:grid;grid-template-columns:minmax(120px,1.4fr) 110px 110px 130px 78px 36px;gap:8px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}
.calendar-band-row .field{min-width:0}.band-color-field input{height:39px;padding:3px!important}.calendar-band-remove{margin-bottom:1px}

/* Le righe orarie sono ora disegnate una per una: ogni ora può avere altezza diversa. */
.gcal-day-track{background-image:none!important}
.gcal-hour-line{position:absolute;left:0;right:0;height:1px;background:var(--border);z-index:1;pointer-events:none}
.calendar-time-band{position:absolute;left:0;right:0;z-index:0;pointer-events:none;border-left:2px solid color-mix(in srgb,var(--band) 38%,transparent);overflow:hidden}
.calendar-time-band span{position:absolute;right:5px;top:3px;font-size:9px;font-weight:700;color:color-mix(in srgb,var(--band) 75%,var(--text));opacity:.72;white-space:nowrap}
.gcal-event{z-index:3}
.gcal-now{z-index:5}
.day-off-label{z-index:4}

.calendar-outcome{display:block!important;margin-top:2px;font-size:9.5px!important;font-weight:800!important;color:var(--ok)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-outcome.skipped{color:var(--danger,#d93025)!important}
.calendar-outcome.missing{color:#e37400!important}
.gcal-event.calendar-report-missing,.month-study.calendar-report-missing,.month-commit.calendar-report-missing,.agenda-item.calendar-report-missing{box-shadow:inset 0 0 0 2px #e37400!important}
.gcal-event.calendar-report-missing{border-radius:5px}
.cri-calendar-draggable{cursor:grab}.cri-calendar-draggable:active{cursor:grabbing}

@media(max-width:900px){
  .quick-chat-floating{right:14px;bottom:78px}.quick-chat-panel.top-attached{right:10px;left:10px;width:auto}
  .calendar-band-row{grid-template-columns:1fr 1fr}.calendar-band-row .band-color-field{grid-column:auto}.calendar-band-remove{justify-self:end}
  .toast{max-width:calc(100vw - 28px);white-space:normal;text-align:center;border-radius:14px}.toast.top{top:72px}.toast.bottom{bottom:84px}
}

/* v1.8.0 hotfix: preview sessioni studio */
.event-content-total{font-weight:700!important;opacity:.92;margin-top:2px}.assignment-list-title{margin-bottom:5px;color:var(--text)}

/* v1.8.0.1 — impostazioni compatte visualizzazione calendario */
.gcal-display-controls{justify-content:flex-end;position:relative;overflow:visible}
.calendar-display-settings{position:relative;display:flex;align-items:center}
.calendar-display-settings-btn{display:grid;place-items:center}
.calendar-display-settings-btn.active{background:var(--panel2);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,var(--border))}
.calendar-display-popover{position:absolute;z-index:55;top:calc(100% + 8px);right:0;width:280px;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:13px;box-shadow:0 12px 36px rgba(32,33,36,.18);display:flex;flex-direction:column;gap:10px}
.calendar-display-popover-title{font-size:12px;font-weight:800;color:var(--text);padding:1px 2px 4px}
.calendar-display-popover .gcal-inline-check{font-size:12px;color:var(--text);font-weight:600}
.calendar-display-grid-settings{border-top:1px solid var(--border);padding-top:10px;margin-top:2px;display:flex;flex-direction:column;gap:9px}
.calendar-display-grid-settings>label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);font-weight:650}
.calendar-display-grid-settings select{min-width:94px}
.calendar-display-grid-settings .gcal-density{justify-content:space-between}
.calendar-display-grid-settings .gcal-density span{margin-right:auto}
@media(max-width:900px){.gcal-display-controls{min-width:0}.calendar-display-popover{position:fixed;right:12px;top:126px;width:min(300px,calc(100vw - 24px));max-height:calc(100vh - 150px);overflow:auto}}


/* v1.8.1 · Undo/Redo + controlli calendario inline */
.history-controls{display:flex;align-items:center;gap:2px;margin-left:2px;flex:0 0 auto}
.history-btn{width:32px;height:32px;display:grid;place-items:center;border-radius:50%}
.history-btn .ui-icon{width:18px;height:18px}
.history-btn:disabled{opacity:.28;cursor:default;background:transparent;color:var(--muted);box-shadow:none}
.history-btn:not(:disabled):hover{background:var(--panel2)}
.gcal-navgroup .gcal-display-controls{width:auto;min-width:0;flex-wrap:nowrap;gap:3px;padding-top:0;justify-content:flex-start;margin-left:1px}
.gcal-navgroup .calendar-display-settings{flex:0 0 auto}
.gcal-navgroup .calendar-expand-eye{flex:0 0 auto}
@media(max-width:900px){.topbar-title{gap:6px}.history-controls{gap:0}.history-btn{width:30px;height:30px}.gcal-navgroup .gcal-display-controls{order:3;margin-left:0}.gcal-navgroup{row-gap:6px}}
.planned-pages-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.planned-pages-details summary b{font-size:12px;color:var(--muted);font-weight:700}.planned-pages-details .assignment-list{margin-top:8px}

.pending-report-banner{margin-bottom:16px}.pending-report-banner .eyebrow{margin-bottom:3px}

/* v1.9.2 — Demo Mode: laboratorio locale isolato */
.demo-mode-banner{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:10px 24px;border-bottom:1px solid color-mix(in srgb,var(--warn) 38%,var(--border));
  background:color-mix(in srgb,var(--warn) 13%,var(--panel));
}
.demo-mode-banner>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}
.demo-mode-banner>div:first-child>b{font-size:12px;letter-spacing:.08em;white-space:nowrap;color:color-mix(in srgb,var(--warn) 82%,var(--text))}
.demo-mode-banner>div:first-child>span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.demo-mode-banner .row{flex:0 0 auto}
.demo-top-pill{font-size:10px;letter-spacing:.06em;flex:0 0 auto}
.demo-settings-card{border-color:color-mix(in srgb,var(--warn) 34%,var(--border));background:color-mix(in srgb,var(--warn) 4%,var(--panel))}
.demo-active .topbar{box-shadow:inset 0 2px 0 color-mix(in srgb,var(--warn) 65%,transparent)}
@media(max-width:900px){
  .demo-mode-banner{padding:8px 11px;align-items:flex-start;flex-direction:column;gap:7px}
  .demo-mode-banner>div:first-child{align-items:flex-start;flex-direction:column;gap:2px}
  .demo-mode-banner>div:first-child>span{white-space:normal;line-height:1.25}
  .demo-mode-banner .row{width:100%;justify-content:flex-end}
  .demo-top-pill{display:none}
}

/* v1.9.7.1 · CRI manual override + deadline recovery */
.cri-warning-triangle{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;color:#e37400;font-weight:900;font-size:12px;line-height:1;vertical-align:middle}
.material-row.cri-task-manual-outside{border-left:4px solid #e37400}
.material-row.cri-task-late{box-shadow:inset 0 0 0 2px #d93025!important;border-radius:8px}
.gcal-event.cri-deadline-late,.month-commit.cri-deadline-late,.agenda-item.cri-deadline-late{box-shadow:inset 0 0 0 2px #d93025!important}
.gcal-event.cri-deadline-late{border-radius:5px}
.gcal-event.cri-manual-outside:not(.cri-deadline-late),.month-commit.cri-manual-outside:not(.cri-deadline-late),.agenda-item.cri-manual-outside:not(.cri-deadline-late){box-shadow:inset 0 0 0 1px #e37400!important}

/* v1.9.8.1 · CRI tag/propedeuticità compatti */
.cri-user-tag{--cri-tag-color:#5f6368;border-color:color-mix(in srgb,var(--cri-tag-color) 42%,var(--border));background:color-mix(in srgb,var(--cri-tag-color) 10%,var(--panel));color:color-mix(in srgb,var(--cri-tag-color) 78%,var(--text));font-weight:750}
.cri-user-tag.compact{font-size:10px;padding:3px 7px}
.cri-user-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cri-tag-color);display:inline-block;margin-right:5px;flex:0 0 auto}
.cri-user-tag.clickable{cursor:pointer}
.cri-tag-dot{--cri-tag-color:#5f6368;display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--cri-tag-color);margin-right:6px;vertical-align:middle;flex:0 0 auto}
.cri-tag-edit-row{display:grid;grid-template-columns:42px minmax(120px,1fr) 34px;align-items:center;gap:8px}
.cri-tag-edit-row input[type=color]{width:38px;height:34px;padding:2px;border-radius:8px}
.cri-tag-group h3{display:flex;align-items:center;gap:3px}
.cri-enum-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.cri-enum-select{position:relative;min-width:0}
.cri-enum-selected{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;min-height:0}
.cri-enum-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid var(--border);background:var(--panel2);border-radius:999px;padding:4px 5px 4px 9px;font-size:12px;font-weight:700}
.cri-enum-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cri-enum-chip small{font-weight:550;color:var(--muted);margin-left:3px}
.cri-enum-x{display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:transparent;color:var(--muted);padding:0;font-size:16px;line-height:1}.cri-enum-x:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}
.cri-enum-input-wrap{position:relative}.cri-enum-input-wrap input{padding-right:30px!important}.cri-enum-caret{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted)}
.cri-enum-options{display:none;position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:130;max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:11px;background:var(--panel);box-shadow:0 14px 35px rgba(0,0,0,.16);padding:5px}
.cri-enum-select:focus-within .cri-enum-options{display:block}
.cri-enum-option{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;border-radius:8px;padding:8px;text-align:left;color:inherit}.cri-enum-option:hover{background:var(--panel2)}.cri-enum-option>span:not(.cri-tag-dot){display:flex;flex-direction:column;min-width:0}.cri-enum-option small{color:var(--muted);font-weight:500}.cri-enum-option[hidden]{display:none!important}
.cri-enum-help{font-size:11px;margin-top:5px}
.cri-detail-tags{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap;min-width:0}
@media(max-width:700px){.cri-tag-edit-row{grid-template-columns:38px minmax(0,1fr) 34px}.cri-enum-grid{gap:8px}.cri-enum-options{max-height:180px}}
@media(max-width:520px){.cri-enum-grid{grid-template-columns:1fr}.cri-detail-tags{justify-content:flex-start}.kv .cri-detail-tags{justify-content:flex-end}}


/* v1.9.8.2 — micro-task CRI leggibili e raggruppabili */
.gcal-event.cri-micro-event{min-height:26px!important;padding:4px 7px!important;z-index:6;justify-content:center!important;cursor:grab}
.gcal-event.cri-micro-event:active{cursor:grabbing}
.gcal-event.cri-micro-event b{font-size:10.5px;line-height:1.1;margin:0!important}
.gcal-event.cri-micro-event span{font-size:9px}
.gcal-event.cri-micro-cluster{min-height:30px!important;z-index:7;justify-content:center!important;border-left:4px solid #188038!important;background:color-mix(in srgb,#188038 18%,var(--panel))!important;cursor:pointer}
.gcal-event.cri-micro-cluster b{font-size:11px;font-weight:800;margin:0!important}
.gcal-event.cri-micro-cluster span{font-size:9px;color:var(--muted)}
.cri-micro-modal-row{gap:8px;align-items:center}
@media(max-width:900px){.gcal-event.cri-micro-event{min-height:28px!important}.gcal-event.cri-micro-cluster{min-height:32px!important}.cri-micro-modal-row{align-items:flex-start;flex-wrap:wrap}.cri-micro-modal-row .grow{flex-basis:100%}}
.gcal-event.calendar-micro-event{min-height:24px!important;padding-top:4px!important;padding-bottom:4px!important;justify-content:center!important;z-index:5}
.gcal-event.calendar-micro-event b{margin:0!important;font-size:10.5px;line-height:1.1}
.gcal-event.calendar-compact-event{padding-top:3px!important;padding-bottom:3px!important}
.gcal-event.calendar-compact-event b{font-size:10.5px}
.gcal-event.calendar-compact-event span{font-size:9px}


/* v1.9.8.3 — stati report compatti + dettagli completi con occhio espanso */
.calendar-outcome-badge{position:absolute;right:5px;top:4px;width:15px;height:15px;border-radius:999px;display:grid!important;place-items:center!important;font-size:9px!important;font-weight:900!important;line-height:1!important;z-index:3;background:color-mix(in srgb,var(--panel) 88%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,currentColor 38%,transparent);overflow:visible!important}
.calendar-outcome-badge.missing{color:#e37400!important}.calendar-outcome-badge.done{color:var(--ok)!important}.calendar-outcome-badge.skipped{color:var(--danger,#d93025)!important}
.gcal-event:has(.calendar-outcome-badge)>b{padding-right:19px}
.gcal-wrap.hours-expanded .gcal-event.calendar-expanded-short-event{min-height:64px!important;padding:6px 7px!important;justify-content:flex-start!important;z-index:6}
.gcal-wrap.hours-expanded .gcal-event.calendar-expanded-short-event b{font-size:11.5px!important;line-height:1.15;margin:0 0 1px!important}
.gcal-wrap.hours-expanded .gcal-event.calendar-expanded-short-event span{font-size:10px!important;line-height:1.15}
.gcal-wrap.hours-expanded .gcal-event.calendar-expanded-short-event small{font-size:9.5px!important;line-height:1.15}
.gcal-wrap.hours-expanded .gcal-event.calendar-expanded-short-event .calendar-outcome{margin-top:3px!important}
.gcal-wrap.hours-expanded .gcal-event.cri-micro-cluster.calendar-expanded-short-event{min-height:72px!important;justify-content:flex-start!important;padding:6px 8px!important}
.gcal-wrap.hours-expanded .cri-micro-cluster-names{color:var(--muted);font-weight:650}
@media(max-width:900px){.calendar-outcome-badge{width:16px;height:16px;right:5px;top:5px}.gcal-wrap.hours-expanded .gcal-event.calendar-expanded-short-event{min-height:68px!important}.gcal-wrap.hours-expanded .gcal-event.cri-micro-cluster.calendar-expanded-short-event{min-height:76px!important}}

/* v1.9.8.4 — micro-task CRI: lucchetto globale + azioni rapide nel gruppo */
.calendar-micro-lock{display:grid;place-items:center}
.calendar-micro-lock.active{background:var(--panel2);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,var(--border))}
.gcal-event.cri-micro-unlocked{min-width:0;cursor:grab;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.gcal-event.cri-micro-unlocked:active{cursor:grabbing}
.cri-micro-modal-row.is-done{background:color-mix(in srgb,#188038 12%,var(--panel));border-color:color-mix(in srgb,#188038 38%,var(--border))}
.cri-micro-modal-row.is-done b{color:#188038}
.cri-micro-modal-row.is-done .muted{color:color-mix(in srgb,#188038 72%,var(--muted))}
@media(max-width:900px){.cri-micro-modal-row .btn.small{padding-left:8px;padding-right:8px}.gcal-event.cri-micro-unlocked b{font-size:9.5px}}


/* v1.9.8.5 — storico modalità imprevisto nel calendario */
.gcal-unexpected-slot{position:absolute;left:2px;right:2px;z-index:1;border:1px dashed color-mix(in srgb,#d93025 78%,var(--border));border-radius:5px;padding:4px 7px;overflow:hidden;text-align:left;color:#b3261e;background-color:color-mix(in srgb,#d93025 5%,transparent);background-image:repeating-linear-gradient(135deg,rgba(217,48,37,.16) 0,rgba(217,48,37,.16) 3px,transparent 3px,transparent 10px);box-shadow:inset 3px 0 0 rgba(217,48,37,.72);cursor:pointer}
.gcal-unexpected-slot:hover{z-index:2;background-color:color-mix(in srgb,#d93025 9%,var(--panel));box-shadow:inset 3px 0 0 #d93025,0 2px 8px rgba(60,64,67,.18)}
.gcal-unexpected-slot b,.gcal-unexpected-slot span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.gcal-unexpected-slot b{font-size:10.5px;font-weight:800}.gcal-unexpected-slot span{font-size:9px;margin-top:1px}.gcal-unexpected-slot.compact{padding:0;box-shadow:none;background-image:repeating-linear-gradient(135deg,rgba(217,48,37,.28) 0,rgba(217,48,37,.28) 2px,transparent 2px,transparent 7px)}
.unexpected-history-detail{display:grid;grid-template-columns:10px 1fr;gap:12px;align-items:stretch}.unexpected-history-swatch{min-height:58px;border:1px dashed #d93025;border-radius:5px;background:repeating-linear-gradient(135deg,rgba(217,48,37,.20) 0,rgba(217,48,37,.20) 3px,transparent 3px,transparent 10px)}
@media(max-width:900px){.gcal-unexpected-slot{padding-left:5px;padding-right:5px}.gcal-unexpected-slot b{font-size:10px}}

/* v1.9.8.6 — imprevisto visibile anche mentre attivo/programmato se la fine è fissata */
.gcal-unexpected-slot.active{background-color:color-mix(in srgb,#d93025 9%,transparent);box-shadow:inset 3px 0 0 #d93025}
.gcal-unexpected-slot.planned{opacity:.86}
.unexpected-history-swatch.active{background-color:color-mix(in srgb,#d93025 8%,transparent);box-shadow:inset 3px 0 0 #d93025}
.unexpected-history-swatch.planned{opacity:.86}

/* v1.9.8.7 · Reportistica imprevisti */
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.unexpected-report-row{align-items:flex-start}
.unexpected-report-row .field{width:100%}
.unexpected-report-row textarea{min-height:72px}
.unexpected-report-heading{align-items:center}
@media(max-width:1100px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.grid.four{grid-template-columns:1fr}.tabs{max-width:100%;overflow-x:auto}.unexpected-report-row{padding:11px}.unexpected-report-row textarea{min-height:84px}}

/* v1.9.9 — Monitor turni CRI / Laserwall */
.cri-monitor-semaphore{position:relative;width:32px;height:32px;min-width:32px;border:1px solid var(--border,#dadce0);border-radius:9px;background:var(--panel);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 1px 2px rgba(60,64,67,.08)}
.cri-monitor-semaphore:hover{box-shadow:0 1px 4px rgba(60,64,67,.2)}
.cri-monitor-light{width:16px;height:16px;border-radius:5px;background:#9aa0a6;box-shadow:inset 0 0 0 1px rgba(0,0,0,.09)}
.cri-monitor-dark-green .cri-monitor-light,.cri-monitor-inline.cri-monitor-dark-green i{background:#137333}
.cri-monitor-light-green .cri-monitor-light,.cri-monitor-inline.cri-monitor-light-green i{background:#81c995}
.cri-monitor-yellow .cri-monitor-light,.cri-monitor-inline.cri-monitor-yellow i{background:#f9ab00}
.cri-monitor-orange .cri-monitor-light,.cri-monitor-inline.cri-monitor-orange i{background:#e37400}
.cri-monitor-red .cri-monitor-light,.cri-monitor-inline.cri-monitor-red i{background:#d93025}
.cri-monitor-unknown .cri-monitor-light,.cri-monitor-inline.cri-monitor-unknown i{background:#9aa0a6}
.cri-monitor-semaphore.stale{outline:2px dashed #5f6368;outline-offset:1px}
.cri-monitor-count{position:absolute;right:-6px;top:-7px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#202124;color:#fff;font-size:10px;font-weight:800;line-height:17px;text-align:center;border:2px solid var(--panel)}
.cri-monitor-stale{position:absolute;left:-6px;bottom:-6px;width:17px;height:17px;border-radius:50%;background:#fff;color:#5f6368;border:1px solid #9aa0a6;font-size:11px;font-weight:900;line-height:15px;text-align:center}
.cri-monitor-inline{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:5px 9px;border:1px solid var(--border,#dadce0);border-radius:999px;background:var(--panel)}
.cri-monitor-inline i{display:inline-block;width:10px;height:10px;border-radius:3px;background:#9aa0a6}
.cri-monitor-shift-card{border:1px solid var(--border,#dadce0);border-left:4px solid #188038;border-radius:12px;padding:11px 12px;background:var(--panel)}
.cri-monitor-shift-card.uncovered{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 5%,var(--panel))}
.cri-monitor-role-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}
.cri-monitor-role{display:flex;gap:7px;align-items:flex-start;border-radius:9px;padding:7px 8px;background:color-mix(in srgb,var(--ok) 8%,var(--panel2));min-width:0;color:var(--text)}
.cri-monitor-role b{font-size:11px;min-width:28px}.cri-monitor-role span{font-size:12px;overflow-wrap:anywhere}.cri-monitor-role.missing{background:color-mix(in srgb,var(--danger) 10%,var(--panel2));color:color-mix(in srgb,var(--danger) 78%,var(--text))}.cri-monitor-role-list.compact .cri-monitor-role{padding:5px 7px}
.cri-monitor-home-focus{border:1px solid var(--border);border-radius:12px;padding:11px;background:color-mix(in srgb,var(--accent) 4%,var(--panel))}
.cri-monitor-uncovered-row{border-left:3px solid #d93025}
.cri-turn-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:9px;margin-left:5px;font-size:10px;font-weight:800;background:rgba(95,99,104,.15);vertical-align:middle}.cri-turn-tab-badge.has-items{background:#d93025;color:#fff}
.home-cri-turns .alert{margin-bottom:8px}
@media(max-width:720px){.cri-monitor-role-list{grid-template-columns:1fr}.cri-monitor-semaphore{width:30px;height:30px;min-width:30px}.cri-monitor-light{width:14px;height:14px}.cri-filter-tabs{overflow-x:auto;justify-content:flex-start}.cri-filter-tabs>button{flex:0 0 auto;white-space:nowrap}}
