@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg:#0a0c16;--text:#f0f2f8;--text-2:rgba(228,231,246,.62);--text-3:rgba(228,231,246,.4);--hair:rgba(255,255,255,.09);--hair-strong:rgba(255,255,255,.16);--glass:rgba(255,255,255,.05);--glass-2:rgba(255,255,255,.085);--glass-3:rgba(255,255,255,.12);--accent:#cdf56d;--accent-soft:rgba(205,245,109,.16);--violet:#b3a4ff;--sand:#e8c696;--teal:#7fd8d0;--danger:#ff8f96;--panel:rgba(16,18,30,.62);--ease:cubic-bezier(.22,1,.36,1);color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{scrollbar-color:rgba(255,255,255,.18) transparent;scrollbar-width:thin}::selection{background:#cdf56d47;color:#fff}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#ffffff3d;background-clip:content-box}body{margin:0;color:var(--text);background:var(--bg);background-image:radial-gradient(1100px 640px at 12% -10%,rgba(112,96,225,.17),transparent 60%),radial-gradient(900px 560px at 88% -14%,rgba(47,191,168,.1),transparent 60%),radial-gradient(1400px 900px at 50% 120%,rgba(88,101,236,.11),transparent 65%),linear-gradient(180deg,#0b0d19,#090b14);background-attachment:fixed;font-synthesis:none;min-height:100vh}body:before{content:"";position:fixed;top:-12%;right:-12%;bottom:-12%;left:-12%;z-index:-1;pointer-events:none;background:radial-gradient(700px 420px at 22% 30%,rgba(140,120,255,.08),transparent 60%);animation:breathe 2.4s ease-in-out infinite alternate}@keyframes breathe{0%{opacity:.65}to{opacity:1}}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.shell{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--hair);padding:29px 19px;display:flex;flex-direction:column;background:#0b0d188c;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);z-index:3}.brand{display:flex;align-items:center;gap:11px;padding:0 7px;margin-bottom:42px}.brand-icon{width:38px;height:38px;border-radius:11px;background:var(--accent);color:#101408;display:grid;place-items:center;font-weight:800;font-size:15px;box-shadow:0 6px 22px #cdf56d40}.brand strong{display:block;font-weight:800;font-size:15px;letter-spacing:-.2px}.brand small{font-size:9.5px;letter-spacing:2px;color:var(--text-3);font-weight:600}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--text-3);text-transform:uppercase}.nav-label{padding:0 11px;margin-bottom:12px}.nav{display:grid;gap:4px}.nav button{width:100%;text-align:left;border:0;border-radius:9px;background:transparent;color:var(--text-2);padding:11px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;transition:background .18s var(--ease),color .18s var(--ease)}.nav button:hover{background:var(--glass);color:var(--text)}.nav button.active{background:var(--glass-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--hair)}.nav button.active .ico{color:var(--accent)}.ico{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:none}.ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom{margin-top:auto}.watermark{margin-top:12px;padding:0 3px;font-size:10.5px;letter-spacing:.4px;color:var(--text-3)}.watermark:before{content:"✦ ";color:var(--accent);font-size:9px}.local-card{border:1px solid var(--hair);border-radius:12px;padding:13px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-size:11.5px;line-height:1.55;color:var(--text-2)}.local-card b{color:var(--text);display:flex;align-items:center;font-size:12px;font-weight:600;margin-bottom:4px}.local-card .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px;box-shadow:0 0 8px #cdf56d80}.main{min-width:0;padding:31px 42px 55px;max-width:1500px;width:100%;margin:0 auto;animation:pageIn .3s var(--ease)}@keyframes pageIn{0%{opacity:0;transform:translateY(7px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.topbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--hair);color:var(--text-3);font-size:12px}.topbar .crumb b{color:var(--text);font-weight:600}.topright{display:flex;align-items:center;gap:12px}.avatar{width:35px;height:35px;border:1px solid var(--hair-strong);background:var(--glass);border-radius:50%;display:grid;place-items:center;color:var(--accent);font-weight:700}.sync-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--hair);background:var(--glass);border-radius:999px;padding:7px 12px;font-size:11.5px;font-weight:600;color:var(--text-2);cursor:pointer;transition:border-color .18s var(--ease),color .18s var(--ease)}.sync-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--text-3);flex:none}.sync-chip:hover{border-color:var(--hair-strong);color:var(--text)}.sync-chip.ok:before{background:#8de8a8;box-shadow:0 0 8px #8de8a88c}.sync-chip.wait:before{background:#e8c696;box-shadow:0 0 8px #e8c6968c;animation:breathe 1.2s ease-in-out infinite alternate}.sync-chip.err:before{background:#ff8f96;box-shadow:0 0 8px #ff8f968c}.sync-chip.lock:before{background:var(--accent);box-shadow:0 0 8px #cdf56d8c}.page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:30px 0 25px}.page-head h1{font-weight:700;font-size:clamp(26px,2.6vw,34px);letter-spacing:-1.2px;line-height:1.15;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--glass-2);border:1px solid var(--hair);color:var(--text);border-radius:9px;padding:10px 14px;font-weight:600;font-size:12.5px;white-space:nowrap;transition:background .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease)}.btn:hover{background:var(--glass-3);border-color:var(--hair-strong)}.btn:active{transform:scale(.97)}.btn.primary{background:#fff;border-color:#fff;color:#0d0e16}.btn.primary:hover{background:#e6e7ec;border-color:#e6e7ec}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--glass);color:var(--text);border-color:transparent}.btn.danger{color:var(--danger)}.btn.small{padding:7px 10px;font-size:11.5px;border-radius:8px}.btn.icon-btn{padding:8px}.btn-row{display:flex;gap:8px;flex-wrap:wrap}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:9px}.hero{border:1px solid var(--hair);background:radial-gradient(520px 300px at 82% 20%,rgba(205,245,109,.1),transparent 55%),radial-gradient(460px 280px at 5% 110%,rgba(179,164,255,.1),transparent 60%),var(--glass);backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);border-radius:16px;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;position:relative}.hero-art{min-width:180px;display:grid;place-items:center;position:relative}.hero-art .ring{width:118px;height:118px;border:1px solid rgba(205,245,109,.32);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 22px #cdf56d0d,0 0 0 44px #cdf56d08;transform:rotate(-12deg);animation:float 2.4s ease-in-out infinite alternate}@keyframes float{0%{transform:rotate(-12deg) translateY(-3px)}to{transform:rotate(-10deg) translateY(3px)}}.hero-art .ring span{font-weight:800;font-size:37px;color:var(--accent)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:17px 0 30px}.card,.stat{background:var(--glass);border:1px solid var(--hair);border-radius:16px;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35)}.stat{padding:18px;transition:background .18s var(--ease),border-color .18s var(--ease)}.stat:hover{background:var(--glass-2);border-color:var(--hair-strong)}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--text-2);font-size:12.5px}.stat-icon{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.stat:nth-child(2) .stat-icon{background:#b3a4ff24;color:var(--violet)}.stat:nth-child(3) .stat-icon{background:#e8c69621;color:var(--sand)}.stat:nth-child(4) .stat-icon{background:#7fd8d021;color:var(--teal)}.stat strong{font-weight:700;font-size:27px;letter-spacing:-.5px;display:block;margin-top:12px}.stat small{color:var(--text-3);font-size:11.5px}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px}.card{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.card h2{font-weight:650;font-size:15.5px;margin:0}.section-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px;gap:10px}.section-head h2{font-weight:650;font-size:16px;margin:0}.section-head p,.subtle{font-size:12.5px;color:var(--text-3);line-height:1.55}.section-head p{margin:4px 0 0}.subtle{margin:14px 0 0}.subtle:empty{display:none}.empty{text-align:center;color:var(--text-3);padding:36px 15px;font-size:12.5px;line-height:1.7}.empty .empty-icon{width:43px;height:43px;border-radius:12px;background:var(--glass-2);color:var(--accent);display:grid;place-items:center;margin:0 auto 12px}.empty strong{display:block;color:var(--text);font-size:13px;font-weight:600}.upcoming-row,.list-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair)}.upcoming-row:last-child,.list-row:last-child{border:0}.date-box{width:42px;height:46px;background:var(--accent-soft);border-radius:9px;display:grid;place-items:center;color:var(--accent);font-size:10px;line-height:1}.date-box b{font-size:17px}.grow{flex:1;min-width:0}.row-title{font-size:13.5px;font-weight:600;color:var(--text)}.row-sub{font-size:11.5px;color:var(--text-3);margin-top:4px}.tag{font-size:10.5px;border-radius:7px;padding:5px 8px;background:var(--accent-soft);color:var(--accent);font-weight:600}.tag.purple{background:#b3a4ff24;color:var(--violet)}.tag.gray{background:var(--glass-2);color:var(--text-2)}.muted{color:var(--text-3)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick{border:1px solid var(--hair);background:var(--glass);border-radius:10px;padding:13px;text-align:left;color:var(--text);font-size:11.5px;font-weight:600;transition:background .18s var(--ease),border-color .18s var(--ease)}.quick .ico{display:block;color:var(--accent);margin-bottom:9px}.quick:hover{background:var(--glass-2);border-color:var(--hair-strong)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:15px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field label,.label{font-size:11px;font-weight:600;color:var(--text-2)}input,select,textarea{width:100%;background:#ffffff0e;color:var(--text);border:1px solid var(--hair-strong);border-radius:9px;padding:10px 11px;outline:none;font-size:13px;transition:border-color .18s var(--ease),background .18s var(--ease)}input:focus,select:focus,textarea:focus{border-color:#cdf56d8c;background:#ffffff13}input::placeholder,textarea::placeholder{color:var(--text-3)}input[type=checkbox]{width:auto;accent-color:var(--accent)}input[type=color]{padding:3px;width:40px;height:38px}.check{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:12.5px}.weekday-select{display:flex;gap:6px;flex-wrap:wrap}.weekday-select label{display:flex;gap:5px;align-items:center;border:1px solid var(--hair-strong);border-radius:8px;padding:8px 9px;font-size:11.5px;color:var(--text-2);background:var(--glass);cursor:pointer;transition:background .15s var(--ease)}.weekday-select label:has(input:checked){color:var(--text);border-color:#cdf56d66;background:var(--accent-soft)}.notice{border:1px solid rgba(205,245,109,.2);background:var(--glass);border-radius:10px;color:var(--text-2);padding:11px 13px;font-size:12px;line-height:1.55;margin-bottom:16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.cal-heading{text-align:center;color:var(--text-3);font-size:10px;font-weight:700;letter-spacing:1px;padding:8px 0}.day{min-height:106px;border:1px solid var(--hair);background:#ffffff09;border-radius:10px;padding:9px;text-align:left;color:var(--text-2);overflow:hidden;transition:background .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease)}.day:hover{background:#ffffff12;border-color:var(--hair-strong)}.day:active{transform:scale(.985)}.day.out{opacity:.3}.day.today{border-color:#cdf56d8c;box-shadow:0 0 0 1px #cdf56d40,0 0 24px #cdf56d14 inset}.day.today .day-num{color:var(--accent)}.day-num{font-weight:700;font-size:12px}.cal-event{display:block;margin-top:5px;padding:4.5px 6px;border-radius:6px;background:#cdf56d21;color:#e6f7c4;font-size:10.5px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-event.note{background:#b3a4ff29;color:#ded9ff}.table-wrap{overflow:auto}.timetable{width:100%;border-collapse:separate;border-spacing:7px;min-width:660px}.timetable th{font-size:10.5px;color:var(--text-3);text-align:center;letter-spacing:1px;font-weight:700}.timetable td{min-width:110px}.timetable td:first-child{font-size:11px;color:var(--text-3);font-weight:600;min-width:65px}.timetable input{height:57px;text-align:center;background:#ffffff0d;border-radius:10px}.timetable input:hover{background:#ffffff13}.timetable input:focus{background:#ffffff17}.timetable input[readonly]{opacity:.75;cursor:default;border-style:dashed}.wheel-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wheel-wrap{text-align:center}.wheel{width:210px;height:210px;border:8px solid rgba(255,255,255,.1);border-radius:50%;margin:15px auto;background:conic-gradient(#cdf56dd9 0,#cdf56dd9 45deg,#1e243ae6 45deg,#1e243ae6 90deg,#b3a4ffcc 90deg,#b3a4ffcc 135deg,#1e243ae6 135deg,#1e243ae6 180deg,#e8c696cc 180deg,#e8c696cc 225deg,#1e243ae6 225deg,#1e243ae6 270deg,#7fd8d0cc 270deg,#7fd8d0cc 315deg,#1e243ae6 315deg);display:grid;place-items:center;box-shadow:0 0 0 5px #0c0e18cc,0 0 60px #cdf56d1f;transition:transform 1.1s var(--ease)}.wheel-center{width:89px;height:89px;border-radius:50%;background:#0d0f1aeb;display:grid;place-items:center;color:var(--text);font-size:12px;font-weight:600;padding:10px}.pointer{color:var(--accent);font-size:25px;line-height:10px;filter:drop-shadow(0 0 8px rgba(205,245,109,.5))}.drawn-list{max-height:350px;overflow:auto}.number{width:28px;height:28px;flex:none;display:grid;place-items:center;background:var(--glass-2);color:var(--accent);border-radius:8px;font-size:11px;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#06080e8c;backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);z-index:10;display:grid;place-items:center;padding:16px;animation:fade .18s var(--ease)}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:#101320e0;border:1px solid var(--hair-strong);border-radius:16px;padding:24px;width:min(540px,100%);max-height:90vh;overflow:auto;box-shadow:0 24px 90px #0000008c;backdrop-filter:blur(30px) saturate(1.4);-webkit-backdrop-filter:blur(30px) saturate(1.4);animation:pop .22s var(--ease)}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal h2{font-weight:700;font-size:17px;margin:0}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.toast{position:fixed;right:20px;bottom:20px;background:#121522eb;border:1px solid var(--hair-strong);color:var(--text);padding:12px 16px;border-radius:12px;z-index:20;box-shadow:0 12px 40px #00000080;font-size:12.5px;font-weight:600;max-width:min(420px,90vw);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);animation:toastIn .3s var(--ease)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.toast.error{background:#2e1114eb;border-color:#ff8f9659;color:#ffd3d6}@media(max-width:1000px){.shell{grid-template-columns:74px 1fr}.sidebar{padding:25px 12px}.brand{padding:0;justify-content:center}.brand div:not(.brand-icon),.nav-label,.local-card{display:none}.nav button{justify-content:center}.main{padding:25px}.dashboard-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.shell{display:block;padding-bottom:67px}.sidebar{position:fixed;top:auto;bottom:0;width:100%;height:61px;padding:5px 7px;border-right:0;border-top:1px solid var(--hair);background:#0b0d18cc;display:block;border-radius:16px 16px 0 0;z-index:4}.brand,.sidebar-bottom,.nav-label{display:none}.nav{display:flex;justify-content:space-around;gap:1px}.nav button{width:auto;padding:8px 10px;display:flex;flex-direction:column;gap:3px;font-size:8px}.nav .ico{width:16px;height:16px}.main{padding:18px 15px 30px}.topbar{padding-bottom:18px;flex-wrap:wrap;gap:8px}.page-head{margin:25px 0 19px;align-items:start}.page-head h1{font-size:26px}.page-head .btn{padding:9px;font-size:11px}.hero{padding:22px}.hero-art{display:none}.stats{gap:8px;margin-bottom:25px}.stat{padding:14px}.stat strong{font-size:23px}.card{padding:15px}.form-grid,.wheel-layout{grid-template-columns:1fr}.field.full{grid-column:auto}.calendar-grid{gap:3px}.day{min-height:68px;padding:5px 3px;border-radius:6px}.cal-event{font-size:0;height:5px;padding:0;margin-top:4px}.cal-event.note{height:5px}.cal-heading{font-size:9px}.day-num{font-size:10px}.topright .today-text{display:none}.sync-chip{display:inline-flex;padding:6px 10px;font-size:10.5px;gap:6px;max-width:190px}.sync-chip b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{display:none}.list-row{flex-wrap:wrap}.list-row .btn-row{margin-left:auto}.modal{padding:18px}.toolbar{align-items:stretch}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
