:root{--bg:#090b0f;--side:#0d1015;--panel:#12161c;--panel2:#171b22;--line:#252b34;--text:#f3f4f6;--muted:#7c8593;--violet:#8b5cf6;--violet2:#a78bfa;--green:#34d399;--cyan:#22d3ee;--orange:#fb923c;--red:#fb7185}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{transition:.15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--violet2);outline-offset:2px}input,select,textarea{color:#dde1e7;border:1px solid #2b323c;border-radius:7px;background:#0e1116}input,select{height:40px;padding:0 11px}textarea{width:100%;padding:10px;resize:vertical;line-height:1.5}.app{min-height:100vh}.side{position:fixed;inset:0 auto 0 0;width:272px;padding:24px 16px 18px;border-right:1px solid #20242c;background:var(--side);display:flex;flex-direction:column;z-index:30}.side-brand{display:flex;align-items:baseline;gap:10px;padding:0 8px 22px}.side-brand b{font-size:23px;letter-spacing:.08em}.side-brand span{color:var(--muted);font-size:9px;letter-spacing:.16em}.company{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;border:1px solid var(--line);background:#14181f;border-radius:10px;padding:9px;margin-bottom:18px}.company i{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;color:#d9ceff;font-style:normal;background:linear-gradient(145deg,#3b2670,#241c3c)}.company b{display:block;font-size:11px}.company small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.side nav{flex:1;overflow-y:auto;scrollbar-width:thin;padding-right:2px}.side nav>a,.side summary{display:flex;align-items:center;min-height:38px;padding:0 10px;border-radius:7px;color:#929aa7;font-size:11px;cursor:pointer}.side nav>a:hover,.side summary:hover{color:#ddd;background:#161a21}.side details a{display:block;padding:7px 10px 7px 22px;color:#6f7886;font-size:9px;border-radius:6px}.side details a:hover{color:#c9ced6;background:#151920}.side details[open] summary{color:#c7bded}.trial{padding:12px;border:1px solid rgba(139,92,246,.3);border-radius:9px;background:rgba(139,92,246,.07)}.trial b,.trial span{display:block}.trial b{font-size:10px}.trial span{margin:6px 0;color:var(--muted);font-size:8px}.trial a{color:#c5b8fb;font-size:9px}.logout{width:100%;margin-top:10px;padding:7px;border:0;color:#707988;background:transparent;cursor:pointer}.workspace{margin-left:272px;min-height:100vh}.bar{height:76px;display:flex;align-items:center;gap:12px;padding:0 28px;border-bottom:1px solid #1f242c;background:rgba(9,11,15,.9);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.bar>div:first-of-type{margin-right:auto}.bar small{display:block;color:#5c6472;font-size:8px;letter-spacing:.13em;margin-bottom:5px}.bar b{font-size:16px}.global-search input{width:220px;height:36px;font-size:9px}.notification-link,.profile-link{position:relative;padding:8px;color:#8d96a4;font-size:9px}.notification-link i{position:absolute;top:0;right:0;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--violet);font-size:7px;font-style:normal}.mobile-menu{display:none;width:36px;height:36px;border:1px solid var(--line);border-radius:7px;color:#aaa;background:var(--panel2)}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 15px;border-radius:8px;font-size:10px;cursor:pointer}.primary{border:0;color:#fff;background:linear-gradient(135deg,#9167f4,#7245db);box-shadow:0 8px 22px rgba(112,63,220,.14)}.primary:hover{filter:brightness(1.08)}.secondary{border:1px solid #313844;color:#aab1bc;background:#171b22}.secondary:hover{border-color:#4b4265;color:#d6cef8}.danger{border:1px solid rgba(251,113,133,.25);color:#ffabb8;background:rgba(251,113,133,.07)}.page{max-width:1540px;margin:auto;padding:28px 32px 50px}.welcome,.module-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.welcome h1,.module-head h1{margin:0 0 6px;font-size:22px;letter-spacing:-.03em}.welcome p,.module-head p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.welcome>span{color:var(--muted);font-size:10px}.module-head small{display:block;color:#7d69c2;font-size:8px;letter-spacing:.12em;margin-bottom:6px}.head-actions{display:flex;gap:8px;flex-shrink:0}.panel{border:1px solid #20252d;border-radius:11px;background:linear-gradient(145deg,#13171d,#101318);overflow:hidden}.panel>header{min-height:66px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #20252d}.panel>header small{display:block;color:#626b79;font-size:8px;letter-spacing:.12em}.panel>header h2{margin:5px 0 0;font-size:13px}.panel>header a{color:#9a83ee;font-size:9px}.alert{padding:12px 14px;margin-bottom:14px;border-radius:8px;font-size:10px}.alert.error{color:#ffc5ce;border:1px solid rgba(251,113,133,.3);background:rgba(251,113,133,.08)}.alert.ok{color:#a7f3d0;border:1px solid rgba(52,211,153,.3);background:rgba(52,211,153,.08)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.stats article{min-height:120px;padding:17px;border:1px solid #20252d;border-radius:11px;background:linear-gradient(140deg,#14181e,#101319)}.stats p{margin:0 0 15px;color:var(--muted);font-size:10px}.stats b{display:block;font-size:24px}.stats small{display:block;margin-top:10px;color:var(--green);font-size:8px}.grid-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr);gap:12px}.data-list>a{min-height:62px;display:grid;grid-template-columns:4px 1fr 55px 100px 60px;gap:12px;align-items:center;padding:0 18px;border-bottom:1px solid #20252d}.data-list>a:hover{background:#171b22}.data-list i{width:3px;height:32px;border-radius:4px;background:var(--violet)}.data-list b{display:block;font-size:10px}.data-list small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.data-list time,.data-list strong,.data-list em{color:#a4abb6;font-size:8px;font-style:normal}.data-list em{color:#b9a8fb}.activity-row{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px 18px;border-bottom:1px solid #20252d}.activity-row b{font-size:9px}.activity-row span{grid-row:2;color:#89919e;font-size:8px}.activity-row time{grid-row:1/3;grid-column:2;color:#596270;font-size:7px}.empty{padding:52px 20px;text-align:center}.empty b{font-size:13px}.empty p{color:var(--muted);font-size:9px;margin-bottom:15px}.filters{display:flex;align-items:end;gap:9px;padding:12px;margin-bottom:12px;overflow:visible}.filters label{flex:1;color:#8f98a5;font-size:8px}.filters input,.filters select{width:100%;height:34px;margin-top:5px;font-size:9px}.filters>a{padding:10px;color:#747d8a;font-size:8px}.module-panel{min-height:420px}.record-tr{display:grid;grid-template-columns:95px minmax(200px,1fr) 100px 150px 120px 70px;gap:12px;align-items:center;min-height:62px;padding:8px 18px;border-bottom:1px solid #20252d;color:#9ca4b0;font-size:9px}.record-tr:not(.th):hover{background:#151920}.record-tr.th{min-height:38px;color:#5e6774;background:#101318;font-size:8px}.record-tr a b{display:block;color:#d0d4da}.record-tr a small{display:block;margin-top:4px;color:#616a77;font-size:8px}.record-tr em{font-style:normal}.row-edit{color:#9f8ce7;text-align:right}.status{display:inline-flex;justify-content:center;align-items:center;min-height:22px;padding:3px 7px;border:1px solid rgba(139,92,246,.18);border-radius:10px;color:#b9a8fb;background:rgba(139,92,246,.08);font-size:7px;font-style:normal}.status-active,.status-done,.status-paid,.status-succeeded{color:#83e9bf;border-color:rgba(52,211,153,.2);background:rgba(52,211,153,.07)}.status-canceled,.status-expired,.status-past_due{color:#ff9dac;border-color:rgba(251,113,133,.2);background:rgba(251,113,133,.07)}.status-in_progress,.status-planned,.status-trial{color:#87e9f6;border-color:rgba(34,211,238,.2);background:rgba(34,211,238,.07)}.pagination{display:flex;gap:5px;margin-top:14px}.pagination a{min-width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;color:#8a929f;background:var(--panel);font-size:9px}.pagination a.active{color:#fff;border-color:var(--violet);background:rgba(139,92,246,.14)}.record-form{padding:22px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fields label,.settings-form label,.resource-form label,.role-card label,.company-row label,.platform-plans label{display:block;color:#929aa7;font-size:9px}.fields label>span{display:block;margin-bottom:7px}.fields label.wide{grid-column:1/-1}.fields input,.fields select{width:100%}.record-form footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.record-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.55fr);gap:12px}.record-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#222832}.record-details>div{min-height:70px;padding:14px;background:#12161c}.record-details>div.wide{grid-column:1/-1}.record-details span{display:block;color:#68717e;font-size:8px;margin-bottom:8px}.record-details b{color:#cdd1d8;font-size:10px;font-weight:500;line-height:1.55}.danger-actions{display:flex;justify-content:space-between;padding:15px}.file-panel,.comments{margin-bottom:12px}.upload-form{display:flex;gap:7px;padding:12px}.upload-form input{min-width:0;flex:1;padding:7px;height:auto;font-size:8px}.file-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 13px;border-top:1px solid var(--line)}.file-row b,.file-row small{display:block}.file-row b{font-size:8px}.file-row small{color:var(--muted);font-size:7px;margin-top:3px}.file-row button{border:0;color:#ff9dac;background:none;cursor:pointer}.comments>form{padding:12px}.comments>form textarea{min-height:80px;font-size:9px;margin-bottom:7px}.comment{padding:12px;border-top:1px solid var(--line)}.comment b{font-size:8px}.comment time{float:right;color:#5f6875;font-size:7px}.comment p{margin:7px 0 0;color:#a3aab5;font-size:9px;line-height:1.55}.resource-layout{display:grid;grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);gap:12px}.resource-form{padding:20px}.resource-form h2{margin-top:0}.resource-form>label{margin-bottom:12px}.resource-form input,.resource-form select{width:100%;margin-top:6px}.resource-form>.primary{width:100%;margin-top:16px}.allocation-list>div{display:grid;grid-template-columns:85px 1fr 60px 170px auto;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font-size:8px}.allocation-list>div>span{color:#8473c9}.allocation-list time{color:#78818e}.allocation-list form button{min-height:28px;padding:0 8px;font-size:7px}.settings-layout{display:grid;grid-template-columns:340px 1fr;gap:12px}.settings-form{padding:20px;height:max-content}.settings-form h2{margin-top:0}.settings-form label{margin-bottom:12px}.settings-form input,.settings-form select{width:100%;margin-top:6px}.settings-form .primary{width:100%;margin-top:8px}.user-list details{border-bottom:1px solid var(--line)}.user-list summary{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;cursor:pointer}.user-list summary b,.user-list summary small{display:block}.user-list summary b{font-size:10px}.user-list summary small{margin-top:4px;color:var(--muted);font-size:8px}.user-list details>form{padding:16px;border-top:1px solid var(--line)}.user-list details>form+form{padding-top:0;border:0}.roles-list{display:grid;gap:12px}.role-card{padding:0 18px 18px}.role-card>header{padding-left:0;padding-right:0}.role-card>header>div{display:flex;gap:10px}.role-card input{margin-top:5px}.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-height:380px;overflow:auto}.permission-grid label{display:flex;align-items:flex-start;gap:8px;padding:8px;border:1px solid var(--line);border-radius:7px;background:#101318}.permission-grid input{width:auto;height:auto}.permission-grid span{font-size:8px}.permission-grid small{display:block;color:#616a77;margin-top:3px}.new-role{padding:20px}.audit-list>div,.payment-history>div{display:grid;grid-template-columns:130px 150px 1fr 150px;gap:12px;align-items:center;min-height:48px;padding:0 16px;border-bottom:1px solid var(--line);font-size:8px}.audit-list time{color:#68717e}.audit-list em{color:#74658e;font-style:normal}.notification-list>a{display:grid;grid-template-columns:1fr auto;gap:5px;padding:15px 18px;border-bottom:1px solid var(--line)}.notification-list b{font-size:10px}.notification-list p{grid-column:1;margin:0;color:#8e96a3;font-size:9px}.notification-list time{grid-column:2;grid-row:1/3;color:#606977;font-size:7px}.search-results>a{display:grid;grid-template-columns:110px 1fr 100px 120px;gap:12px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line);font-size:9px}.search-results>a:hover{background:#151920}.search-results>a>span{color:#8975d2}.search-results time{color:#66707d}.analytics-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:12px}.metric{min-width:160px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.metric span{display:block;color:var(--muted);font-size:8px}.metric b{display:block;margin-top:5px;font-size:20px}.danger-metric b{color:var(--orange)}.month-table>div{display:grid;grid-template-columns:90px 1fr 1fr 70px;gap:10px;padding:11px 15px;border-bottom:1px solid var(--line);font-size:8px}.green{color:var(--green)}.red{color:var(--red)}.simple-bars{padding:10px 15px}.simple-bars>div{display:grid;grid-template-columns:100px 1fr 30px;gap:8px;align-items:center;margin:11px 0;font-size:8px}.simple-bars i{height:6px;border-radius:5px;background:#252a33;overflow:hidden}.simple-bars i b{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan))}.simple-bars em{font-style:normal;text-align:right}.calendar-list{display:grid;gap:8px}.calendar-row{display:grid;grid-template-columns:70px 1fr auto;gap:16px;align-items:center;padding:15px}.calendar-row:hover{border-color:#403756}.calendar-row time b,.calendar-row time span{display:block}.calendar-row time b{font-size:22px}.calendar-row time span{color:var(--muted);font-size:8px}.calendar-row small{color:#8670ce;font-size:8px}.calendar-row h2{margin:4px 0;font-size:13px}.calendar-row p{margin:0;color:var(--muted);font-size:8px}.calendar-row>em{color:#87909d;font-size:8px;font-style:normal}.platform-list{display:grid;gap:10px}.company-row{padding:0 16px 16px}.company-row header{padding-left:0;padding-right:0}.company-row header b,.company-row header small{display:block}.company-row header small{margin-top:4px;color:var(--muted);font-size:8px}.platform-plans label{margin-bottom:12px}.platform-plans input,.platform-plans textarea{width:100%;margin-top:6px}.settings-inline{display:flex;align-items:center;gap:18px;padding:13px;margin-bottom:12px;font-size:9px}.settings-inline input[type=number]{width:80px}.error-page{max-width:600px;margin:80px auto;padding:40px;text-align:center}.error-page b{font-size:18px}.error-page p{color:var(--muted);margin-bottom:20px}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.plans article{padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.plans article.popular{border-color:rgba(139,92,246,.65);background:linear-gradient(145deg,rgba(139,92,246,.12),var(--panel) 45%)}.plans>article>span{color:#a990f4;font-size:9px;letter-spacing:.15em;font-weight:700}.plans h2{font-size:26px}.plans h2 small{font-size:9px;color:var(--muted)}.plans p,.plans li{color:var(--muted);font-size:9px}.plans ul{padding-left:18px;line-height:2}.plans form button{width:100%;margin-top:12px}.login-page,.install-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,rgba(139,92,246,.14),transparent 32%),var(--bg)}.login-card{width:min(440px,100%);padding:32px;border:1px solid var(--line);border-radius:16px;background:#11151b}.register-card{width:min(680px,100%)}.login-logo{font-size:26px;font-weight:700;letter-spacing:.12em}.overline{color:#8975d2!important;font-size:8px!important;letter-spacing:.15em}.login-card h1{margin:24px 0 6px}.login-card>p{color:var(--muted);font-size:10px}.login-card label,.install-card label{display:block;margin-top:14px;color:#9ca4b0;font-size:9px}.login-card input,.login-card select,.install-card input,.install-card select{width:100%;margin-top:7px}.login-card form>.primary{width:100%;margin-top:20px}.auth-switch{text-align:center;margin-top:18px!important}.auth-switch a{color:#a995f7}.install-wrap{width:min(850px,100%);margin:auto;padding:40px 0}.install-brand{display:flex;align-items:center;gap:18px;margin-bottom:20px}.install-brand .logo{width:58px;height:58px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#8b5cf6,#5630b4);font-weight:700}.install-brand h1{margin:0 0 5px}.install-brand p{margin:0;color:var(--muted);font-size:10px}.requirements{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.requirements span{padding:5px 8px;border-radius:8px;font-size:8px}.requirements .ok{color:#8ef0ca;background:rgba(52,211,153,.08)}.requirements .bad{color:#ff9aaa;background:rgba(251,113,133,.08)}.install-card{padding:26px;border:1px solid var(--line);border-radius:14px;background:#11151b}.install-card h2{margin:8px 0 2px;font-size:14px}.install-card h2:not(:first-of-type){margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.form-grid .wide{grid-column:1/-1}.success-card p{color:var(--muted)}code{color:#d2c7ff}.success-card .primary{margin-top:12px}@media(max-width:1180px){.analytics-grid{grid-template-columns:1fr 1fr}.analytics-grid article:first-child{grid-column:1/-1}.record-tr{grid-template-columns:80px 1fr 90px 110px 90px}.record-tr>*:nth-child(4){display:none}.record-layout{grid-template-columns:1fr}.settings-layout{grid-template-columns:1fr}.settings-form{height:auto}.permission-grid{grid-template-columns:1fr 1fr}}@media(max-width:950px){.side{transform:translateX(-100%);box-shadow:20px 0 60px rgba(0,0,0,.5);transition:transform .2s}.side.open{transform:translateX(0)}.workspace{margin-left:0}.mobile-menu{display:block}.bar{padding:0 16px}.global-search{margin-left:auto}.profile-link{display:none}.stats{grid-template-columns:1fr 1fr}.grid-main,.resource-layout{grid-template-columns:1fr}.page{padding:24px 18px 40px}}@media(max-width:680px){.bar>div:first-of-type,.notification-link{display:none}.global-search input{width:140px}.bar>.primary{width:36px;font-size:0;padding:0}.bar>.primary:after{content:'+';font-size:18px}.welcome,.module-head{align-items:flex-start}.module-head{display:block}.head-actions{margin-top:13px;flex-wrap:wrap}.stats,.plans,.form-grid,.fields,.analytics-grid{grid-template-columns:1fr}.fields label.wide{grid-column:auto}.record-tr{grid-template-columns:70px 1fr 75px}.record-tr>*:nth-child(4),.record-tr>*:nth-child(5),.record-tr>*:nth-child(6){display:none}.record-details{grid-template-columns:1fr}.record-details>div.wide{grid-column:auto}.filters{display:grid;grid-template-columns:1fr 1fr}.permission-grid{grid-template-columns:1fr}.search-results>a{grid-template-columns:90px 1fr}.search-results>a em,.search-results>a time{display:none}.allocation-list>div{grid-template-columns:70px 1fr auto}.allocation-list time,.allocation-list em{display:none}.calendar-row{grid-template-columns:55px 1fr}.calendar-row>em{display:none}.audit-list>div{grid-template-columns:100px 1fr}.audit-list>div span,.audit-list>div em{grid-column:2}.payment-history>div{grid-template-columns:90px 1fr}.settings-inline{align-items:flex-start;flex-direction:column}}@media print{.side,.bar,.head-actions,.danger-actions,.record-side,.alert{display:none!important}.workspace{margin:0}.page{max-width:none;padding:0}.record-layout{display:block}.record-card{border:0;background:#fff;color:#111}.record-details{background:#ddd}.record-details>div{background:#fff;color:#111}.record-details span,.record-details b{color:#111}.module-head small,.module-head h1,.module-head p{color:#111}body{background:#fff;color:#111}}
