:root{--bg:#faf7f8;--ink:#1d1d1f;--muted:#6e6e73;--glass:rgba(255,255,255,.42);--glass2:rgba(255,255,255,.22);--glassS:rgba(255,255,255,.62);--line:rgba(255,255,255,.7);--line2:rgba(0,0,0,.07);--shadow:0 2px 14px rgba(80,20,40,.05),inset 0 1px 0 rgba(255,255,255,.75);--accent:#7a1230;--accent2:#a3193f;--ink2:#8a1538;--onInk:#fff;--chip:rgba(0,0,0,.05);--soft:rgba(138,21,56,.1);--ok:#1f8a3b;--warn:#b45309;--bad:#c0392b;--okBg:rgba(31,138,59,.12);--warnBg:rgba(180,83,9,.12);--badBg:rgba(192,57,43,.12);--g1:radial-gradient(60% 70% at 100% 100%, rgba(138,21,56,.16) 0%, rgba(138,21,56,0) 70%), radial-gradient(45% 55% at 0% 0%, rgba(138,21,56,.08) 0%, rgba(138,21,56,0) 70%);--l1:#8a1538;--l1s:rgba(138,21,56,.22);--l2:#a3193f;--l2s:rgba(163,25,63,.14);--l3:rgba(138,21,56,.14);--l4:rgba(138,21,56,.5)}body[data-theme=dark]{--bg:#0b0608;--ink:#f5f5f7;--muted:#a09399;--glass:rgba(255,255,255,.08);--glass2:rgba(255,255,255,.045);--glassS:rgba(255,255,255,.14);--line:rgba(255,255,255,.18);--line2:rgba(255,255,255,.08);--shadow:0 2px 14px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.12);--accent:#c42a4a;--accent2:#8a1538;--ink2:#a3193f;--chip:rgba(255,255,255,.08);--soft:rgba(163,25,63,.2);--ok:#30d158;--warn:#ffd60a;--bad:#ff453a;--okBg:rgba(48,209,88,.14);--warnBg:rgba(255,214,10,.14);--badBg:rgba(255,69,58,.16);--g1:radial-gradient(60% 70% at 100% 100%, rgba(110,18,42,.55) 0%, rgba(110,18,42,0) 70%), radial-gradient(45% 55% at 0% 0%, rgba(70,10,28,.45) 0%, rgba(70,10,28,0) 70%);--l1:#8a1538;--l1s:rgba(138,21,56,.28);--l2:#b8213f;--l2s:rgba(184,33,63,.2);--l3:rgba(80,12,32,.5);--l4:#5a0f26}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Inter,-apple-system,system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent2)}button,input,textarea,select{font-family:inherit;color:inherit;font-size:14px}input::placeholder,textarea::placeholder{color:var(--muted)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3{margin:0;letter-spacing:-.015em;font-weight:600}.bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--bg)}.bg i{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.bg .a{background:var(--g1)}.bg .b{filter:blur(5px);background:linear-gradient(118deg,transparent 0 61.8%,var(--l1) 61.8%,var(--l1) 62.1%,var(--l1s) 62.3%,transparent 63.5%)}.bg .c{filter:blur(3px);background:linear-gradient(118deg,transparent 0 71.5%,var(--l2) 71.5%,var(--l2) 71.6%,var(--l2s) 71.65%,transparent 72.4%)}.bg .d{background:linear-gradient(118deg,transparent 0 74%,var(--l3) 100%)}.bg .e{filter:blur(4px);background:linear-gradient(118deg,transparent 0 45%,var(--l4) 45%,var(--l4) 45.08%,transparent 45.08%);opacity:.7}.glass{background:var(--glass);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.card{padding:20px;border-radius:16px}.sub{background:var(--glass2);border:1px solid var(--line2);border-radius:10px}.muted{color:var(--muted)}.small{font-size:12.5px}.tiny{font-size:11.5px}.bold{font-weight:600}.medium{font-weight:500}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.wrap{flex-wrap:wrap}.grid{display:grid;gap:18px}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kicker{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border-radius:10px;border:1px solid var(--line2);background:var(--glassS);font-weight:500;font-size:13px;transition:background .15s,border-color .15s;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent)}.btn.primary{background:var(--ink2);color:#fff;border-color:transparent;font-weight:600;box-shadow:0 2px 8px #8a153838}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover:not(:disabled){background:var(--glassS);border-color:transparent}.btn.danger{background:var(--badBg);color:var(--bad);border-color:transparent}.btn.sm{padding:7px 11px;font-size:12.5px;border-radius:9px}.btn.xs{padding:4px 8px;font-size:11.5px;border-radius:7px}.btn.block{width:100%}.input,.select,.textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--glassS);outline:none;box-shadow:inset 0 1px 2px #0000000a;transition:border .2s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.textarea{min-height:96px;resize:vertical;line-height:1.5}.label{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:5px}.field{display:flex;flex-direction:column;gap:0}.hint{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.45}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;padding:3px 8px;border-radius:6px;background:var(--chip);color:var(--muted);white-space:nowrap}.badge.ok{background:var(--okBg);color:var(--ok)}.badge.warn{background:var(--warnBg);color:var(--warn)}.badge.bad{background:var(--badBg);color:var(--bad)}.badge.accent{background:var(--soft);color:var(--accent)}.badge.ink{background:var(--ink2);color:#fff}.seg{display:flex;gap:3px;padding:3px;border-radius:10px;background:var(--chip);width:max-content;max-width:100%;overflow-x:auto}.seg button{padding:7px 12px;border-radius:8px;border:none;background:transparent;color:var(--muted);font-weight:500;font-size:12.5px;transition:all .2s;white-space:nowrap}.seg button.on{background:var(--glassS);color:var(--ink);box-shadow:0 2px 8px #00000014}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line2);overflow-x:auto}.tabs button{padding:10px 14px;border:none;background:none;color:var(--muted);font-weight:500;font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button.on{color:var(--accent);border-color:var(--accent)}.kpi{padding:16px 18px}.kpi .v{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-top:4px;line-height:1.1}.kpi .d{font-size:12px;font-weight:500;margin-top:4px}.table{width:100%;border-collapse:separate;border-spacing:0 4px}.table th{text-align:left;font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 12px}.table td{padding:11px 12px;background:var(--glass2);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);vertical-align:middle}.table tr td:first-child{border-left:1px solid var(--line2);border-radius:10px 0 0 10px}.table tr td:last-child{border-right:1px solid var(--line2);border-radius:0 10px 10px 0}.table tr:hover td{background:var(--glassS)}.table .r{text-align:right}.list{display:flex;flex-direction:column;gap:0}.item{padding:12px 8px;border-radius:0;background:transparent;border:none;border-bottom:1px solid var(--line2);transition:background .15s}.list .item:last-child{border-bottom:none}.item.click{cursor:pointer}.item.click:hover{background:var(--glassS);border-radius:10px}.item.on{background:var(--soft);border-radius:10px;border-bottom-color:transparent}.glass.item{background:var(--glass);border:1px solid var(--line);border-radius:14px;margin-bottom:8px}.glass.item.on{border-color:var(--accent)}.empty{padding:28px 20px;text-align:center;color:var(--muted);font-size:13px;line-height:1.5;border:1px dashed var(--line2);border-radius:12px}.avatar{width:40px;height:40px;border-radius:10px;color:#fff;display:grid;place-items:center;font-weight:600;font-size:12px;flex:none}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a0f2859;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow:auto;animation:fadeIn .2s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:560px;padding:26px;border-radius:18px;animation:pop .3s ease both;position:relative;margin:auto;max-height:calc(100vh - 48px);overflow:auto}.modal.wide{max-width:860px}.modal.xwide{max-width:1100px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:60;padding:12px 18px;border-radius:10px;background:var(--ink2);color:#fff;font-weight:500;font-size:13.5px;box-shadow:0 16px 40px #00000040;animation:pop .3s ease both;max-width:90vw}.toast.bad{background:var(--bad)}.rail{position:sticky;top:0;height:100vh;padding:18px 0;display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--glass2);backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);border-right:1px solid var(--line);width:84px;flex:none;overflow-y:auto}.rail button{width:48px;height:48px;border-radius:14px;border:1px solid transparent;background:transparent;color:var(--muted);display:grid;place-items:center;transition:all .2s;position:relative}.rail button:hover{background:var(--glassS)}.rail button.on{background:var(--glassS);color:var(--accent);border-color:var(--line);box-shadow:0 2px 10px #0000000f}.rail .sep{width:28px;height:1px;background:var(--line2);margin:6px 0}.rail .cnt{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px}.logo{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:grid;place-items:center;box-shadow:0 4px 14px #8a15384d;flex:none}.sidebar{width:232px;flex:none;position:sticky;top:0;height:100vh;overflow-y:auto;padding:18px 12px;background:var(--glass2);backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.sidebar .nav{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:9px;border:none;background:transparent;color:var(--muted);font-weight:500;font-size:13px;width:100%;text-align:left;position:relative}.sidebar .nav:hover{background:var(--glassS)}.sidebar .nav.on{background:var(--soft);color:var(--accent)}.sidebar .grp{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:14px 12px 6px}.sidebar .cnt{margin-left:auto;min-width:20px;height:20px;border-radius:10px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;padding:0 6px}.main{padding:24px 28px 60px;min-width:0;flex:1}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal .d{min-height:104px;padding:8px;border-radius:10px;background:var(--glass2);border:1px solid var(--line2);min-width:0;overflow:hidden;transition:background .2s}.cal .d.pad{background:transparent;border-color:transparent}.cal .d.click{cursor:pointer}.cal .d.click:hover{background:var(--glassS)}.cal .d.past{opacity:.7}.cal .n{font-size:12.5px;font-weight:600;width:24px;height:24px;border-radius:50%;display:grid;place-items:center}.cal .n.today{background:var(--accent);color:#fff}.chip{font-size:11px;font-weight:500;padding:3px 7px;border-radius:5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.chip.ev{background:var(--chip)!important;color:var(--ink);border:1px dashed var(--line2)}.calhead{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:16px 0 8px}.prose{font-size:14px;line-height:1.65}.prose p{margin:0 0 10px}.prose ul{margin:6px 0 10px 18px;padding:0}.prose li{margin:4px 0}.dropzone{border:1.5px dashed var(--line2);background:var(--glass2);border-radius:12px;min-height:140px;display:grid;place-items:center;text-align:center;padding:22px;cursor:pointer;transition:border .2s}.dropzone:hover,.dropzone.over{border-color:var(--accent)}.notif{position:absolute;right:0;top:48px;width:360px;max-height:70vh;overflow:auto;z-index:40;padding:10px}.bell{position:relative;width:38px;height:38px;border-radius:10px;border:1px solid var(--line2);background:transparent;color:var(--muted);display:grid;place-items:center}.bell:hover{background:var(--glassS);color:var(--ink)}.picker{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;border:1px solid var(--line2);background:transparent;font-size:13px;font-weight:500;color:var(--ink)}.picker:hover{background:var(--glassS)}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 12px}.pwbox{font-family:ui-monospace,Menlo,monospace;font-size:15px;padding:12px 14px;border-radius:12px;background:var(--glassS);border:1px solid var(--line2);-webkit-user-select:all;user-select:all;word-break:break-all}.pill{padding:5px 10px;border-radius:999px;border:1px solid var(--line2);background:transparent;font-size:12px;font-weight:500;color:var(--ink)}.pill:hover{background:var(--glassS)}.rating{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rating button{padding:11px 6px;border-radius:10px;border:1px solid var(--line2);background:var(--glass2);display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:600;font-size:11.5px;transition:all .2s}.rating button.on{color:#fff;border-color:transparent}.spin{width:18px;height:18px;border:2px solid var(--line2);border-top-color:var(--accent);border-radius:50%;animation:rot .8s linear infinite;display:inline-block}.progress{height:6px;border-radius:3px;background:var(--chip);overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}@keyframes rot{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}@keyframes draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes ring{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.fade{animation:fadeUp .45s ease both}.fade.done{animation:none}@media (max-width:1100px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.span2{grid-column:span 1!important}.cols-call,.cols-appr,.cols-side{grid-template-columns:minmax(0,1fr)!important}}@media (max-width:760px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.rail{position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;width:auto;flex-direction:row;justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--line);z-index:40;overflow-x:auto}.rail .logo,.rail .sep,.rail .spacer{display:none}.rail button{width:42px;height:42px;flex:none}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;width:auto;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:2px;border-right:none;border-top:1px solid var(--line);z-index:40}.sidebar .brand,.sidebar .grp,.sidebar>div[style*="flex: 1"],.sidebar>.tiny{display:none}.sidebar>div{display:contents}.sidebar .nav{width:auto;flex:none;flex-direction:column;gap:3px;padding:6px 9px;font-size:10px;border-radius:10px}.sidebar .cnt{position:absolute;top:0;right:0;margin:0}.main{padding:16px 14px 100px}.cal .d{min-height:52px;padding:5px}.cal .chip{height:6px;padding:0;font-size:0;border-radius:3px}.modal{padding:20px;border-radius:20px}.hide-m{display:none!important}.login{grid-template-columns:minmax(0,1fr)!important;padding:28px 18px!important}}
