@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--bg:#0b1220;--surface:#121d2e;--surface2:#1a2940;--line:#26364d;--text:#f2f6fc;--muted:#91a2b9;--accent:#72a7ff;--green:#40d6a0;--orange:#ffb45e;--purple:#bd9bff;--red:#ff727c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;padding-bottom:90px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #1d2a3d;position:sticky;top:0;background:#0b1220ed;backdrop-filter:blur(14px);z-index:5}.brand{display:flex;gap:11px;align-items:center}.brandmark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#8bc0ff,#527bff);display:grid;place-items:center;color:#081426;font:800 22px 'Space Grotesk'}.brand b{font:700 15px 'Space Grotesk';letter-spacing:1.2px}.brand small{display:block;font-size:8px;letter-spacing:1.6px;color:var(--muted);margin-top:3px}.iconbtn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;width:40px;height:40px;font-size:22px}main{max-width:680px;margin:auto;padding:22px 18px}.screen{display:none}.screen.active{display:block}.hello{display:flex;justify-content:space-between;align-items:flex-start;margin:12px 0 24px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:800;margin:0 0 8px}.hello h1,.page-head h1{font:700 31px 'Space Grotesk';margin:0}.muted{color:var(--muted);font-size:13px;line-height:1.5}.date-chip{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:10px 12px;color:var(--muted);font-size:12px}.next-card{background:linear-gradient(135deg,#1e3655,#17253a);border:1px solid #345174;border-radius:20px;padding:19px;margin-bottom:14px;min-height:150px}.card-top{font-size:10px;letter-spacing:1.7px;color:#b4c9e5;display:flex;justify-content:space-between}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.next-card h2{font:700 23px 'Space Grotesk';margin:22px 0 5px}.next-card p{color:#b4c9e5;font-size:13px;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0 25px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}.stat span{display:block;color:var(--muted);font-size:9px;letter-spacing:1.3px;font-weight:700}.stat b{display:block;font:700 29px 'Space Grotesk';margin:8px 0 2px}.stat small{color:var(--muted);font-size:11px}.section-head h2{font:600 17px 'Space Grotesk'}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:17px;text-align:left;color:var(--text);display:flex;flex-direction:column;gap:6px}.quick span{font-size:23px;color:var(--accent)}.quick b{font-size:14px}.quick small{font-size:11px;color:var(--muted)}.notice{margin-top:18px;padding:13px;border:1px solid #29445b;background:#102235;border-radius:13px;color:#a8c5df;font-size:11px;line-height:1.5}.page-head{display:flex;justify-content:space-between;align-items:center;margin:8px 0 22px}.primary,.secondary,.danger{border:0;border-radius:12px;padding:14px 16px;font-weight:700;font-size:13px}.primary{background:var(--accent);color:#071426}.primary:disabled{opacity:.4}.small{padding:10px 13px}.full{width:100%;margin-top:18px}.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--line)}.danger{background:#49232c;color:#ffabb1;margin-top:12px}.monthbar{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px}.monthbar h2{font:600 18px 'Space Grotesk';text-transform:capitalize}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays span{text-align:center;color:var(--muted);font-size:9px;font-weight:700;padding:8px 0}.day{aspect-ratio:1;border:1px solid transparent;background:var(--surface);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:13px;color:var(--text);position:relative}.day.empty{background:transparent}.day.today{border-color:var(--accent)}.day.selected{background:#243e60;border-color:var(--accent)}.day .dot{width:5px;height:5px;border-radius:50%;background:var(--muted)}.day .dot.morning{background:var(--orange)}.day .dot.afternoon{background:var(--accent)}.day .dot.night{background:var(--purple)}.day .dot.rest{background:var(--green)}.legend{display:flex;gap:13px;flex-wrap:wrap;margin:16px 0;color:var(--muted);font-size:10px}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.morning{background:var(--orange)}.afternoon{background:var(--accent)}.night{background:var(--purple)}.rest{background:var(--green)}.day-details,.panel{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:17px;margin-top:15px}.day-details h3,.panel h3{font:600 16px 'Space Grotesk';margin:0 0 12px}.field-label{display:block;font-size:11px;font-weight:700;color:#c4d2e4;margin:16px 0 8px}.panel input,.panel select,.time-row input{width:100%;background:#0c1625;border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--text);font:13px 'DM Sans';min-width:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stepper{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 2px 13px;margin-bottom:15px;color:#63758e;font-size:9px;letter-spacing:1px;font-weight:800}.stepper .current{color:var(--accent)}.upload{border:1px dashed #456184;background:#14243a;border-radius:14px;min-height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--text);margin-top:8px}.upload-icon{font-size:25px;color:var(--accent)}.upload small,.helper{color:var(--muted);font-size:10px}.helper{line-height:1.5;margin:13px 0}.photo-preview{margin-top:12px}.photo-preview img{width:100%;max-height:240px;object-fit:contain;border-radius:10px;background:#080e18}.textbtn{background:none;border:0;color:var(--accent);font-size:12px;padding:8px 0}.hidden{display:none!important}.verify-intro{font-size:12px;color:var(--muted);line-height:1.5}.badge{font-size:9px;color:var(--orange);letter-spacing:1px;font-weight:800}.row-between{display:flex;justify-content:space-between;align-items:center}.shift-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.shift-cell{background:#0c1625;border:1px solid var(--line);border-radius:10px;padding:8px 6px}.shift-cell label{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.shift-cell input{padding:9px 5px;text-align:center;text-transform:uppercase;font-weight:800}.code-help{margin-top:14px;padding:11px;background:#17263a;border-radius:10px;color:var(--muted);font-size:10px;line-height:1.6}.time-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:center;margin:10px 0}.time-row label{font-size:12px;color:var(--muted)}.file-button{display:flex;align-items:center;justify-content:center;text-align:center}.bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:8;background:#101a2aed;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:9px 8px calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(15px)}.navitem{background:none;border:0;color:#71839c;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:55px}.navitem span{font-size:20px}.navitem small{font-size:9px}.navitem.selected{color:var(--accent)}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%,20px);background:#e5efff;color:#102037;padding:11px 16px;border-radius:12px;font-size:12px;font-weight:700;opacity:0;transition:.2s;z-index:20;pointer-events:none;max-width:90%;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:600px){main{padding-top:35px}.shift-inputs{grid-template-columns:repeat(7,1fr)}}

.ocr-progress{margin:14px 0;padding:12px;background:#0c1625;border:1px solid var(--line);border-radius:12px}.ocr-bar{height:7px;background:#26364d;border-radius:8px;overflow:hidden}.ocr-bar i{display:block;width:0;height:100%;background:var(--green);transition:width .2s}.ocr-progress small{display:block;color:var(--muted);font-size:10px;margin-top:8px}.ocr-details{margin:12px 0;padding:10px 12px;background:#0c1625;border:1px solid var(--line);border-radius:11px}.ocr-details summary{font-size:11px;color:var(--accent);font-weight:700}.ocr-details textarea{width:100%;margin-top:10px;background:#101d30;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px;font:11px/1.5 monospace;resize:vertical}.ocr-hit{border-color:#3b876d!important;background:#102a27!important}.ocr-warning{color:var(--orange)!important}

/* SHIFT MASTER 1.6.0 - calendario multi-persona e codici visibili */
.day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:7px 2px}
.day-codes{display:flex;gap:2px;flex-wrap:wrap;justify-content:center;min-height:17px}
.day-code{font-size:10px;line-height:15px;font-weight:800;padding:0 4px;border-radius:5px;background:#203044;color:#eaf1ff}
.day-dots{display:flex;gap:3px;justify-content:center;min-height:6px}
.dot.holiday,.holiday{background:#e3ad4d}.dot.permit,.permit{background:#a78bfa}.dot.sick,.sick{background:#e87979}.dot.custom,.custom{background:#58b9b1}
.day-entry{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line,#26364a)}
.entry-code{min-width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:800;background:#203044;color:#fff}
.entry-code.morning,.day-code.morning{background:#176b57}.entry-code.afternoon,.day-code.afternoon{background:#9a6a19}.entry-code.night,.day-code.night{background:#465ca4}.entry-code.rest,.day-code.rest{background:#46505e}.entry-code.holiday,.day-code.holiday{background:#9a6a19}.entry-code.permit,.day-code.permit{background:#65519a}.entry-code.sick,.day-code.sick{background:#984f55}
.entry-meta{display:flex;flex:1;flex-direction:column;gap:3px}.entry-meta small{color:#91a0b5}
.manual-entry{margin-top:18px;padding:14px;border:1px solid #2b3b50;border-radius:15px;background:#101d2d}
.manual-grid{display:grid;grid-template-columns:1fr 100px;gap:8px;margin:10px 0}
.manual-grid input{min-width:0;width:100%}
.delete-entry{font-size:12px}

/* 1.6.1: inserimento orari reali per familiari */
.manual-mode{display:flex;gap:18px;align-items:center;margin:12px 0}
.manual-mode label{display:flex;gap:6px;align-items:center;color:#cbd5e1}
.manual-mode input{accent-color:#76a7ff}
.manual-entry .field-label{display:block;margin:9px 0 5px}
.manual-grid>div{min-width:0}
.day-code.custom{font-size:9px;max-width:100%;overflow:hidden}

/* 1.6.8 - scelta assistita della riga nelle fotografie */
.photo-row-candidates{margin:14px 0;padding:14px;border:1px solid var(--line,#29384c);border-radius:14px;background:rgba(10,18,32,.55)}
.photo-row-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(140,160,190,.18)}
.photo-row-candidate:last-child{border-bottom:0}
.photo-row-candidate img{display:block;width:100%;max-height:72px;object-fit:contain;object-position:left center;background:#fff;border-radius:6px}
.photo-row-candidate small{display:block;color:#9aa9bd;margin:4px 0}
.photo-row-candidate button{white-space:nowrap}


/* SHIFT MASTER 1.7.1 — visual refresh */
:root{
 --bg:#08111f;--surface:#101c2d;--surface2:#17263a;--line:#263951;
 --text:#f3f7ff;--muted:#9aabc2;--accent:#82b2ff;--green:#55d6aa;
 --orange:#ffbd70;--purple:#c3a5ff;--red:#ff828a;
 --shadow:0 14px 34px rgba(0,0,0,.22);
}
html{background:var(--bg);scroll-behavior:smooth}
body{
 background:
  radial-gradient(ellipse at 90% -12%,rgba(76,125,196,.16),transparent 38%),
  radial-gradient(ellipse at -15% 45%,rgba(44,92,145,.09),transparent 32%),
  var(--bg);
 letter-spacing:.05px;-webkit-font-smoothing:antialiased;
}
.topbar{
 height:82px;padding:0 22px;border-bottom:1px solid rgba(132,164,205,.14);
 background:rgba(8,17,31,.91);box-shadow:0 8px 24px rgba(0,0,0,.12)
}
.brand{gap:13px}.brandmark{
 width:44px;height:44px;border-radius:15px;
 background:linear-gradient(145deg,#9bc8ff,#5b83f5);
 box-shadow:0 7px 18px rgba(88,137,235,.28);
 font-size:24px
}
.brand b{font-size:16px;letter-spacing:1.5px}
.brand small{font-size:9px;letter-spacing:2px;margin-top:4px}
.iconbtn{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#15243a,#101b2c);border-color:#30445f;box-shadow:0 5px 15px rgba(0,0,0,.15)}
main{max-width:720px;padding:27px 19px 30px}
.hello{margin:15px 0 25px;align-items:center}
.eyebrow{font-size:10px;letter-spacing:2.3px;margin-bottom:10px}
.hello h1,.page-head h1{font-size:34px;letter-spacing:-1.1px;line-height:1.12}
.muted{font-size:13px;line-height:1.6}
.date-chip{border-radius:14px;padding:11px 13px;background:rgba(20,34,54,.86);border-color:#2c405b}
.next-card{
 position:relative;overflow:hidden;border-radius:22px;padding:22px;
 background:linear-gradient(128deg,#1b3656 0%,#14263d 58%,#172238 100%);
 border:1px solid rgba(124,171,229,.28);box-shadow:var(--shadow)
}
.next-card:after{content:"";position:absolute;width:170px;height:170px;right:-65px;top:-85px;border-radius:50%;border:1px solid rgba(174,207,255,.13);box-shadow:0 0 0 18px rgba(174,207,255,.025),0 0 0 38px rgba(174,207,255,.02)}
.card-top{font-size:10px;letter-spacing:2px}
.next-card h2{font-size:25px;letter-spacing:-.5px;margin:24px 0 6px}
.stats-grid{gap:11px;margin:14px 0 28px}
.stat{border-radius:18px;padding:17px;background:linear-gradient(155deg,#14243a,#101b2c);border-color:#2a3d57;box-shadow:0 8px 22px rgba(0,0,0,.13)}
.stat span{font-size:9px;letter-spacing:1.5px}
.stat b{font-size:31px;letter-spacing:-1px;margin:9px 0 1px}
.section-head h2{font-size:18px;letter-spacing:-.3px}
.quick-grid{gap:11px}
.quick{position:relative;overflow:hidden;min-height:112px;border-radius:18px;padding:17px;background:linear-gradient(145deg,#14243a,#101b2b);border-color:#2a3d57;transition:transform .16s,border-color .16s}
.quick:active{transform:scale(.985)}
.quick span{font-size:25px}
.quick b{font-size:14px}
.quick small{font-size:11px}
.notice{border-radius:14px;padding:14px 15px;background:rgba(16,36,52,.8);border-color:#29475b;font-size:11px}
.page-head{margin:12px 0 25px;gap:12px}
.page-head h1{font-size:33px}
.primary,.secondary,.danger{border-radius:13px;padding:14px 17px;font-size:13px;letter-spacing:.1px;transition:filter .15s,transform .15s}
.primary{background:linear-gradient(135deg,#91bdff,#6f9ef4);box-shadow:0 7px 17px rgba(91,143,225,.2)}
.primary:active,.secondary:active{transform:scale(.985)}
.secondary{background:#1a2b42;border-color:#344a67}
.monthbar{margin:16px 0 19px}
.monthbar h2{font-size:19px;letter-spacing:-.3px}
.weekdays,.calendar-grid{gap:6px}
.weekdays span{font-size:9px;letter-spacing:.7px;padding:8px 0}
.day{
 min-height:58px;aspect-ratio:auto;border-radius:13px;background:linear-gradient(145deg,#14243a,#101b2b);
 border:1px solid rgba(111,140,178,.13);font-weight:700;transition:background .15s,border-color .15s
}
.day.today{border:1px solid #80b2ff;box-shadow:inset 0 0 0 1px rgba(128,178,255,.12)}
.day.selected{background:linear-gradient(145deg,#25466d,#1b3452);border-color:#82b2ff;box-shadow:0 5px 14px rgba(55,111,184,.18)}
.day-codes{gap:3px;min-height:18px}
.day-code{font-size:9px;line-height:16px;min-width:15px;border-radius:5px;padding:0 4px}
.day-dots{min-height:6px}
.legend{gap:11px 14px;margin:17px 0;color:#a9b8cc;font-size:10px}
.day-details,.panel{
 border-radius:19px;padding:19px;margin-top:16px;
 background:linear-gradient(155deg,rgba(19,33,52,.98),rgba(14,25,41,.98));
 border-color:#2a3e58;box-shadow:0 10px 26px rgba(0,0,0,.12)
}
.day-details h3,.panel h3{font-size:17px;letter-spacing:-.25px}
.field-label{font-size:11px;letter-spacing:.2px;color:#d1dced;margin:17px 0 8px}
.panel input,.panel select,.time-row input{
 background:#0b1727;border-color:#30445f;border-radius:12px;padding:13px 14px;
 font-size:14px;min-height:46px;outline:none;transition:border-color .15s,box-shadow .15s
}
.panel input:focus,.panel select:focus,.time-row input:focus{
 border-color:#80b2ff;box-shadow:0 0 0 3px rgba(128,178,255,.12)
}
.upload{
 min-height:150px;border:1px dashed #54749a;border-radius:17px;
 background:linear-gradient(145deg,rgba(27,51,79,.78),rgba(17,32,51,.9));
 padding:18px;text-align:center;gap:9px;transition:border-color .15s,background .15s
}
.upload:active{border-color:#9ac4ff;background:#1b3452}
.upload-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#25476d;color:#a9ceff;font-size:25px}
.upload b{font-size:14px}
.upload small{max-width:270px;line-height:1.5;font-size:11px}
.helper{font-size:11px;line-height:1.6;margin:13px 0}
.stepper{padding-bottom:15px;margin-bottom:17px;color:#7286a2}
.stepper span{font-size:9px;letter-spacing:1.3px}
.shift-inputs{gap:8px}
.shift-cell{border-radius:12px;padding:9px 7px;background:#0d1929;border-color:#30435d}
.shift-cell label{font-size:10px;font-weight:700}
.shift-cell input{border-radius:9px;min-height:40px;font-size:14px}
.code-help{border:1px solid rgba(118,153,198,.14);background:#14243a;border-radius:12px;padding:13px;font-size:11px}
.ocr-progress,.ocr-details{border-radius:13px;background:#0c1727;border-color:#2c405a;padding:13px}
.ocr-details summary{font-size:12px;cursor:pointer}
.ocr-details textarea{border-radius:10px;font-size:11px;line-height:1.55}
.bottomnav{
 background:rgba(13,24,40,.96);border-top:1px solid rgba(126,155,192,.2);
 padding:10px 10px calc(10px + env(safe-area-inset-bottom));
 box-shadow:0 -10px 30px rgba(0,0,0,.18)
}
.navitem{min-width:62px;gap:4px;padding:3px 10px;border-radius:12px;transition:color .15s,background .15s}
.navitem span{font-size:22px;line-height:1.2}
.navitem small{font-size:10px;letter-spacing:.1px}
.navitem.selected{color:#9cc4ff;background:rgba(100,151,220,.1)}
.toast{border:1px solid #d2e2fa;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.photo-row-candidates{border-radius:16px;background:#0e1a2a;border-color:#30435b}
@media(max-width:390px){
 main{padding-left:14px;padding-right:14px}
 .topbar{padding:0 16px}
 .hello h1,.page-head h1{font-size:30px}
 .day{min-height:52px;border-radius:11px}
 .day-code{font-size:8px;padding:0 3px}
 .stats-grid{gap:8px}
 .stat{padding:14px}
}


/* SHIFT MASTER 1.8.0 — Family calendar */
.day-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.day-detail-head .eyebrow{margin:0 0 5px}
.day-detail-head h3{margin:0;text-transform:capitalize}
.day-count{font-size:10px;color:#a9bdd7;background:#1b2c43;border:1px solid #304763;border-radius:99px;padding:6px 9px;white-space:nowrap}
.day-entry{gap:10px;padding:12px 0}
.entry-actions{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.entry-actions .textbtn{padding:3px 0;font-size:10px}
.entry-meta b{font-size:12px}
.entry-meta small{font-size:10px;line-height:1.4}
.manual-entry{margin-top:20px;padding:16px;background:linear-gradient(155deg,#14243a,#101c2d);border-color:#344b68}
.manual-form-title{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.manual-form-title b{font-size:14px;color:#eef5ff}
.manual-form-title small{font-size:10px;color:#9aabc2;line-height:1.45}
.manual-mode{gap:10px;flex-wrap:wrap}
.manual-mode label{padding:9px 11px;border:1px solid #30445f;border-radius:10px;background:#0d1929;font-size:11px}
.repeat-option{display:flex;align-items:flex-start;gap:10px;margin:15px 0;padding:12px;border:1px solid #30445f;border-radius:12px;background:#0d1929;cursor:pointer}
.repeat-option input{margin-top:3px;accent-color:#82b2ff}
.repeat-option span{display:flex;flex-direction:column;gap:4px}
.repeat-option b{font-size:11px;color:#e6efff}
.repeat-option small{font-size:10px;color:#9aabc2;line-height:1.45}
.manual-form-actions{display:flex;gap:8px;align-items:center}
.manual-form-actions .primary{flex:1}
.manual-form-actions .secondary{white-space:nowrap;padding:12px}
@media(max-width:390px){
 .day-entry{gap:7px}
 .entry-actions .textbtn{font-size:9px}
 .entry-code{min-width:34px;width:34px;height:34px}
 .manual-entry{padding:12px}
}

/* SHIFT MASTER 1.8.1 — modern app finish */
:root{
 --bg:#070d19;--surface:#101b2c;--surface2:#192940;--line:rgba(151,180,218,.17);
 --text:#f4f7ff;--muted:#9aaac0;--accent:#8bb8ff;--green:#55dfb0;
 --orange:#ffc078;--purple:#c5a5ff;--red:#ff8491;
 --shadow:0 18px 44px rgba(0,0,0,.28);
}
body{
 background:radial-gradient(ellipse at 50% -18%,rgba(74,128,211,.22),transparent 48%),
 linear-gradient(180deg,#0a1424 0%,#070d19 58%,#080f1c 100%);
 letter-spacing:.05px;
}
.topbar{
 height:76px;padding:0 max(19px,calc((100vw - 720px)/2));
 background:rgba(7,14,26,.82);border-bottom:1px solid rgba(157,187,226,.13);
 box-shadow:0 8px 28px rgba(0,0,0,.12)
}
.brand{gap:12px}.brandmark{
 width:42px;height:42px;border-radius:14px;color:#071322;
 background:linear-gradient(145deg,#b4d6ff 0%,#7eaaff 52%,#8b8dff 100%);
 box-shadow:0 7px 22px rgba(104,153,235,.28);font-size:24px
}
.brand b{font-size:15px;letter-spacing:1.45px}.brand small{font-size:8px;letter-spacing:1.85px;color:#8fa6c4}
.iconbtn{background:rgba(24,40,62,.82);border-color:rgba(153,184,226,.2);color:#dceaff}
main{padding-top:25px;padding-bottom:38px}
.hello{margin:17px 0 27px}.hello h1,.page-head h1{font-size:36px;letter-spacing:-1.45px;font-weight:700}
.eyebrow{color:#9bc4ff;font-size:9px;letter-spacing:2.5px}
.date-chip{color:#c5d6ed;background:rgba(24,40,62,.76);border-color:rgba(153,184,226,.2);font-weight:700}
.next-card{
 min-height:164px;padding:23px 22px;border-radius:25px;
 background:linear-gradient(122deg,rgba(35,73,117,.98),rgba(24,48,79,.98) 55%,rgba(32,43,77,.98));
 border:1px solid rgba(151,190,246,.28);box-shadow:0 20px 42px rgba(10,31,58,.32)
}
.next-card:before{content:"";position:absolute;width:210px;height:210px;right:-70px;bottom:-145px;border-radius:50%;background:rgba(136,181,255,.12);filter:blur(1px)}
.next-card h2{font-size:27px;letter-spacing:-.7px}.next-card p{color:#c0d4ee}
.live-dot{box-shadow:0 0 0 5px rgba(85,223,176,.1),0 0 17px rgba(85,223,176,.8)}
.stats-grid{gap:12px;margin:15px 0 29px}.stat{
 min-height:118px;border-radius:20px;padding:18px 17px;
 background:linear-gradient(150deg,rgba(23,39,61,.98),rgba(14,25,41,.98));
 border:1px solid rgba(145,176,218,.16);box-shadow:0 12px 30px rgba(0,0,0,.17)
}
.stat span{color:#9eb2ce;letter-spacing:1.45px}.stat b{font-size:33px;color:#f5f8ff}
.section-head h2{font-size:19px;letter-spacing:-.4px}
.quick{min-height:122px;border-radius:20px;padding:18px;background:linear-gradient(150deg,#182b45,#111e31);border-color:rgba(145,176,218,.18);box-shadow:0 12px 28px rgba(0,0,0,.15)}
.quick span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(126,174,245,.13);color:#a9ccff}
.quick b{font-size:14px}.quick small{color:#9aadc7}
.notice{border-radius:16px;background:rgba(17,42,51,.62);border-color:rgba(85,223,176,.18);color:#b5d8d2}
.page-head{margin:13px 0 27px}.page-head h1{font-size:35px}
.primary{background:linear-gradient(135deg,#a8ceff,#7daaff 58%,#8f9cff);color:#081426;box-shadow:0 8px 22px rgba(105,154,238,.22);font-weight:800}
.secondary{background:linear-gradient(145deg,#213650,#17273c);border-color:rgba(151,181,222,.2)}
.monthbar{padding:7px 0}.monthbar h2{font-size:20px;color:#edf4ff}
.weekdays,.calendar-grid{gap:7px}.weekdays span{color:#8298b7;font-size:9px;letter-spacing:1px}
.day{min-height:61px;border-radius:15px;background:linear-gradient(145deg,#172940,#101d30);border:1px solid rgba(144,174,216,.1);box-shadow:0 5px 13px rgba(0,0,0,.1)}
.day.today{border-color:#83b5ff;box-shadow:inset 0 0 0 1px rgba(131,181,255,.18),0 0 0 2px rgba(131,181,255,.06)}
.day.selected{background:linear-gradient(145deg,#315987,#203d60);border-color:#9ac5ff;box-shadow:0 8px 20px rgba(49,105,169,.22)}
.day-code{border:1px solid rgba(255,255,255,.07);font-size:9px;line-height:16px}
.day-details,.panel{border-radius:21px;background:linear-gradient(155deg,rgba(20,35,55,.98),rgba(12,22,37,.98));border:1px solid rgba(145,176,218,.16);box-shadow:0 15px 34px rgba(0,0,0,.16);padding:20px}
.panel h3,.day-details h3{font-size:18px}.field-label{color:#d7e4f7;letter-spacing:.25px}
.panel input,.panel select,.time-row input{background:#091524;border-color:rgba(145,176,218,.22);color:#f4f7ff;border-radius:13px}
.panel input:focus,.panel select:focus,.time-row input:focus{border-color:#91bdff;box-shadow:0 0 0 3px rgba(129,177,246,.14)}
.upload{border-color:rgba(145,190,250,.48);background:linear-gradient(145deg,rgba(36,68,105,.52),rgba(17,33,53,.88));border-radius:19px}
.upload-icon{background:linear-gradient(145deg,#315b8b,#24466f);color:#c5ddff}
.bottomnav{background:rgba(8,16,29,.94);border-top:1px solid rgba(145,176,218,.16);box-shadow:0 -12px 35px rgba(0,0,0,.25);padding-top:11px}
.navitem{min-width:66px;padding:6px 12px 5px;border-radius:15px}.navitem span{font-size:21px}.navitem small{font-size:10px;font-weight:700;letter-spacing:.2px}
.navitem.selected{color:#b3d1ff;background:linear-gradient(145deg,rgba(102,157,232,.18),rgba(102,157,232,.07));box-shadow:inset 0 0 0 1px rgba(142,186,247,.12)}
.toast{background:#eaf2ff;color:#10213a;border:1px solid #c6dcff;border-radius:14px}
.day-count{background:#203752;border-color:#385575;color:#c6dcf8}
.manual-entry{background:linear-gradient(155deg,#1b304a,#111f32);border-color:rgba(145,176,218,.2)}
.manual-mode label,.repeat-option{background:#0d1a2b;border-color:rgba(145,176,218,.2)}
@media(min-width:760px){main{padding-top:34px}.hello h1,.page-head h1{font-size:39px}}
@media(max-width:390px){.hello h1,.page-head h1{font-size:31px}.next-card{padding:20px}.day{min-height:55px}.stats-grid{gap:9px}}

/* BuzzBook branding */
.brandmark{display:block;object-fit:cover;padding:0;border:1px solid rgba(130,190,255,.45);box-shadow:0 7px 22px rgba(35,145,255,.25)}
