@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f1117;--bg2:#161b27;--bg3:#1e2535;--bg4:#252d40;--border:#2a3347;--border2:#3a4560;--text:#e8eaf0;--text2:#8892a4;--text3:#6b7589;--blue:#4f8ef7;--blue2:#1a3a6e;--blue3:#0d1f3c;--green:#34d399;--green2:#064e35;--amber:#fbbf24;--amber2:#3d2a00;--red:#f87171;--red2:#4a1515;--purple:#a78bfa;--shadow:0 10px 40px #00000080;--sidebar:224px;--topbar:60px;--bottomnav:0px;color-scheme:dark}:root[data-theme=light]{--bg:#f3f5f9;--bg2:#fff;--bg3:#f1f3f8;--bg4:#e6eaf2;--border:#dfe4ee;--border2:#c7cfe0;--text:#1a2030;--text2:#5b6478;--text3:#7d879c;--blue:#2563eb;--blue2:#dbe6ff;--blue3:#eef3ff;--green:#047857;--green2:#d4f3e6;--amber:#b45309;--amber2:#fff0d2;--red:#dc2626;--red2:#fde3e3;--purple:#6d28d9;--shadow:0 10px 40px #141e3c2e;color-scheme:light}body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:#0f1117;background:var(--bg);color:#e8eaf0;color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-size:14px;line-height:1.5;overflow:hidden}#root{display:flex;height:100%}button,input,select,textarea{color:inherit;font:inherit}button{background:none;border:none;cursor:pointer}a{color:#4f8ef7;color:var(--blue)}.mono{font-family:DM Mono,ui-monospace,monospace}.sr-only{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:focus-visible{border-radius:6px;outline:2px solid #4f8ef7;outline:2px solid var(--blue);outline-offset:2px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#3a4560;background:var(--border2);border-radius:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.app{height:100%;width:100%}.app,.main{display:flex}.main{flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.content{flex:1 1;overflow-y:auto;padding:24px;padding-bottom:calc(24px + var(--bottomnav))}.topbar{align-items:center;background:#161b27;background:var(--bg2);border-bottom:1px solid #2a3347;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:10px;height:60px;height:var(--topbar);padding:0 20px}.topbar h2{flex:1 1;font-size:17px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .only-mobile{display:none}.search{align-items:center;background:#1e2535;background:var(--bg3);border:1px solid #2a3347;border:1px solid var(--border);border-radius:8px;display:flex;gap:8px;max-width:100%;padding:6px 10px;width:230px}.search:focus-within{border-color:#4f8ef7;border-color:var(--blue)}.search input{background:none;border:none;color:#e8eaf0;color:var(--text);font-size:13px;outline:none;width:100%}.search input::placeholder{color:#6b7589;color:var(--text3)}.icon-btn{align-items:center;border:1px solid #0000;border-radius:9px;color:#8892a4;color:var(--text2);display:inline-flex;flex-shrink:0;font-size:17px;height:36px;justify-content:center;position:relative;transition:background .15s,color .15s;width:36px}.icon-btn:hover{background:#1e2535;background:var(--bg3);color:#e8eaf0;color:var(--text)}.icon-btn .count{background:#f87171;background:var(--red);border-radius:8px;color:#fff;font-size:10px;font-weight:700;height:16px;line-height:16px;min-width:16px;padding:0 4px;position:absolute;right:2px;text-align:center;top:2px}.sidebar{background:#161b27;background:var(--bg2);border-right:1px solid #2a3347;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;height:100%;width:224px;width:var(--sidebar)}.sidebar-brand{align-items:center;border-bottom:1px solid #2a3347;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:16px 16px 14px}.sidebar-brand img{height:36px;object-fit:contain;width:36px}.sidebar-brand h1{color:#4f8ef7;color:var(--blue);font-size:14px;font-weight:600;letter-spacing:.3px;line-height:1.2}.sidebar-brand small{color:#8892a4;color:var(--text2);display:block;font-size:10px;letter-spacing:1.5px;margin-top:2px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:12px 10px 4px}.nav-title{color:#6b7589;color:var(--text3);font-size:10px;font-weight:600;letter-spacing:1.2px;margin:12px 0 6px;padding:0 8px}.nav-title:first-child{margin-top:0}.nav-item{align-items:center;border:1px solid #0000;border-radius:8px;color:#8892a4;color:var(--text2);display:flex;font-size:13px;gap:10px;margin-bottom:2px;padding:9px 10px;text-align:left;text-decoration:none;transition:background .15s,color .15s;width:100%}.nav-item:hover{background:#1e2535;background:var(--bg3);color:#e8eaf0;color:var(--text)}.nav-item.active{background:#0d1f3c;background:var(--blue3);border-color:#1a3a6e;border-color:var(--blue2);color:#4f8ef7;color:var(--blue)}.nav-item .ico{font-size:15px;text-align:center;width:20px}.nav-item .lbl{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item .ext{color:#6b7589;color:var(--text3);font-size:11px}.badge{background:#252d40;background:var(--bg4);border-radius:10px;color:#8892a4;color:var(--text2);font-size:10px;font-weight:700;min-width:18px;padding:1px 6px;text-align:center}.badge-amber{background:#fbbf24;background:var(--amber);color:#1a1200}.badge-red{background:#f87171;background:var(--red);color:#fff}.sidebar-footer{align-items:center;border-top:1px solid #2a3347;border-top:1px solid var(--border);display:flex;gap:10px;padding:12px 14px}.sidebar-footer .who{flex:1 1;min-width:0}.sidebar-footer .who div{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer .who small{color:#8892a4;color:var(--text2);font-size:10px;letter-spacing:.5px}.backdrop{display:none}@media (max-width:900px){:root{--bottomnav:62px}.sidebar{box-shadow:0 10px 40px #00000080;box-shadow:var(--shadow);inset:0 auto 0 0;position:fixed;transform:translateX(-105%);transition:transform .22s ease;width:min(300px,86vw);z-index:1200}.sidebar.open{transform:translateX(0)}.backdrop{background:#00000080;display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s;z-index:1100}.backdrop.show{opacity:1;pointer-events:auto}.topbar{gap:6px;padding:0 12px}.topbar .only-mobile{display:inline-flex}.topbar .only-desktop{display:none!important}.content{padding:14px;padding:14px 14px calc(14px + var(--bottomnav))}.search{width:100%}.bottomnav{background:#161b27;background:var(--bg2);border-top:1px solid #2a3347;border-top:1px solid var(--border);bottom:0;display:flex;height:0;height:var(--bottomnav);left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:1000}.bottomnav a,.bottomnav button{align-items:center;color:#8892a4;color:var(--text2);display:flex;flex:1 1;flex-direction:column;font-size:10.5px;gap:2px;justify-content:center;position:relative;text-decoration:none}.bottomnav .ico{font-size:20px;line-height:1}.bottomnav .active{color:#4f8ef7;color:var(--blue)}.bottomnav .fab{align-items:center;background:#4f8ef7;background:var(--blue);border-radius:50%;box-shadow:0 6px 16px #2563eb59;color:#fff;display:flex;font-size:26px;height:46px;justify-content:center;margin-top:-22px;width:46px}.bottomnav .badge{position:absolute;right:calc(50% - 22px);top:6px}}@media (min-width:901px){.bottomnav{display:none}}.btn{align-items:center;background:#1e2535;background:var(--bg3);border:1px solid #2a3347;border:1px solid var(--border);border-radius:8px;color:#e8eaf0;color:var(--text);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:500;gap:6px;justify-content:center;min-height:34px;padding:8px 14px;transition:background .15s,border-color .15s;white-space:nowrap}.btn:hover{background:#252d40;background:var(--bg4);border-color:#3a4560;border-color:var(--border2)}.btn:disabled{cursor:default;opacity:.55}.btn-primary{border-color:#4f8ef7;border-color:var(--blue);color:#fff}.btn-primary,.btn-primary:hover{background:#4f8ef7;background:var(--blue)}.btn-primary:hover{filter:brightness(1.08)}.btn-approve{background:#064e35;background:var(--green2);border-color:color-mix(in srgb,#34d399 45%,#0000);border-color:color-mix(in srgb,var(--green) 45%,#0000);color:#34d399;color:var(--green)}.btn-approve:hover{background:color-mix(in srgb,#34d399 28%,#064e35);background:color-mix(in srgb,var(--green) 28%,var(--green2))}.btn-reject{background:#4a1515;background:var(--red2);border-color:color-mix(in srgb,#f87171 45%,#0000);border-color:color-mix(in srgb,var(--red) 45%,#0000);color:#f87171;color:var(--red)}.btn-reject:hover{background:color-mix(in srgb,#f87171 24%,#4a1515);background:color-mix(in srgb,var(--red) 24%,var(--red2))}.btn-amber{background:#3d2a00;background:var(--amber2);border-color:color-mix(in srgb,#fbbf24 50%,#0000);border-color:color-mix(in srgb,var(--amber) 50%,#0000);color:#fbbf24;color:var(--amber)}.btn-ghost{background:#0000;border-color:#0000;color:#8892a4;color:var(--text2)}.btn-ghost:hover{background:#1e2535;background:var(--bg3);color:#e8eaf0;color:var(--text)}.btn-sm{font-size:11.5px;min-height:28px;padding:4px 10px}.btn-block{width:100%}.form-input{background:#1e2535;background:var(--bg3);border:1px solid #2a3347;border:1px solid var(--border);border-radius:8px;color:#e8eaf0;color:var(--text);font-size:13px;min-height:38px;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.form-input:focus{border-color:#4f8ef7;border-color:var(--blue)}.form-input.invalid{border-color:#f87171;border-color:var(--red)}.form-input option{background:#1e2535;background:var(--bg3);color:#e8eaf0;color:var(--text)}textarea.form-input{min-height:84px;resize:vertical}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{color:#8892a4;color:var(--text2);font-size:11.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.field .hint{color:#6b7589;color:var(--text3);font-size:11.5px}.field .error{color:#f87171;color:var(--red);font-size:12px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#1e2535;background:var(--bg3);border:1px solid #2a3347;border:1px solid var(--border);border-radius:20px;color:#8892a4;color:var(--text2);cursor:pointer;font-size:11.5px;padding:4px 10px;transition:all .15s}.chip:hover{border-color:#3a4560;border-color:var(--border2);color:#e8eaf0;color:var(--text)}.chip.on{background:#0d1f3c;background:var(--blue3);border-color:#1a3a6e;border-color:var(--blue2);color:#4f8ef7;color:var(--blue)}.card{background:#161b27;background:var(--bg2);border:1px solid #2a3347;border:1px solid var(--border);border-radius:12px}.card-head{align-items:center;border-bottom:1px solid #2a3347;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px}.card-head .title{flex:1 1;font-size:15px;font-weight:600;min-width:120px}.counter{background:#1e2535;background:var(--bg3);border:1px solid #2a3347;border:1px solid var(--border);border-radius:20px;color:#8892a4;color:var(--text2);font-size:12px;padding:2px 10px;white-space:nowrap}.callout{align-items:flex-start;border-radius:10px;display:flex;font-size:13px;gap:10px;line-height:1.5;padding:10px 14px}.callout-red{background:#4a1515;background:var(--red2);border:1px solid color-mix(in srgb,#f87171 50%,#0000);border:1px solid color-mix(in srgb,var(--red) 50%,#0000)}.callout-amber{background:#3d2a00;background:var(--amber2);border:1px solid color-mix(in srgb,#fbbf24 50%,#0000);border:1px solid color-mix(in srgb,var(--amber) 50%,#0000)}.callout-green{background:#064e35;background:var(--green2);border:1px solid color-mix(in srgb,#34d399 50%,#0000);border:1px solid color-mix(in srgb,var(--green) 50%,#0000)}.callout-blue{background:#0d1f3c;background:var(--blue3);border:1px solid #1a3a6e;border:1px solid var(--blue2)}.stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.stat{background:#161b27;background:var(--bg2);border:1px solid #2a3347;border:1px solid var(--border);border-radius:12px;overflow:hidden;padding:16px 18px;position:relative;text-align:left;transition:border-color .15s,transform .15s}.stat:hover{border-color:#3a4560;border-color:var(--border2)}.stat.on{border-color:#4f8ef7;border-color:var(--blue)}.stat .bar{height:100%;position:absolute;right:0;top:0;width:4px}.stat .lbl{color:#8892a4;color:var(--text2);font-size:10px;font-weight:600;letter-spacing:1px;margin-bottom:6px}.stat .val{font-size:28px;font-weight:600;line-height:1}.stat .ico{font-size:22px;opacity:.35;position:absolute;right:16px;top:14px}@media (max-width:900px){.stats{gap:10px;grid-template-columns:repeat(2,1fr)}.stat{padding:12px 14px}.stat .val{font-size:22px}}.tabs{background:#161b27;background:var(--bg2);border:1px solid #2a3347;border:1px solid var(--border);border-radius:10px;gap:4px;max-width:100%;overflow-x:auto;padding:4px;width:fit-content}.tab,.tabs{display:flex}.tab{align-items:center;border-radius:7px;color:#8892a4;color:var(--text2);cursor:pointer;font-size:13px;font-weight:500;gap:6px;padding:7px 14px;transition:all .15s;white-space:nowrap}.tab.on{background:#252d40;background:var(--bg4);color:#e8eaf0;color:var(--text)}.tab .n{background:#1e2535;background:var(--bg3);border-radius:10px;color:#8892a4;color:var(--text2);font-size:11px;padding:1px 7px}.tab.on .n{background:#0d1f3c;background:var(--blue3);color:#4f8ef7;color:var(--blue)}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{background:#1e2535;background:var(--bg3);color:#6b7589;color:var(--text3);font-size:11px;font-weight:600;letter-spacing:.8px;padding:10px 14px;text-align:left;white-space:nowrap}.data-table td,.data-table th{border-bottom:1px solid #2a3347;border-bottom:1px solid var(--border)}.data-table td{font-size:13px;padding:11px 14px;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr.row{cursor:pointer}.data-table tbody tr.row:hover td{background:#1e2535;background:var(--bg3)}.data-table tr.past td{opacity:.6}.actions{display:flex;flex-wrap:wrap;gap:5px}@media (max-width:760px){.data-table thead{display:none}.data-table,.data-table tbody,.data-table td,.data-table tr{display:block;width:100%}.data-table tr{border-bottom:1px solid #2a3347;border-bottom:1px solid var(--border);padding:10px 14px}.data-table tr:last-child{border-bottom:none}.data-table td{align-items:center;border:none;display:flex;gap:10px;padding:4px 0}.data-table td[data-label]:before{color:#6b7589;color:var(--text3);content:attr(data-label);flex-shrink:0;font-size:10.5px;font-weight:600;letter-spacing:.6px;min-width:84px}.data-table td.actions-cell{padding-top:8px}.data-table tbody tr.row:hover td{background:#0000}.data-table td.empty-cell{display:block}}.pill{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:500;gap:5px;padding:3px 10px;white-space:nowrap}.pill:before{background:currentColor;border-radius:50%;content:"";height:6px;width:6px}.pill-pending{background:#3d2a00;background:var(--amber2);border:1px solid color-mix(in srgb,#fbbf24 45%,#0000);border:1px solid color-mix(in srgb,var(--amber) 45%,#0000);color:#fbbf24;color:var(--amber)}.pill-approved{background:#064e35;background:var(--green2);border:1px solid color-mix(in srgb,#34d399 45%,#0000);border:1px solid color-mix(in srgb,var(--green) 45%,#0000);color:#34d399;color:var(--green)}.pill-rejected{background:#4a1515;background:var(--red2);border:1px solid color-mix(in srgb,#f87171 45%,#0000);border:1px solid color-mix(in srgb,var(--red) 45%,#0000);color:#f87171;color:var(--red)}.pill-cancelled{background:#252d40;background:var(--bg4);border:1px solid #3a4560;border:1px solid var(--border2);color:#8892a4;color:var(--text2);text-decoration:line-through}.room-badge{align-items:center;border-radius:6px;display:inline-flex;font-family:DM Mono,monospace;font-size:12px;font-weight:600;padding:2px 9px;white-space:nowrap}.day-chip{background:#0d1f3c;background:var(--blue3);border-radius:4px;color:#4f8ef7;color:var(--blue);display:inline-block;font-size:10px;font-weight:700;letter-spacing:.5px;margin-left:6px;padding:1px 6px;vertical-align:middle}.prio-alta{color:#f87171;color:var(--red)}.prio-alta,.prio-media{font-size:12px;font-weight:600}.prio-media{color:#fbbf24;color:var(--amber)}.prio-baja{color:#34d399;color:var(--green);font-size:12px;font-weight:600}.avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:11px;font-weight:600;height:32px;justify-content:center;width:32px}.av-admin{background:#1a3a6e;background:var(--blue2);color:#4f8ef7;color:var(--blue)}.av-user{background:#064e35;background:var(--green2);color:#34d399;color:var(--green)}.avatar.sm{font-size:10px;height:26px;width:26px}.empty{color:#8892a4;color:var(--text2);padding:40px 20px;text-align:center}.empty .ico{font-size:36px;margin-bottom:10px;opacity:.3}.skeleton{animation:shimmer 1.4s ease infinite;background:linear-gradient(90deg,#1e2535 25%,#252d40 37%,#1e2535 63%);background:linear-gradient(90deg,var(--bg3) 25%,var(--bg4) 37%,var(--bg3) 63%);background-size:400% 100%;border-radius:6px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.rooms-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.room-card{background:#161b27;background:var(--bg2);border:1px solid #2a3347;border:1px solid var(--border);border-radius:14px;padding:18px;position:relative}.room-card .meta{color:#8892a4;color:var(--text2);display:flex;font-size:12px;gap:6px;margin-bottom:5px}.room-card .meta b{color:#e8eaf0;color:var(--text);font-family:DM Mono,monospace;font-weight:500}.agenda{background:#161b27;background:var(--bg2);border:1px solid #2a3347;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:110px 1fr;min-width:640px;overflow:hidden}.agenda .hdr{background:#1e2535;background:var(--bg3);border-bottom:1px solid #2a3347;border-bottom:1px solid var(--border);color:#6b7589;color:var(--text3);font-size:11px;font-weight:600;letter-spacing:.6px}.agenda .hours{display:grid;height:28px;position:relative}.agenda .hours span{border-left:1px solid #2a3347;border-left:1px solid var(--border);font-family:DM Mono,monospace;font-size:10.5px;padding:7px 0 0 4px}.agenda .room-lbl{border-bottom:1px solid #2a3347;border-bottom:1px solid var(--border);border-right:1px solid #2a3347;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:3px;justify-content:center;padding:10px 12px}.agenda .room-lbl small{color:#8892a4;color:var(--text2);font-size:11px}.agenda .lane{background-image:linear-gradient(90deg,#2a3347 1px,#0000 0);background-image:linear-gradient(90deg,var(--border) 1px,#0000 1px);border-bottom:1px solid #2a3347;border-bottom:1px solid var(--border);height:56px;position:relative}.agenda .lane:hover{background-color:#1e2535;background-color:var(--bg3)}.agenda .slot{bottom:0;cursor:pointer;position:absolute;top:0}.agenda .slot:hover{background:#0d1f3c;background:var(--blue3);outline:1px dashed #1a3a6e;outline:1px dashed var(--blue2);outline-offset:-1px}.agenda .block{border:1px solid #0000;border-radius:7px;bottom:7px;color:#e8eaf0;color:var(--text);cursor:pointer;font-size:11.5px;line-height:1.3;padding:4px 8px;position:absolute;top:7px;white-space:nowrap}.agenda .block,.agenda .block b{overflow:hidden;text-overflow:ellipsis}.agenda .block b{display:block;font-weight:600}.agenda .block.pending{background:repeating-linear-gradient(45deg,#3d2a00 0 6px,#0000 6px 12px);background:repeating-linear-gradient(45deg,var(--amber2) 0 6px,#0000 6px 12px);border-color:color-mix(in srgb,#fbbf24 55%,#0000);border-color:color-mix(in srgb,var(--amber) 55%,#0000);color:#fbbf24;color:var(--amber)}.agenda .block.mine{box-shadow:inset 0 0 0 2px color-mix(in srgb,#4f8ef7 60%,#0000);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--blue) 60%,#0000)}.agenda .now{bottom:0;pointer-events:none;top:0;width:2px;z-index:2}.agenda .now,.agenda .now:before{background:#f87171;background:var(--red);position:absolute}.agenda .now:before{border-radius:50%;content:"";height:8px;left:-3px;top:-4px;width:8px}.agenda-nav{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.agenda-nav .date-title{font-size:15px;font-weight:600}.agenda-nav .date-title:first-letter{text-transform:uppercase}.legend{align-items:center;color:#8892a4;color:var(--text2);display:flex;flex-wrap:wrap;font-size:12px;gap:14px}.legend i{border-radius:3px;display:inline-block;height:10px;margin-right:5px;vertical-align:middle;width:14px}.modal-backdrop{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:2000}.modal{background:#161b27;background:var(--bg2);border:1px solid #2a3347;border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 40px #00000080;box-shadow:var(--shadow);max-height:92vh;max-width:100%;overflow-y:auto;padding:22px;width:520px}.modal-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:16px}.modal-head h3{font-size:17px;font-weight:600}.modal-row{align-items:flex-start;border-bottom:1px solid #2a3347;border-bottom:1px solid var(--border);display:flex;gap:8px;padding:9px 0}.modal-row .k{color:#8892a4;color:var(--text2);flex-shrink:0;font-size:12px;padding-top:1px;width:110px}.modal-row .v{flex:1 1;font-size:13px;min-width:0;overflow-wrap:anywhere}.modal-foot{border-top:1px solid #2a3347;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:18px;padding-top:14px}@media (max-width:600px){.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:16px 16px 0 0;max-height:94vh;width:100%}.modal-foot .btn{flex:1 1}}.notif-panel{background:#161b27;background:var(--bg2);border:1px solid #2a3347;border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 40px #00000080;box-shadow:var(--shadow);max-width:calc(100vw - 24px);overflow:hidden;position:fixed;right:16px;top:68px;top:calc(var(--topbar) + 8px);width:340px;z-index:1500}.notif-item{border-bottom:1px solid #2a3347;border-bottom:1px solid var(--border);color:#e8eaf0;color:var(--text);display:flex;gap:10px;padding:11px 14px;text-align:left;width:100%}.notif-item:hover{background:#1e2535;background:var(--bg3)}.notif-item.unread{background:#0d1f3c;background:var(--blue3)}.notif-item .txt{color:#8892a4;color:var(--text2);font-size:12.5px;line-height:1.5}.notif-item.unread .txt{color:#e8eaf0;color:var(--text)}.notif-item .when{color:#6b7589;color:var(--text3);font-family:DM Mono,monospace;font-size:10.5px;margin-top:3px}.toasts{align-items:flex-end;bottom:16px;bottom:calc(16px + var(--bottomnav));display:flex;flex-direction:column;gap:8px;left:16px;pointer-events:none;position:fixed;right:16px;z-index:9999}.toast{align-items:flex-start;animation:slideIn .25s ease;border-radius:10px;box-shadow:0 10px 40px #00000080;box-shadow:var(--shadow);color:#e8eaf0;color:var(--text);display:flex;font-size:13px;gap:10px;max-width:360px;padding:11px 14px;pointer-events:auto}.toast button{color:inherit;font-size:15px;line-height:1;opacity:.7}@keyframes slideIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.upcoming{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:20px}.upcoming .item{background:#161b27;background:var(--bg2);border:1px solid #2a3347;border-left:4px solid #34d399;border:1px solid var(--border);border-left:4px solid var(--green);border-radius:10px;color:#e8eaf0;color:var(--text);cursor:pointer;padding:10px 14px;text-align:left;width:100%}.upcoming .item:hover{border-color:#3a4560;border-color:var(--border2)}.upcoming .item .t{color:#8892a4;color:var(--text2);font-family:DM Mono,monospace;font-size:12px;margin-bottom:3px}.upcoming .item .m{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-wrap{align-items:center;background:#0f1117;background:var(--bg);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:9999}.login-card{background:#161b27;background:var(--bg2);border:1px solid #2a3347;border:1px solid var(--border);border-radius:20px;max-width:100%;padding:36px 32px;width:420px}@media (max-width:480px){.login-card{padding:28px 20px}}.mobile-search{display:none}@media (max-width:900px){.mobile-search{display:flex!important}}