:root{color-scheme:dark;--bg:#080e1b;--panel:#111b2d;--panel2:#17243a;--line:#26364e;--text:#eef3ff;--muted:#94a6c0;--accent:#7295ff;--morning:#5faaff;--evening:#b69aff;--night:#ffbc72;--off:#62d5a6;--danger:#ff738c}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% -20%,#182848 0%,transparent 50%),var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{max-width:1160px;margin:auto;padding:28px 22px 90px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.brand{display:flex;align-items:center;gap:12px}.logo{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#dce5ff;background:linear-gradient(145deg,#354e92,#192e56);font-size:24px}.brand h1{font-size:20px;margin:0;line-height:1.2}.brand small,.subtle{color:var(--muted)}.top-actions{display:flex;gap:8px}.btn{border:1px solid var(--line);background:var(--panel2);border-radius:11px;color:var(--text);padding:9px 14px;font-weight:600}.btn:hover{border-color:#6983b0}.primary{background:#617fe7;border-color:#8299f6;color:#fff}.ghost{background:transparent}.danger{color:#ff9aaa}.layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:20px}.card{background:rgba(17,27,45,.94);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 12px 40px #0002}.head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.head h2{margin:0;font-size:26px;letter-spacing:-.7px}.head h3{margin:0;font-size:17px}.arrows{display:flex;align-items:center;gap:7px}.arrow{width:35px;height:35px;padding:0;font-size:22px}.today{font-size:12px}.muted{color:var(--muted)}.week,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.week{margin:18px 0 8px}.weekday{color:var(--muted);text-align:center;font-size:12px;font-weight:650}.day{position:relative;text-align:left;min-height:94px;background:#172339;border:1px solid #2a3a52;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;color:var(--text);overflow:hidden}.day.out{opacity:.32}.day:hover{background:#21324f}.day.sel{outline:2px solid #8a9eff;border-color:#a1b2ff}.day.marked{box-shadow:inset 0 0 0 2px #75a6ff}.date{font-weight:700;font-size:13px}.shift{display:inline-flex;align-items:center;justify-content:center;font-size:11px;border-radius:6px;padding:3px 5px;font-weight:700;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift.morning{color:#93c9ff;background:#284665}.shift.evening{color:#d3bdff;background:#4b3967}.shift.night{color:#ffcd96;background:#553f34}.shift.off{color:#7be6bd;background:#225345}.shift.custom{color:#d3dcf7;background:#394966}.dots{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.dot{height:7px;width:7px;border-radius:50%;background:#ff8195}.dot.ot{background:#ffcb70}.dot.note{background:#84a5ff}.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;color:var(--muted);font-size:12px}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}.stat{border:1px solid var(--line);background:#142138;padding:13px;border-radius:12px}.stat strong{display:block;font-size:23px}.stat span{color:var(--muted);font-size:11px}.sidebar{display:flex;flex-direction:column;gap:18px}.side-title{font-size:20px;font-weight:750;margin:0}.pill{display:inline-flex;border-radius:8px;padding:4px 8px;font-size:11px;font-weight:700;background:#293a56;color:#a9bbdb}.divider{height:1px;background:var(--line);margin:17px 0}.label{font-size:12px;font-weight:650;color:#b5c4dc;margin-bottom:5px;display:block}.field{width:100%;background:#0c1628;color:var(--text);border:1px solid #344764;border-radius:10px;padding:10px 11px;min-width:0}.row{display:flex;gap:10px;align-items:center}.row>*{min-width:0}.stack{display:grid;gap:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.note{font-size:12px;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.section-tag{font-size:11px;letter-spacing:1.4px;color:#90a8d4;text-transform:uppercase;font-weight:750;margin:2px 0 12px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:19px}.tab.active{background:#3a5082;border-color:#6d87c5}.empty{color:var(--muted);font-size:13px;background:#142036;padding:18px;border-radius:12px}.notice{background:#182c45;border:1px solid #304d73;color:#bbd2f9;border-radius:12px;padding:11px 13px;font-size:12px}.modal-layer{position:fixed;inset:0;background:#030914c9;display:grid;place-items:center;z-index:20;padding:20px}.modal{width:min(570px,100%);max-height:90vh;overflow:auto;background:#142138;border:1px solid #3c5070;border-radius:22px;padding:24px;box-shadow:0 20px 70px #0009}.modal h2{margin:0 0 13px}.pattern-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.pattern-item{padding:5px;background:#1b2b43;border-radius:10px}.pattern-item small{font-size:10px;color:var(--muted)}.pattern-item select{width:100%;padding:6px 2px;border-radius:7px;background:#0b1629;border:1px solid #334765;color:var(--text);font-size:11px}.footer{text-align:center;color:#72849e;font-size:12px;margin-top:28px}.check{accent-color:#7295ff}.menu{display:flex;flex-wrap:wrap;gap:8px}.back{display:none}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 18px;border-radius:11px;background:#294366;border:1px solid #6b94c5;z-index:30;box-shadow:0 8px 20px #0007}@media(max-width:850px){.layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}.head h2{font-size:22px}}@media(max-width:600px){.shell{padding:17px 12px 80px}.top{margin-bottom:16px}.brand h1{font-size:18px}.brand small{font-size:10px}.card{padding:14px;border-radius:16px}.layout{gap:12px}.day{min-height:76px;padding:6px 4px;border-radius:9px;gap:7px}.week,.days{gap:4px}.date{font-size:12px}.shift{font-size:9px;padding:3px 4px;max-width:100%}.head h2{font-size:20px}.stats{gap:5px}.stat{padding:9px 6px}.stat strong{font-size:19px}.stat span{font-size:10px}.sidebar{grid-template-columns:1fr}.btn{padding:8px 10px;font-size:12px}.pattern-days{grid-template-columns:repeat(4,1fr)}.two{grid-template-columns:1fr}.top-actions .hide-mobile{display:none}.legend{gap:8px}}

.dot.ov{background:transparent;border:1.5px solid #fff;height:8px;width:8px}

.day{min-height:104px}.day .shift{background:transparent!important;color:#eef3ff!important;font-size:clamp(13px,4.2vw,22px);font-weight:800;margin:auto;padding:0;width:auto}
.day.c-morning{background:#12254a;border:1.5px solid #3b82f6}.day.c-morning .date{color:#60a5fa}
.day.c-evening{background:#3a2a0d;border:1.5px solid #f59e0b}.day.c-evening .date{color:#fbbf24}
.day.c-night{background:#2a1f45;border:1.5px solid #a78bfa}.day.c-night .date{color:#c4b5fd}
.day.c-off{background:#0f3028;border:1.5px solid #34d399}.day.c-off .date{color:#34d399}.day.c-off .shift{color:#34d399!important}
.day.c-custom{border:1.5px solid #94a3b8}.day .dots{justify-content:center;min-height:14px}
.otp{background:#ef4444;color:#fff;font-size:10px;font-weight:800;border-radius:999px;padding:1px 8px}
@media(max-width:600px){.day{min-height:78px}.otp{font-size:8px;padding:1px 5px}}
.ev-row>label,.ev-row>.btn{flex:none;min-width:auto}.ev-row .ev-t{flex:1}
.day .shift{overflow:visible;text-overflow:clip;max-width:none;letter-spacing:-.5px}
@media(max-width:600px){.day{padding:5px 2px}.day .date{padding-left:3px}.day .shift{font-size:clamp(11px,3.7vw,15px)}.week,.days{gap:3px}}

/* Account entry, guest availability and sharing settings */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.auth-panel{width:min(100%,530px);background:#111d33;border:1px solid #273957;border-radius:22px;padding:clamp(20px,5vw,38px);box-shadow:0 15px 50px #0004}
.auth-panel h2{margin:32px 0 14px}.auth-panel .brand{margin-bottom:16px}
.auth-button{display:flex;justify-content:center;text-align:center;width:100%;padding:14px;text-decoration:none}
.auth-panel .stack{margin-top:22px}.auth-panel .notice{margin:12px 0}
.share-card{margin-top:24px}.availability-grid{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0}
.available-day{background:#10392f;border:1px solid #317b60;color:#a0f0ce;padding:9px 12px;border-radius:10px;font-size:.9rem}
#sc-profile-overlay .modal{max-height:90vh;overflow:auto}#sc-profile-overlay .field{width:100%}
