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

:root{--bg:#070911;--panel:#0d1019;--surface:#151923;--surface2:#1d2230;--text:#f7f8fb;--secondary:#cfd4df;--muted:#8b92a3;--quiet:#626a7c;--line:rgba(255,255,255,.085);--accent:#7170ff;--accent2:#5e6ad2;--cyan:#38bdf8;--green:#27a644;--red:#ef6a6a;--amber:#d9a441}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-width:0;background:radial-gradient(circle at 75% -20%,rgba(56,189,248,.07),transparent 35%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:"cv01","ss03";font-size:14px;overflow-x:hidden}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
.hidden{display:none!important}
.app{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:rgba(13,16,25,.98);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;z-index:30}
.brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:600;padding:0 8px 26px}
.orbit-logo{position:relative;width:30px;height:30px;border:1px solid rgba(139,146,255,.75);border-radius:50%;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 0 22px rgba(113,112,255,.22),inset 0 0 12px rgba(56,189,248,.08)}
.orbit-logo:before{content:"";position:absolute;width:36px;height:15px;border:1px solid var(--cyan);border-radius:50%;transform:rotate(-28deg);opacity:.75}
.orbit-logo i{width:7px;height:7px;border-radius:50%;background:#f7f8f8;box-shadow:0 0 12px var(--accent)}
.orbit-logo b{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--cyan);right:-4px;top:9px;box-shadow:0 0 8px var(--cyan)}
.orbit-logo.large{width:48px;height:48px;margin-bottom:18px}
.orbit-logo.large:before{width:58px;height:23px}
.orbit-logo.large i{width:10px;height:10px}
.orbit-logo.large b{right:-6px;top:15px}
.sidebar nav{display:grid;gap:4px}
.nav{min-height:42px;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:7px;text-align:left;cursor:pointer}
.nav-glyph{width:18px;text-align:center;font-size:15px;color:#8b92ff}
.nav:hover,.nav.active{color:var(--text);background:rgba(255,255,255,.05)}
.nav.active{box-shadow:inset 2px 0 var(--accent)}
.nav.active .nav-glyph{color:#5ee5ff}
.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:16px 8px 0;display:flex;gap:8px;align-items:center;color:var(--quiet);font-size:12px}
.sidebar-foot button{margin-left:auto;background:none;border:0;color:var(--muted);cursor:pointer}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
main{grid-column:2;min-width:0;width:100%;max-width:1500px;padding:0 34px 50px;overflow:hidden}
header{height:100px;display:flex;align-items:center;border-bottom:1px solid var(--line);margin-bottom:28px}
header h2{font-size:23px;font-weight:500;letter-spacing:-.4px;margin:3px 0 0}
.eyebrow{font-size:10px;letter-spacing:.13em;color:var(--quiet);margin:0;font-weight:600}
.date-chip{margin-left:auto;color:var(--muted);border:1px solid var(--line);padding:8px 11px;border-radius:7px;background:rgba(255,255,255,.02)}
#menu{display:none;margin-right:12px}
.grid{display:grid;gap:16px}
.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}
.stat,.card{min-width:0;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:10px}
.stat{padding:18px;min-height:112px;position:relative;overflow:hidden;isolation:isolate}
.stat .label{color:var(--muted);font-size:12px}
.stat strong{display:block;font-size:30px;font-weight:500;letter-spacing:-1px;margin:12px 0 4px}
.stat small{color:var(--quiet)}
.stat .planet{position:absolute;width:64px;height:64px;border-radius:50%;right:-23px;top:-22px;background:rgba(113,112,255,.12);box-shadow:0 0 30px rgba(113,112,255,.15);z-index:-1}
.stat.tone-cyan .planet{background:rgba(56,189,248,.12)}
.stat.tone-red .planet{background:rgba(239,106,106,.12)}
.stat.tone-amber .planet{background:rgba(217,164,65,.12)}
.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.card{padding:18px}
.card-head,.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-head{margin-bottom:14px}
.card h3,.section-head h3{font-size:15px;font-weight:500;margin:0}
.card-head button.link{background:none;border:0;color:var(--accent);cursor:pointer;font-size:12px}
.section-head{margin-bottom:17px}
.section-head h3{font-size:20px;letter-spacing:-.25px}
.actions{display:flex;gap:8px}
.primary,.ghost,.danger{min-height:38px;border-radius:7px;padding:9px 13px;cursor:pointer;border:1px solid transparent}
.primary{background:linear-gradient(135deg,#6366d9,var(--accent2));color:white;box-shadow:0 6px 22px rgba(94,106,210,.17)}
.primary:hover{background:linear-gradient(135deg,#7477e8,#696fdf)}
.ghost{background:rgba(255,255,255,.03);border-color:var(--line);color:var(--secondary)}
.danger{background:rgba(239,106,106,.08);border-color:rgba(239,106,106,.22);color:#f58b8b}
.wide{width:100%;display:flex;justify-content:space-between}
.list{display:grid;min-width:0}
.row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 2px;border-top:1px solid rgba(255,255,255,.055);min-width:0}
.row:first-child{border-top:0}
.row>div{min-width:0}
.check{width:22px;height:22px;border-radius:6px;border:1px solid var(--line);background:transparent;color:white;cursor:pointer;padding:0}
.check.done{background:var(--green);border-color:var(--green)}
.row-title{font-weight:500;overflow-wrap:anywhere}
.row-title.done{text-decoration:line-through;color:var(--quiet)}
.meta{display:flex;gap:7px;align-items:center;color:var(--quiet);font-size:11px;margin-top:5px;flex-wrap:wrap;overflow-wrap:anywhere}
.pill{border:1px solid var(--line);padding:3px 7px;border-radius:99px;color:var(--muted)}
.pill.high{color:#f58b8b;border-color:rgba(239,106,106,.25)}
.pill.medium{color:#e2b85e;border-color:rgba(217,164,65,.25)}
.category-pill{display:inline-flex;align-items:center;gap:5px}
.category-pill svg{width:9px;height:9px}
.alarm{color:#80d9f7}
.alarm.sent{color:var(--quiet)}
.row-actions{display:flex;gap:4px}
.icon-btn{width:36px;height:36px;flex:0 0 auto;border-radius:7px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--muted);cursor:pointer;padding:0}
.empty{text-align:center;color:var(--quiet);padding:35px 10px}
.empty-orbit{display:block;font-size:28px;color:var(--accent);margin-bottom:8px}
.category-title{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:19px 0 5px}
.category-title:first-child{margin-top:0}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;position:relative;overflow:hidden}
.login-glow{position:absolute;width:520px;height:520px;background:radial-gradient(circle,rgba(113,112,255,.18),rgba(56,189,248,.06) 45%,transparent 70%);filter:blur(100px);border-radius:50%;top:-220px}
.login-card{width:min(410px,100%);padding:34px;background:linear-gradient(160deg,rgba(17,20,31,.96),rgba(10,12,20,.96));border:1px solid rgba(113,112,255,.2);border-radius:14px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.38)}
.login-card h1{font-weight:500;letter-spacing:-.8px;font-size:30px;margin:20px 0 8px}
.muted{color:var(--muted);line-height:1.55}
.login-card label,#modal label{display:grid;gap:7px;color:var(--muted);font-size:12px;margin:17px 0}
input,select,textarea{width:100%;min-width:0;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:7px;color:var(--text);padding:11px 12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(113,112,255,.1)}
select option{background:var(--surface)}
textarea{resize:vertical;min-height:75px}
.error{color:var(--red);min-height:18px;font-size:12px}
dialog{width:min(520px,calc(100% - 28px));max-height:92vh;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 20px 80px rgba(0,0,0,.65)}
dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(4px)}
#modal-form{padding:22px}
.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between}
.modal-head h3{font-size:20px;font-weight:500;margin:4px 0}
.modal-actions{justify-content:flex-end;gap:8px;margin-top:22px}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}
.toast{position:fixed;right:22px;bottom:22px;z-index:100;background:var(--surface2);border:1px solid var(--line);padding:11px 15px;border-radius:8px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}
.toast.show{opacity:1;transform:none}
.toast.bad{border-color:rgba(239,106,106,.4)}
.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.crew-card{display:flex;gap:12px;align-items:center}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--cyan));font-weight:600}
.settings-stack{display:grid;gap:16px}
.settings-card{padding:20px}
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:9px}
.catalog-grid .category-card{grid-template-columns:minmax(0,1fr) auto}
.catalog-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inline-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.category-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 10px;border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:8px}
.category-card svg{width:13px;height:13px}
.category-card .icon-btn{width:28px;height:28px}
.connection-badge{font-size:11px;border:1px solid var(--line);border-radius:99px;padding:4px 9px;color:var(--quiet)}
.connection-badge.online{color:#55d68a;border-color:rgba(39,166,68,.35);background:rgba(39,166,68,.08)}
.switch-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px}
.switch-row input{width:auto}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}
.form-footer p{margin:0}
input[type="color"]{padding:4px;height:43px}
.shopping-row{grid-template-columns:auto auto minmax(0,1fr) auto}
.shopping-check{width:34px;height:34px;border-radius:9px;font-size:18px;touch-action:manipulation}
.item-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:rgba(113,112,255,.1);border:1px solid rgba(113,112,255,.18);color:var(--cyan);font-size:17px}
.completed-meta{color:#55d68a}
.list-section{margin-bottom:14px}
.list-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line)}
.list-title h3{margin:0;font-size:14px;font-weight:500}
.list-title span{color:var(--quiet);font-size:12px}
.completed-list{background:rgba(255,255,255,.018)}
.completed-list .row{opacity:.78}
.category-tabs{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 12px;margin-bottom:6px;scrollbar-width:thin}
.category-tab{white-space:nowrap;min-height:38px;padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--muted);cursor:pointer}
.category-tab.active{color:white;border-color:rgba(113,112,255,.45);background:rgba(113,112,255,.14)}
.crew-info{flex:1;min-width:0}
.crew-card.inactive{opacity:.58}
.icon-btn.danger{color:#f58b8b}

@media(max-width:900px){
.stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-grid{grid-template-columns:1fr}
.app{display:block;min-width:0}
.sidebar{transform:translateX(-100%);width:min(280px,86vw);visibility:hidden;transition:transform .22s ease,visibility .22s;box-shadow:none}
.sidebar.open{transform:none;visibility:visible;box-shadow:20px 0 80px rgba(0,0,0,.7)}
main{grid-column:1;width:100%;max-width:none;padding:0 18px 40px}
header{position:sticky;top:0;z-index:10;background:rgba(7,9,17,.92);backdrop-filter:blur(14px)}
#menu{display:block}
}

@media(max-width:560px){
main{padding:0 12px 32px}
header{height:72px;margin-bottom:16px}
header h2{font-size:19px}
.date-chip{display:none}
.stats{grid-template-columns:1fr 1fr;gap:8px}
.stat{padding:13px;min-height:94px}
.stat strong{font-size:24px;margin-top:9px}
.card{padding:14px}
.section-head{flex-direction:column;align-items:stretch;gap:14px}
.section-head .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
.section-head .actions button{width:100%}
.row{grid-template-columns:auto minmax(0,1fr);gap:9px}
.row-actions{grid-column:2;margin-top:3px}
.shopping-row{grid-template-columns:auto auto minmax(0,1fr)}
.shopping-row .row-actions{grid-column:3}
.category-tabs{margin-inline:-2px}
.form-grid{grid-template-columns:1fr}
.login-card{padding:25px 21px}
#modal-form{padding:18px}
.category-grid{grid-template-columns:1fr}
.catalog-grid{grid-template-columns:1fr}
.catalog-grid .category-card{padding:10px 8px}
.catalog-grid .icon-btn{min-width:44px;height:44px}
.form-footer{align-items:flex-start;flex-direction:column}
.form-footer .primary{width:100%}
}

@media(max-width:390px){
.stats{grid-template-columns:1fr}
.stat{min-height:82px}
}
