@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#1c293b;background:#f6f8fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.loading{padding:60px;text-align:center;color:#8190a4}.brand{display:flex;align-items:center;gap:8px;font-family:Manrope,sans-serif;font-size:23px;font-weight:800;letter-spacing:-1px;color:#17263c}.dot{color:#4f7df3}.logo{display:inline-grid;place-items:center;width:35px;height:35px;background:#4c7bf1;color:white;border-radius:11px;font-weight:800;font-size:18px;box-shadow:0 5px 15px #4778ef30}.kicker{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#8ca2c2}.kicker.dark{color:#6b85a8}.btn{border:1px solid transparent;border-radius:9px;padding:11px 15px;display:inline-flex;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:700}.btn.primary{background:#4778ef;color:#fff;box-shadow:0 4px 10px #4778ef20}.btn.secondary{background:#fff;border-color:#dfe5ed;color:#35445a}.btn.full{width:100%}.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:white}.auth-visual{background:radial-gradient(circle at 75% 30%,#294b7e 0,transparent 36%),linear-gradient(145deg,#101e34,#142d4c 70%,#172c45);padding:40px 8%;color:white;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.brand.inverse{color:#fff}.hero{position:relative;margin:auto 0;max-width:520px}.hero h1{font:800 clamp(38px,4vw,58px)/1.12 Manrope,sans-serif;letter-spacing:-2px;margin:20px 0}.hero h1 em{font-style:normal;color:#87aaff}.hero p{color:#b3c1d4;font-size:14px;line-height:1.7}.hero-card{position:absolute;right:-20px;top:185px;width:225px;background:#fff;color:#1d2c42;padding:17px;border-radius:14px;transform:rotate(4deg);box-shadow:0 25px 70px #07101f55}.hero-card-top{display:flex;align-items:center;justify-content:space-between}.logo.pale{background:#edf3ff;color:#4d7df1;box-shadow:none}.hero-card small{display:block;color:#8a97a8;font-size:9px;margin-top:17px}.hero-card h2{font:800 25px Manrope;margin:8px 0 18px}.fake-line{height:5px;border-radius:5px;background:#edf0f5;margin:8px 0}.fake-line.short{width:60%}.auth-visual footer{font-size:11px;color:#8193ad}.auth-form-wrap{display:grid;place-items:center;padding:35px}.auth-form{width:min(100%,370px)}.auth-form h2,.modal h2{font:800 27px Manrope;letter-spacing:-.7px;margin:11px 0 7px}.auth-form>p{color:#8b97a7;font-size:12px;margin:0 0 26px}.auth-form label,.modal label{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;font-size:11px;font-weight:700;color:#45546a}.auth-form input,.modal input,.modal select,.modal textarea{border:1px solid #dfe5ed;border-radius:8px;padding:11px 12px;outline:0;font-size:12px;min-width:0;width:100%;background:#fff;color:#1f2c40}.auth-form input:focus,.modal input:focus,.modal select:focus{border-color:#7094f6;box-shadow:0 0 0 3px #4778ef12}.auth-switch{text-align:center;color:#8a96a5;font-size:12px;margin-top:22px}.auth-switch button{border:0;background:none;color:#4778ef;font-weight:700}.secure{display:block;text-align:center;color:#9aa5b4;font-size:10px;margin-top:40px}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:white;border-right:1px solid #e9edf3;padding:24px 16px 14px;display:flex;flex-direction:column;z-index:10}.sidebar>.brand{padding:0 7px 29px}.side-label{display:block;font-size:9px;letter-spacing:1.4px;font-weight:800;color:#a1acbb;padding:0 10px;margin:0 0 12px}.company-select{display:flex;align-items:center;gap:9px;width:100%;border:1px solid #e8edf3;background:white;padding:10px;border-radius:9px;text-align:left;margin-bottom:26px}.company-mark{width:34px;height:34px;display:grid;place-items:center;background:#eaf0ff;color:#4778ef;border-radius:9px;font-size:10px;font-weight:800}.company-select span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.company-select b,.profile b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-select small,.profile small{font-size:9px;color:#8b98a9}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav{width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;border:0;background:transparent;color:#7c899b;border-radius:8px;text-align:left;font-size:11px;font-weight:600}.nav>span:first-child{width:18px;font-size:17px;text-align:center}.nav.active{background:#e8efff;color:#315fd1;box-shadow:inset 3px 0 0 #4778ef;font-weight:800}.nav[aria-current="page"]>span:first-child{color:#315fd1}.nav:not(.active):hover{background:#f6f8fc;color:#35445a}.nav small{margin-left:auto;background:white;border-radius:5px;padding:3px 5px}.side-bottom{margin-top:auto}.help{background:#f5f8ff;border:1px solid #e9efff;border-radius:10px;padding:14px;margin-bottom:15px}.help b{font-size:11px}.help p{font-size:10px;color:#8996a9;line-height:1.5;margin-bottom:0}.profile{display:flex;align-items:center;gap:8px;border-top:1px solid #edf0f4;padding:14px 3px 0}.profile>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#dbe8ff;color:#416ed2;font-size:10px;font-weight:800;flex-shrink:0}.icon{background:transparent;border:0;color:#8190a4;font-size:20px}.main{margin-left:248px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e9edf3;padding:0 32px;position:sticky;top:0;z-index:5}.crumb{font-size:11px;color:#9aa5b3}.crumb i{margin:0 8px;color:#cbd3dd}.crumb b{color:#35445a}.top-right{display:flex;align-items:center;gap:15px;font-size:10px;color:#7f8da0}.avatar.small{width:29px;height:29px}.content{padding:30px 32px 42px;max-width:1550px;width:100%;margin:0 auto;flex:1}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:24px}.page-head h1{font:800 26px Manrope;letter-spacing:-1px;margin:8px 0 6px}.page-head p,.panel-title p{font-size:11px;color:#8b97a7;margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:19px}.stats article{background:white;border:1px solid #e9edf3;border-radius:12px;padding:17px;min-width:0}.stat-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;margin-bottom:15px;font-size:17px}.blue{background:#edf3ff;color:#4778ef}.purple{background:#f1edff;color:#8c68dd}.orange{background:#fff3e7;color:#e89a45}.green{background:#e9f8f0;color:#30a56e}.stats small{display:block;font-size:10px;color:#7e8b9d}.stats strong{display:block;font:800 23px Manrope;letter-spacing:-.7px;margin-top:6px;overflow:hidden;text-overflow:ellipsis}.stats p{font-size:9px;color:#a3adba;margin:7px 0 0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:17px;margin-bottom:18px}.panel{background:#fff;border:1px solid #e9edf3;border-radius:12px;min-width:0}.chart,.quick{padding:20px}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 15px}.chart .panel-title,.quick .panel-title{padding:0}.panel-title h3,.settings h3{font:700 14px Manrope;margin:0 0 5px}.tag{border:1px solid #e8edf3;border-radius:6px;padding:7px 9px;font-size:10px;color:#77869b}.chart-empty{height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.chart-empty span{width:42px;height:42px;border-radius:12px;background:#f1f5ff;color:#6b8de8;display:grid;place-items:center;font-size:24px}.chart-empty b{font-size:11px;color:#66768c}.chart-empty p{font-size:10px;color:#a2adbb;max-width:260px;line-height:1.5;margin:0}.quick button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;border-top:1px solid #f0f2f6;background:white;padding:13px 0;color:#4778ef}.quick button span{display:flex;flex-direction:column;gap:4px;flex:1;color:#35445a}.quick button b{font-size:11px}.quick button small{font-size:9px;color:#9aa5b4}.quick .panel-title{margin-bottom:15px}.table-panel{overflow:hidden;margin-bottom:16px}.table-scroll{overflow-x:auto;width:100%}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}thead{background:#f8f9fc}th{font-size:9px;letter-spacing:.6px;color:#9ba6b4;padding:12px 18px;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}td{font-size:11px;color:#778598;padding:13px 18px;border-bottom:1px solid #f0f2f6}tbody tr:last-child td{border-bottom:0}td b{color:#3d4c60;font-size:11px}.sub{display:block;font-size:9px;color:#a1adbb;margin-top:4px}.pill{display:inline-block;border-radius:6px;padding:5px 8px;font-size:10px;font-weight:700}.pill.paid{background:#e7f8ef;color:#21875a}.pill.issued{background:#edf3ff;color:#4b75d7}.text-button{border:0;background:none;color:#4778ef;font-size:11px;font-weight:700}.empty{display:flex;align-items:center;flex-direction:column;gap:8px;padding:36px 15px;text-align:center}.empty>span{color:#7090e5;font-size:25px}.empty b{font-size:12px;color:#5c6c80}.empty p{font-size:11px;color:#a1adbb;margin:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px 15px}.toolbar input{border:1px solid #e3e8ef;border-radius:8px;padding:10px 12px;width:min(100%,330px);font-size:11px;outline:0}.toolbar span{font-size:10px;color:#8b97a7}.actions{display:flex;gap:8px}.settings{padding:22px}.settings h3{margin-bottom:17px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.settings-grid>div{padding:13px 0;border-bottom:1px solid #f1f3f7;display:flex;flex-direction:column;gap:6px}.settings-grid small{font-size:10px;color:#9aa5b4}.settings-grid b{font-size:12px;color:#405066}.notice-text{font-size:11px;color:#8b97a7;margin-top:20px}.app-footer{display:flex;justify-content:space-between;border-top:1px solid #e9edf3;padding:16px 32px;color:#a1adbb;font-size:10px}.backdrop{position:fixed;inset:0;z-index:40;background:#1220387a;backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;overflow-y:auto}.modal{width:min(100%,540px);max-height:calc(100vh - 32px);overflow-y:auto;background:white;border-radius:15px;box-shadow:0 25px 90px #0d1a2e40}.modal.wide{width:min(100%,740px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:21px 23px 17px;border-bottom:1px solid #edf0f4}.modal h2{font-size:21px;margin-bottom:0}.modal-body{padding:20px 23px 23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.span-2{grid-column:span 2}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px;padding-top:16px;border-top:1px solid #edf0f4}.company-option{display:flex;flex-direction:column;width:100%;text-align:left;background:white;border:1px solid #e8edf3;border-radius:8px;padding:12px;margin-bottom:8px}.company-option small{color:#8b98a9;margin-top:4px}.item-row{display:grid;grid-template-columns:minmax(130px,2fr) 80px 110px 85px;gap:8px;align-items:end;padding:12px;background:#f8f9fc;border:1px solid #edf0f4;border-radius:9px;margin-bottom:8px}.item-row label{margin:0;font-size:10px}.item-row input,.item-row select{padding:9px 7px;font-size:11px}.warning{font-size:11px;color:#b94d47;background:#fff1f0;padding:10px;border-radius:8px}.toast{position:fixed;z-index:100;right:20px;bottom:20px;max-width:calc(100vw - 40px);background:#eaf8f0;color:#238253;border:1px solid #d0f0de;border-radius:9px;padding:12px 16px;font-size:12px;box-shadow:0 10px 35px #0d1a2e15;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#fff1f0;color:#b94d47;border-color:#ffd5d1}.mobile-menu,.mobile-close,.scrim{display:none}
@media(max-width:1100px){.sidebar{width:220px}.main{margin-left:220px}.content{padding:25px 22px}.topbar{padding:0 22px}.stats{gap:9px}.stats article{padding:14px}.stats strong{font-size:20px}.hero-card{right:-5px;top:230px;width:205px}}
@media(max-width:850px){.auth{grid-template-columns:1fr}.auth-visual{display:none}.sidebar{transform:translateX(-100%);transition:transform .22s;width:260px;box-shadow:15px 0 50px #14223a15}.sidebar.open{transform:translateX(0)}.scrim.show{display:block;position:fixed;inset:0;z-index:8;background:#1220386b}.main{margin-left:0}.mobile-menu{display:inline-block}.mobile-close{display:block;margin-left:auto}.topbar>div:first-child{display:flex;align-items:center;gap:9px}.dashboard-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.quick{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.quick .panel-title{grid-column:1/-1}}
@media(max-width:580px){.content{padding:21px 13px 28px}.topbar{height:58px;padding:0 12px}.top-right>span:first-child{display:none}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:19px}.page-head h1{font-size:23px}.page-head>.btn,.page-head>.actions{width:100%}.actions .btn{flex:1;padding:10px 7px}.stats{gap:8px}.stats article{padding:12px}.stats strong{font-size:19px}.stat-ico{width:30px;height:30px;margin-bottom:12px}.chart,.quick{padding:15px}.quick{grid-template-columns:1fr}.quick .panel-title{grid-column:auto}.panel-title{padding:16px 13px 13px}.toolbar{padding:0 13px 13px;align-items:flex-start;flex-direction:column}.toolbar input{width:100%}.app-footer{padding:14px;flex-direction:column;gap:7px}.settings{padding:15px}.settings-grid{grid-template-columns:1fr}.modal-body{padding:16px}.modal-head{padding:18px 16px 14px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.item-row{grid-template-columns:1fr 1fr}.item-name{grid-column:1/-1}.auth-form-wrap{padding:23px}.secure{margin-top:30px}}

.danger-zone{margin-top:1.5rem;padding:1rem;border:1px solid #f1b9b9;border-radius:12px;background:#fff8f8}.danger-zone h3{margin:0 0 .4rem;color:#9b2525}.danger-zone p{color:#713b3b;font-size:.92rem}.danger-zone button{border-color:#c63c3c;color:#a62828}

/* v5: company members and platform administration */
.members-panel{border:1px solid var(--border,#e2e8f0);border-radius:16px;padding:22px;background:var(--surface,#fff);margin-top:12px}
.members-panel h3,.danger-zone h3{margin-top:0}
.members-panel>p{color:var(--muted,#64748b);margin-top:-4px}
.members-panel .form-grid{padding:14px;background:var(--surface-secondary,#f8fafc);border-radius:12px;margin:12px 0}
.members-panel table input,.settings table input{width:100%;min-width:115px;max-width:240px}
.settings table select{min-width:130px}
.settings table td{vertical-align:middle}
.settings table .text-button{white-space:nowrap;margin:2px 4px 2px 0}
.danger-zone{border:1px solid #fecaca!important;background:#fffafa;border-radius:14px;padding:18px;margin-top:18px}
.danger-zone p{color:#7f1d1d}
@media(max-width:760px){.members-panel{padding:14px}.settings table input{min-width:100px}.settings table td{padding:8px}}


/* v6: clearer company settings forms and polished controls */
.settings form.form-grid{gap:18px 20px;align-items:start}
.settings .form-grid>label,.members-panel .form-grid>label{display:flex;flex-direction:column;gap:8px;min-width:0;color:#344256;font-size:12px;font-weight:700;line-height:1.4}
.settings .form-grid>label>input:not([type=checkbox]):not([type=color]),
.settings .form-grid>label>select,
.settings .form-grid>label>textarea,
.members-panel .form-grid>label>input:not([type=checkbox]),
.members-panel .form-grid>label>select,
.settings table input:not([type=checkbox]),
.settings table select{
 width:100%;min-width:0;min-height:43px;padding:11px 12px;border:1px solid #dce3ed;border-radius:10px;background:#fbfcfe;color:#26364b;font:500 13px Inter,Arial,sans-serif;outline:none;transition:border-color .18s,box-shadow .18s,background .18s;box-shadow:0 1px 2px #10213a05
}
.settings .form-grid>label>input::placeholder,.members-panel input::placeholder,.settings table input::placeholder{color:#a0aabb}
.settings .form-grid>label>input:focus,.settings .form-grid>label>select:focus,.settings .form-grid>label>textarea:focus,.members-panel .form-grid input:focus,.members-panel .form-grid select:focus,.settings table input:focus,.settings table select:focus{border-color:#4c83e6;background:#fff;box-shadow:0 0 0 3px #4c83e61c}
.settings .form-grid>label>input[type=color]{width:100%;height:44px;padding:5px;border:1px solid #dce3ed;border-radius:10px;background:#fbfcfe;cursor:pointer}
.settings .form-grid>label>input[type=file]{width:100%;padding:10px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;font-size:11px}
.settings .form-grid>label>input[type=checkbox],.members-panel input[type=checkbox]{width:17px;height:17px;accent-color:#16865a;vertical-align:middle;cursor:pointer}
.settings .form-grid>label:has(>input[type=checkbox]){flex-direction:row;align-items:center;gap:10px;min-height:43px;padding:10px 12px;border:1px solid #e4eaf1;border-radius:10px;background:#f9fbfd}
.settings .form-grid label small,.members-panel label small{font-size:11px;line-height:1.55;color:#8290a3;font-weight:400}
.settings .form-grid>.span-2>h3{margin:5px 0 0;padding-bottom:10px;border-bottom:1px solid #edf0f5;color:#334155}
.settings .form-grid>.span-2>.btn{min-height:43px;padding:11px 18px;border-radius:10px}
.settings>.members-panel{margin:0;border:0;border-radius:0;padding:0;background:transparent}
.members-panel .form-grid{gap:14px 16px;padding:18px;background:linear-gradient(135deg,#f8fafc,#f3f7fb);border:1px solid #e7edf4;border-radius:13px}
.members-panel .form-grid .btn{min-height:42px;border-radius:10px}
.members-panel table select{max-width:190px}
.settings .danger-zone{margin-top:24px}
.settings .danger-zone button{border-radius:9px}
@media(max-width:650px){.settings form.form-grid{gap:14px}.settings .form-grid>label:has(>input[type=checkbox]){grid-column:auto}.settings .form-grid>.span-2>.btn{width:100%}}

/* Invoice line-item controls and clear active navigation state */
.nav.active{background:#dce7ff!important;color:#214fca!important;box-shadow:inset 4px 0 0 #356cf0,0 2px 8px #356cf014;font-weight:800}
.nav.active>span:first-child{color:#214fca!important}
.nav[aria-current="page"]{outline:1px solid #c8d8ff}
.item-row{position:relative;padding-right:42px}
.remove-item{display:grid;place-items:center;align-self:end;width:30px;height:34px;border:1px solid #f1d5d5;border-radius:8px;background:#fff5f5;color:#c24141;font-size:20px;line-height:1;cursor:pointer}
.remove-item:hover:not(:disabled){background:#ffe5e5;border-color:#e9aaaa}
.remove-item:disabled{opacity:.35;cursor:not-allowed}
.item-actions{display:flex;justify-content:flex-start}
@media(max-width:580px){.item-row{padding-right:12px}.remove-item{grid-column:1/-1;justify-self:end;width:100%;height:32px}}
