:root{--navy:#07162f;--navy2:#0a2149;--blue:#0b66ff;--blue2:#2d83ff;--bg:#f4f7fb;--card:#fff;--text:#12213a;--muted:#6b7a90;--line:#e4eaf2;--green:#0d9f6e;--orange:#dc8614;--red:#d84545;--purple:#6f55d8;--shadow:0 18px 50px rgba(19,41,76,.10);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.eyebrow{font-size:10px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.12em}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 18%,#153c7b 0,transparent 32%),radial-gradient(circle at 82% 75%,#0b66ff2d 0,transparent 30%),linear-gradient(135deg,#041022,#071a3c 62%,#092552);position:relative;overflow:hidden}.login-screen:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,black,transparent)}.login-orb{position:absolute;border-radius:50%;filter:blur(8px);opacity:.45;animation:float 7s ease-in-out infinite}.orb-a{width:240px;height:240px;background:#0b66ff;left:-80px;top:18%}.orb-b{width:180px;height:180px;background:#29a6ff;right:-50px;bottom:12%;animation-delay:-2s}@keyframes float{50%{transform:translateY(-18px) translateX(8px)}}.login-card{position:relative;z-index:2;width:min(440px,94vw);background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.45);border-radius:28px;padding:28px;box-shadow:0 35px 100px rgba(0,0,0,.28);backdrop-filter:blur(14px)}.login-brand{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line)}.login-brand img{width:100px;height:64px;object-fit:contain}.login-brand strong{display:block;font-size:16px}.login-brand span{font-size:11px;color:var(--muted)}.login-copy{padding:24px 0 10px}.login-copy h1{font-size:32px;margin:7px 0 8px}.login-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.login-form{display:grid;gap:14px}.login-form label,.form-grid label{font-size:11px;font-weight:700;color:#55708e}.login-form input,.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:12px;padding:0 12px;outline:none;color:var(--text);background:#fff;transition:.2s}.login-form input,.form-grid input,.form-grid select{height:44px}.form-grid textarea{padding-top:10px;resize:vertical}.login-form input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#7aa9f5;box-shadow:0 0 0 4px #eaf2ff}.login-error{min-height:18px;color:var(--red);font-size:11px}.secure-note{font-size:10px;color:var(--muted);text-align:center;margin-top:17px}.app-shell{display:grid;grid-template-columns:255px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--navy),#061126 75%);color:white;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:30}.brand-wrap{display:flex;gap:12px;align-items:center;padding:4px 8px 22px}.brand-logo{width:74px;height:52px;object-fit:contain;background:white;border-radius:12px;padding:5px}.brand-title{font-weight:800;font-size:15px}.brand-sub{font-size:10px;color:#95a8c6;margin-top:3px}.nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#afbdd1;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 13px;border-radius:12px;cursor:pointer;font-weight:600;transition:.2s}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(3px)}.nav-item.active{background:linear-gradient(135deg,#1168f8,#195fe0);color:white;box-shadow:0 8px 20px rgba(11,102,255,.28)}.nav-item span{width:22px;text-align:center}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding:16px 7px 0}.mini-user{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:#1671ff;display:grid;place-items:center;font-weight:800}.user-meta strong{display:block;font-size:12px}.user-meta small{display:block;color:#8da1be;margin-top:2px;font-size:10px;text-transform:capitalize}.logout-btn{border:0;background:rgba(255,255,255,.08);color:#fff;width:32px;height:32px;border-radius:9px;cursor:pointer}.main{min-width:0}.topbar{min-height:86px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 28px;position:sticky;top:0;z-index:20}.topbar h1{font-size:22px;margin:0}.topbar p{font-size:12px;color:var(--muted);margin:4px 0 0}.top-actions{display:flex;gap:10px;align-items:center}.search-global{display:flex;align-items:center;gap:8px;background:#f6f8fb;border:1px solid var(--line);padding:0 12px;border-radius:12px;width:285px;height:42px}.search-global input{border:0;background:transparent;outline:none;width:100%;font-size:12px}.icon-btn{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:white;cursor:pointer;transition:.2s}.icon-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,60,100,.12)}.primary-btn,.ghost-btn,.danger-btn{border:0;border-radius:11px;padding:11px 16px;font-weight:700;cursor:pointer;transition:.2s}.primary-btn{background:linear-gradient(135deg,#0b66ff,#1a58d0);color:white;box-shadow:0 8px 18px rgba(11,102,255,.2)}.primary-btn:hover{transform:translateY(-1px)}.primary-btn.full{width:100%;height:46px}.ghost-btn{background:#eef3f9;color:var(--text)}.danger-btn{background:#ffe9e9;color:#b73b3b}.content{padding:26px 28px 50px}.loading-card,.empty-state{background:#fff;border:1px solid var(--line);border-radius:18px;padding:60px 20px;text-align:center;color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 4px 16px rgba(22,48,88,.04);transition:.2s}.kpi:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi .icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eaf2ff}.kpi .label{font-size:12px;color:var(--muted);font-weight:600}.kpi .value{font-size:30px;font-weight:800;margin-top:9px}.kpi .note{font-size:11px;color:var(--muted);margin-top:5px}.note.good{color:var(--green)}.note.warn{color:var(--orange)}.grid-2{display:grid;grid-template-columns:1.25fr .75fr;gap:16px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 16px rgba(22,48,88,.04);overflow:hidden}.panel-head{padding:18px 18px 12px;display:flex;justify-content:space-between;align-items:center}.panel-head h3{font-size:14px;margin:0}.panel-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.link-btn{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer;font-size:12px}.panel-body{padding:0 18px 18px}.mini-bars{display:grid;gap:14px}.bar-row{display:grid;grid-template-columns:140px 1fr 32px;gap:10px;align-items:center;font-size:12px}.bar-track{height:8px;background:#edf2f8;border-radius:20px;overflow:hidden}.bar-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,#0b66ff,#57a1ff)}.activity{display:grid;gap:14px}.activity-item{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.activity-dot{width:30px;height:30px;border-radius:10px;background:#edf4ff;display:grid;place-items:center;font-size:12px}.activity-item strong{font-size:12px;display:block}.activity-item span{font-size:11px;color:var(--muted)}.toolbar{background:white;border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.toolbar input,.toolbar select{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;height:38px;padding:0 10px;outline:none;font-size:12px}.toolbar input{min-width:250px}.spacer{flex:1}.table-wrap{background:white;border:1px solid var(--line);border-radius:16px;overflow:auto;box-shadow:0 4px 14px rgba(20,50,90,.04)}table{width:100%;border-collapse:collapse;min-width:1100px}th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#7b8ba2;background:#f7f9fc;text-align:left;padding:12px 13px;border-bottom:1px solid var(--line);position:sticky;top:0}td{font-size:11.5px;padding:13px;border-bottom:1px solid #eef2f7;vertical-align:middle}tr:hover td{background:#fbfdff}.employee-cell{display:flex;align-items:center;gap:10px}.emp-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#dce9ff,#eef5ff);display:grid;place-items:center;color:#1c5fc8;font-weight:800}.emp-name{font-weight:700}.emp-sub{font-size:10px;color:var(--muted);margin-top:2px}.status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:700}.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.inside,.paid,.completed{background:#e6f8f1;color:#0d8d62}.outside,.pending,.unpaid{background:#fff3df;color:#c17200}.submitted{background:#e9f1ff;color:#356dcc}.cancelled,.expired,.rejected{background:#ffe9e9;color:#c63d3d}.hold{background:#eee9ff;color:#6c50cc}.amount{font-weight:700}.action-btn{border:1px solid var(--line);background:white;border-radius:9px;padding:7px 9px;cursor:pointer;font-weight:700;color:#31506f;font-size:10px}.action-btn:hover{border-color:#9fc1f8;color:var(--blue)}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.section-title h2{margin:0;font-size:18px}.section-title p{margin:4px 0 0;font-size:11px;color:var(--muted)}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:rgba(3,15,35,.35);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.25s;z-index:70}.drawer{position:fixed;right:0;top:0;height:100vh;width:min(650px,96vw);background:white;z-index:80;transform:translateX(105%);transition:.3s cubic-bezier(.2,.8,.2,1);box-shadow:-25px 0 60px rgba(6,24,52,.16);display:flex;flex-direction:column}.drawer.open{transform:none}.drawer-backdrop.show,.modal-backdrop.show{opacity:1;pointer-events:auto}.drawer-head{padding:22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}.drawer-head h2{margin:4px 0 4px;font-size:22px}.drawer-head p{margin:0;color:var(--muted);font-size:12px}.tabs{display:flex;gap:4px;padding:10px 18px;border-bottom:1px solid var(--line);overflow:auto}.tab{border:0;background:transparent;padding:9px 12px;border-radius:9px;color:var(--muted);font-weight:700;font-size:11px;cursor:pointer}.tab.active{background:#eaf2ff;color:#1260df}.drawer-body{padding:20px;overflow:auto}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-card{border:1px solid var(--line);border-radius:12px;padding:12px}.field-card small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:700;letter-spacing:.05em}.field-card strong{display:block;margin-top:5px;font-size:12px}.doc-list,.expense-list{display:grid;gap:10px}.doc-row,.expense-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px}.doc-icon{width:36px;height:36px;border-radius:10px;background:#eef4ff;display:grid;place-items:center}.doc-row strong,.expense-row strong{font-size:11px}.doc-row small,.expense-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.salary-card{border-radius:16px;background:linear-gradient(135deg,#08214a,#0c3979);color:white;padding:18px;margin-bottom:14px}.salary-card .big-amount{font-size:28px;font-weight:800;margin-top:6px}.salary-split{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.salary-split div{background:rgba(255,255,255,.08);border-radius:10px;padding:10px}.salary-split small{font-size:9px;color:#bcd0ee}.salary-split strong{display:block;font-size:12px;margin-top:4px}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-45%) scale(.96);width:min(820px,94vw);max-height:92vh;overflow:hidden;background:white;border-radius:20px;z-index:90;box-shadow:0 25px 80px rgba(4,20,45,.2);opacity:0;pointer-events:none;transition:.22s}.modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.modal-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal-head h2{margin:4px 0 0}.form-grid{padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-scroll{max-height:calc(92vh - 78px);overflow:auto}.full-span{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:6px}.toast{position:fixed;right:22px;bottom:22px;background:#0d223f;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);font-size:11px;font-weight:700;opacity:0;transform:translateY(20px);pointer-events:none;transition:.25s;z-index:110}.toast.show{opacity:1;transform:none}.month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-card{border:1px solid var(--line);border-radius:14px;padding:15px;background:white}.metric-card span{font-size:10px;color:var(--muted)}.metric-card strong{display:block;font-size:22px;margin-top:6px}.metric-card small{font-size:10px;color:var(--muted)}.upload-box{border:1.5px dashed #bdd0eb;border-radius:14px;padding:16px;background:#f8fbff;margin-bottom:14px}.upload-box input,.upload-box select{width:100%;margin-top:8px}.upload-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.csv-btn{display:inline-flex;align-items:center;gap:6px}.mobile-only{display:none}
@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.search-global{width:210px}.month-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;transform:translateX(-105%);transition:.25s;width:255px}.sidebar.open{transform:none}.mobile-only{display:inline-grid;place-items:center}.topbar{padding:10px 14px;min-height:76px}.topbar p{display:none}.top-actions{gap:6px}.search-global{display:none}.top-actions .primary-btn{font-size:0;padding:10px}.top-actions .primary-btn:after{content:"＋";font-size:18px}.content{padding:16px}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:14px}.kpi .value{font-size:24px}.profile-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full-span,.form-actions{grid-column:1}.month-grid{grid-template-columns:1fr 1fr}.section-title{align-items:flex-start;gap:8px;flex-direction:column}.upload-actions{grid-template-columns:1fr}.login-card{padding:22px}}
.role-help{background:#f6f9fe;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:10.5px;line-height:1.55;color:var(--muted)}
.role-help strong{color:var(--text)}

/* V4 document upload clarity */
.doc-help-card{display:flex;align-items:flex-start;gap:14px;background:linear-gradient(135deg,#eef6ff,#f8fbff);border:1px solid #d7e7fb;border-radius:16px;padding:15px 17px;margin-bottom:14px;color:#18304f}
.doc-help-card p{margin:4px 0 0;color:#627795;font-size:13px;line-height:1.5}
.doc-help-icon{width:42px;height:42px;border-radius:12px;background:#fff;display:grid;place-items:center;font-size:21px;box-shadow:0 5px 16px rgba(25,87,180,.08)}
#documentForm input[type=file]{padding:10px;background:#f8fbff;border:1px dashed #b9c9df;border-radius:10px}

/* V5 - document-first onboarding, company vault and polished motion */
.page-enter > *{animation:pageRise .48s cubic-bezier(.2,.75,.25,1) both}
.page-enter > *:nth-child(2){animation-delay:.04s}.page-enter > *:nth-child(3){animation-delay:.08s}.page-enter > *:nth-child(4){animation-delay:.12s}
@keyframes pageRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.animated-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.animated-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(16,61,130,.08);border-color:#c8daf3}
.primary-btn,.ghost-btn,.action-btn,.nav-item{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(11,102,255,.18)}.primary-btn:active,.ghost-btn:active,.action-btn:active{transform:scale(.98)}
.nav-item:hover{transform:translateX(3px)}
.employee-doc-section{border:1px solid #d9e5f5;background:linear-gradient(135deg,#f8fbff,#eef5ff);border-radius:16px;padding:16px}.employee-doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.employee-doc-head strong{font-size:13px}.employee-doc-head small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.optional-tag{font-size:9px;padding:4px 7px;border-radius:999px;background:#fff;color:#55708f;border:1px solid #d9e5f5;margin-left:5px}.doc-badge{font-size:10px;font-weight:700;color:#1e63c9;background:white;border:1px solid #d5e4f7;border-radius:999px;padding:7px 10px}.employee-doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.file-tile{background:#fff;border:1px dashed #b8cae2;border-radius:12px;padding:11px;transition:.2s}.file-tile:hover{border-color:#6da4ee;transform:translateY(-2px);box-shadow:0 8px 18px rgba(18,82,174,.07)}.file-tile span{display:block;font-size:10.5px;font-weight:700;margin-bottom:7px}.file-tile input{width:100%;font-size:9.5px;color:var(--muted)}
.doc-actions{display:flex;gap:6px;flex-wrap:wrap}.download-btn{background:#f4f8ff;color:#1760c7}.download-btn:hover{background:#eaf2ff}
.company-doc-hero{display:grid;grid-template-columns:52px 1fr auto;gap:15px;align-items:center;background:linear-gradient(135deg,#092752,#0d4b99);color:#fff;border-radius:18px;padding:18px 20px;margin-bottom:14px;box-shadow:0 16px 36px rgba(7,48,107,.12)}.company-doc-icon{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:24px}.company-doc-hero strong{font-size:14px}.company-doc-hero p{margin:5px 0 0;color:#c7daf4;font-size:11px;line-height:1.55}.company-doc-count{text-align:center;min-width:70px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.1)}.company-doc-count b{display:block;font-size:23px}.company-doc-count span{font-size:9px;color:#c7daf4}
#companyDocumentForm input[type=file]{padding:10px;background:#f8fbff;border:1px dashed #b9c9df;border-radius:10px}
.modal.open .employee-doc-section{animation:softPop .4s ease both}@keyframes softPop{from{opacity:0;transform:scale(.985) translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.employee-doc-grid{grid-template-columns:1fr 1fr}.company-doc-hero{grid-template-columns:46px 1fr}.company-doc-count{grid-column:1/-1;text-align:left;display:flex;gap:8px;align-items:baseline}.doc-actions{min-width:145px}}
@media(max-width:480px){.employee-doc-grid{grid-template-columns:1fr}.employee-doc-head{flex-direction:column}.company-doc-hero{grid-template-columns:1fr}.company-doc-icon{display:none}}

/* V6 employee date sorting */
#employeeSort{min-width:185px}.date-cell strong{display:block;font-size:11px}.date-cell small{display:block;color:var(--muted);font-size:9px;margin-top:3px}


/* V7 auth activation / recovery */
.auth-help-btn{border:0;background:transparent;color:#1769e8;font:inherit;font-weight:700;cursor:pointer;padding:8px 4px 2px;text-align:center;transition:transform .2s ease,opacity .2s ease}
.auth-help-btn:hover{transform:translateY(-1px);opacity:.78}
.auth-help-btn:disabled{opacity:.55;cursor:wait}
.login-error.success{color:#078447}
.compact-btn{padding:9px 13px;white-space:nowrap}.modal-sub{margin:5px 0 0;color:var(--muted);font-size:11px}.bulk-modal{width:min(1120px,96vw)}.bulk-body{padding:20px 22px;max-height:calc(92vh - 82px);overflow:auto}.bulk-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.bulk-steps>div{border:1px solid var(--line);border-radius:14px;padding:13px;background:linear-gradient(180deg,#fbfdff,#f7faff);display:grid;grid-template-columns:30px 1fr;column-gap:8px;align-items:center}.bulk-steps>div>span{grid-row:1/3;width:28px;height:28px;border-radius:9px;background:#e9f2ff;color:var(--blue);display:grid;place-items:center;font-weight:800}.bulk-steps strong{font-size:11px}.bulk-steps small{color:var(--muted);font-size:9px;margin-top:2px}.bulk-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.bulk-file-picker{background:linear-gradient(135deg,#0b66ff,#1a58d0);color:#fff;border-radius:11px;padding:11px 16px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(11,102,255,.2)}.bulk-file-picker input{display:none}.bulk-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.bulk-summary>div{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.bulk-summary strong{display:block;font-size:22px}.bulk-summary span{font-size:10px;color:var(--muted)}.bulk-summary .good strong{color:var(--green)}.bulk-summary .warn strong{color:var(--orange)}.bulk-summary .bad strong{color:var(--red)}.bulk-preview{margin-top:12px}.bulk-preview-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bulk-preview-head strong{display:block;font-size:12px}.bulk-preview-head small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.bulk-table-wrap{max-height:340px}.bulk-table-wrap table{min-width:900px}.bulk-code{display:block;color:var(--muted);font-size:9px;margin-top:3px}.import-pill{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:800}.import-pill.ready{background:#e6f8f1;color:#0d8d62}.import-pill.duplicate{background:#fff3df;color:#c17200}.import-pill.fix{background:#ffe9e9;color:#c63d3d}.issue-text{display:block;max-width:190px;color:var(--muted);font-size:9px;margin-top:4px;line-height:1.35}.bulk-note{margin-top:12px}.auth-help-btn{border:0;background:transparent;color:#2468d8;font-size:11px;font-weight:700;cursor:pointer}.login-error.success{color:var(--green)}
@media(max-width:760px){.bulk-steps,.bulk-summary{grid-template-columns:1fr 1fr}.bulk-modal{width:96vw}.bulk-body{padding:14px}.bulk-actions-row>*{width:100%;text-align:center}.compact-btn{width:100%}}


/* V9 - Offer Letter builder + Visa status */
.offer-builder{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(560px,1.15fr);gap:18px;align-items:start}.offer-controls,.offer-preview-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px rgba(16,61,130,.06)}.offer-controls{padding:18px}.offer-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.offer-form-grid label{font-size:10.5px;font-weight:700;color:#55708e}.offer-form-grid input,.offer-form-grid select,.offer-form-grid textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:0 11px;background:#fff;color:var(--text);outline:none}.offer-form-grid input,.offer-form-grid select{height:40px}.offer-form-grid textarea{padding-top:9px;resize:vertical}.offer-form-grid input:focus,.offer-form-grid select:focus,.offer-form-grid textarea:focus{border-color:#7aa9f5;box-shadow:0 0 0 4px #eaf2ff}.offer-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.offer-preview-panel{padding:14px;background:linear-gradient(180deg,#eef3f8,#e7edf5)}.offer-preview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.offer-preview-top strong{display:block;font-size:12px}.offer-preview-top span{display:block;font-size:9px;color:var(--muted);margin-top:2px}.offer-paper{width:100%;max-width:760px;margin:0 auto;background:#fff;min-height:980px;padding:34px 38px;color:#151d2a;font-family:Arial,sans-serif;font-size:12px;line-height:1.48;box-shadow:0 18px 48px rgba(28,48,80,.14);border-radius:3px}.offer-letter-head{display:flex;align-items:center;gap:16px;border-bottom:2px solid #0d4f9e;padding-bottom:10px}.offer-letter-head img{width:125px;height:72px;object-fit:contain}.offer-letter-head strong{display:block;color:#0b3f80;font-size:15px}.offer-letter-head span{display:block;font-size:10px;color:#505e70;margin-top:2px}.offer-date{text-align:right;margin:14px 0 8px}.offer-paper h2{text-align:center;font-size:20px;margin:8px 0 16px;color:#0c2f5f}.offer-paper h3{font-size:13px;margin:14px 0 6px;color:#0c2f5f}.offer-paper p{margin:8px 0}.offer-person-lines{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin-bottom:10px}.offer-terms{width:100%;border-collapse:collapse;min-width:0;margin:8px 0 12px}.offer-terms td{border:1px solid #cfd8e5;padding:6px 8px;font-size:11px}.offer-terms td:first-child{width:32%;font-weight:bold;background:#f5f8fc}.offer-signatures{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:28px}.offer-signatures span{display:block;margin-top:8px}.visa-mini-note{font-size:9px;color:var(--muted)}
@media(max-width:1100px){.offer-builder{grid-template-columns:1fr}.offer-preview-panel{overflow:auto}.offer-paper{min-width:720px}}
@media(max-width:760px){.offer-form-grid{grid-template-columns:1fr}.offer-paper{min-width:680px}.offer-preview-panel{padding:10px}.offer-actions{flex-direction:column}.offer-actions button{width:100%}}
/* V10: pre-employment offer candidates */
.prehire-note{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:14px 16px;border:1px solid #cfe0fb;background:linear-gradient(135deg,#f5f9ff,#eef5ff);border-radius:16px;box-shadow:0 8px 24px rgba(16,61,130,.05)}
.prehire-note strong{display:block;font-size:13px;color:#103d75}.prehire-note span{display:block;font-size:10.5px;color:var(--muted);margin-top:3px}.prehire-note .doc-badge{margin-top:0;white-space:nowrap}
.offer-saved-panel{margin-top:18px}.offer-row-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mini-action{padding:7px 10px;font-size:10px;border-radius:9px}.offer-form-grid select{height:40px}
@media(max-width:760px){.prehire-note{align-items:flex-start;flex-direction:column}.offer-row-actions{min-width:180px}}

/* V11: company stamp + upcoming arrivals */
.offer-signatures{align-items:end}
.company-signature-block{min-height:150px;position:relative}
.offer-stamp{display:block;width:118px;height:118px;object-fit:contain;margin:8px 0 -2px 8px;filter:saturate(1.05)}
.signature-caption{position:relative;z-index:2}
.arrivals-panel{margin-top:16px;overflow:hidden}
.arrivals-list{display:grid;gap:9px;padding-top:2px}
.arrival-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto 135px;gap:11px;align-items:center;border:1px solid #edf1f6;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:13px;padding:10px 11px;text-align:left;cursor:pointer;transition:.2s ease;color:var(--text)}
.arrival-row:hover{transform:translateY(-2px);border-color:#c7dbfb;box-shadow:0 9px 22px rgba(27,75,145,.08)}
.arrival-avatar{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#dce9ff,#eef5ff);display:grid;place-items:center;color:#1c5fc8;font-weight:800;font-size:11px}
.arrival-person strong,.arrival-date strong{display:block;font-size:11.5px}
.arrival-person small,.arrival-date small{display:block;color:var(--muted);font-size:9.5px;margin-top:3px}
.arrival-date{text-align:right;white-space:nowrap}
.arrival-visa{justify-self:end}
.arrival-empty{padding:24px 10px;text-align:center;color:var(--muted);display:grid;gap:5px;place-items:center}
.arrival-empty>span{font-size:27px}.arrival-empty strong{font-size:12px;color:var(--text)}.arrival-empty small{font-size:10px}
@media(max-width:760px){.arrival-row{grid-template-columns:38px 1fr auto}.arrival-visa{display:none}.arrival-date{grid-column:2/4;text-align:left;margin-top:-3px}.offer-stamp{width:105px;height:105px}.company-signature-block{min-height:138px}}

/* V13: offer-number normalization + arrival calendar + flight tickets */
.arrival-calendar-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 16px rgba(22,48,88,.04);padding:16px;margin-bottom:18px}
.arrival-calendar-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.arrival-calendar-head h3{margin:0;font-size:15px}.arrival-calendar-head p{margin:4px 0 0;color:var(--muted);font-size:10.5px}
.arrival-calendar-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.arrival-calendar-controls select{height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 10px;color:var(--text);font-weight:700;font-size:11px}
.arrival-cal-week,.arrival-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.arrival-cal-week{border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;overflow:hidden}.arrival-cal-week span{background:#f6f8fb;padding:9px;text-align:center;color:#6f8096;font-weight:800;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;border-right:1px solid var(--line)}.arrival-cal-week span:last-child{border-right:0}
.arrival-cal-grid{border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:0 0 12px 12px;overflow:hidden}.arrival-cal-day{min-height:108px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:.18s}.arrival-cal-day:hover{background:#fbfdff}.arrival-cal-day.has-arrivals{background:linear-gradient(180deg,#fff,#f6faff)}.arrival-cal-day.muted-day{background:#f8fafc}.arrival-cal-num{font-weight:800;font-size:11px;color:#3b4d65;margin-bottom:6px}.arrival-cal-events{display:grid;gap:5px}.arrival-cal-chip{width:100%;border:0;border-radius:8px;background:#eaf2ff;color:#1558bc;padding:6px 7px;display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:9.5px;font-weight:800;text-align:left;cursor:pointer;transition:.16s}.arrival-cal-chip:hover{transform:translateY(-1px);background:#dfeaff}.arrival-cal-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.arrival-cal-chip b{font-size:10px}.arrival-cal-events small{color:var(--muted);font-size:9px}
.arrival-table-panel{margin-top:18px}.ticket-missing{font-size:10px;color:var(--muted)}
.existing-ticket{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid #cfe0fb;background:#f7fbff;border-radius:12px;padding:10px}.existing-ticket>span{width:36px;height:36px;border-radius:10px;background:#e8f2ff;display:grid;place-items:center}.existing-ticket strong{display:block;font-size:11px}.existing-ticket small{display:block;color:var(--muted);font-size:9.5px;margin-top:2px}.ticket-empty{border:1px dashed #c7d5e7;border-radius:11px;padding:12px;color:var(--muted);font-size:10.5px;background:#fafcff}
@media(max-width:1050px){.arrival-calendar-head{flex-direction:column}.arrival-calendar-controls{width:100%}.arrival-cal-day{min-height:96px}.arrival-cal-chip{font-size:9px}}
@media(max-width:760px){.arrival-cal-week,.arrival-cal-grid{min-width:720px}.arrival-calendar-card{overflow:auto}.arrival-calendar-head{min-width:720px}.arrival-cal-day{min-height:92px}.arrival-calendar-controls{gap:6px}}

/* V14: clearer arrival editing + company-wise dashboard summary */
.company-summary-panel{margin:0 0 20px}.company-summary-head{gap:18px;align-items:flex-start}.summary-mini-kpis{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.summary-mini-kpis span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#f4f8ff;border:1px solid #dce8fb;color:#526987;font-size:10px;font-weight:700}.summary-mini-kpis b{font-size:13px;color:#17345e}.company-summary-table{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}.company-summary-table table{min-width:920px}.company-summary-table td,.company-summary-table th{text-align:center}.company-summary-table td:first-child,.company-summary-table th:first-child{text-align:left}.company-total{display:inline-grid;place-items:center;min-width:34px;height:28px;padding:0 9px;border-radius:9px;background:#eaf2ff;color:#145ecf;font-weight:800}.summary-pill{display:inline-grid;place-items:center;min-width:32px;height:26px;padding:0 8px;border-radius:999px;font-weight:800;font-size:10px}.summary-pill.good{background:#e6f8f1;color:#0d8d62}.summary-pill.warn{background:#fff3df;color:#bd7000}.summary-pill.neutral{background:#f1efff;color:#6955bf}
.travel-manager{margin:0 0 18px;border-color:#d5e4fb;background:linear-gradient(180deg,#fff,#fbfdff)}.travel-manager-body{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:10px;padding:0 18px 18px}.travel-manager-body select{height:42px;border:1px solid var(--line);border-radius:11px;padding:0 12px;background:#fff;color:var(--text);outline:none}.travel-manager-body select:focus{border-color:#7aa9f5;box-shadow:0 0 0 4px #eaf2ff}.arrival-actions{display:flex;gap:6px;flex-wrap:wrap}.arrival-actions .primary-action{border-color:#9fc1f8;color:#0b66ff;background:#eef5ff}.arrival-doc-actions{display:flex;gap:5px;flex-wrap:wrap}.ticket-upload-btn{white-space:nowrap;background:#f7fbff}.arrival-table-panel table{min-width:1280px}.arrival-cal-chip{position:relative}.arrival-cal-chip:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(24,83,168,.12)}
@media(max-width:1100px){.travel-manager-body{grid-template-columns:1fr 1fr}.travel-manager-body select{grid-column:1/-1}.summary-mini-kpis{justify-content:flex-start}}
@media(max-width:760px){.company-summary-head{display:block}.summary-mini-kpis{margin-top:10px}.travel-manager-body{grid-template-columns:1fr}.travel-manager-body select{grid-column:auto}.travel-manager-body button{width:100%}}
.company-total.visa-total{background:#eef9f5;color:#0c8d65}

/* V15: foolproof arrival upload actions */
.travel-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px 18px}
.travel-action-card{appearance:none;border:1px solid #dbe5f3;background:#fff;border-radius:16px;padding:16px;display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer;transition:.2s ease;color:#0b1f3a;box-shadow:0 6px 18px rgba(28,70,130,.05)}
.travel-action-card:hover{transform:translateY(-2px);border-color:#9bbcf7;box-shadow:0 12px 28px rgba(28,70,130,.11)}
.travel-action-card>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf4ff;font-size:21px;flex:0 0 auto}
.travel-action-card strong{display:block;font-size:14px;margin-bottom:3px}.travel-action-card small{display:block;color:#6d7d94;line-height:1.35}
.ticket-dropzone{border:1.5px dashed #aac0e3!important;border-radius:14px;padding:16px!important;background:#f8fbff;cursor:pointer;display:grid!important;gap:6px!important}
.ticket-dropzone input{margin-top:6px}.ticket-dropzone span{font-weight:800;color:#15345f}.ticket-dropzone small{color:#718198}
@media(max-width:850px){.travel-action-grid{grid-template-columns:1fr}}

/* V16 - direct editable travel upload workspace */
.travel-inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 18px 18px}.travel-inline-card{border:1px solid #dce6f3;border-radius:16px;background:linear-gradient(180deg,#fff,#f9fbff);padding:16px;display:grid;gap:12px;box-shadow:0 6px 18px rgba(20,50,90,.04)}.travel-inline-title{display:flex;gap:10px;align-items:center;padding-bottom:10px;border-bottom:1px solid var(--line)}.travel-inline-title>span{width:38px;height:38px;border-radius:11px;background:#eaf2ff;display:grid;place-items:center;font-size:18px}.travel-inline-title strong{display:block;font-size:13px}.travel-inline-title small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.travel-inline-card label{font-size:10px;font-weight:800;color:#55708e}.travel-inline-card select,.travel-inline-card input,.travel-inline-card textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);padding:10px 11px;outline:none}.travel-inline-card select,.travel-inline-card input{min-height:42px}.travel-inline-card textarea{resize:vertical}.travel-inline-card select:focus,.travel-inline-card input:focus,.travel-inline-card textarea:focus{border-color:#7aa9f5;box-shadow:0 0 0 4px #eaf2ff}.travel-inline-card .primary-btn{justify-self:start}.inline-current-file{min-height:48px;border:1px dashed #cbd8ea;border-radius:11px;padding:10px;color:var(--muted);font-size:10px;background:#fbfdff}.compact-existing{margin:0}.inline-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:900px){.travel-inline-grid{grid-template-columns:1fr}.inline-date-grid{grid-template-columns:1fr}}

/* V17: searchable, company-filtered flight ticket manager */
.ticket-only-grid{grid-template-columns:minmax(0,1fr)}
.ticket-manager-card{max-width:none}
.ticket-employee-filters{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(300px,1.35fr);gap:12px}
.ticket-employee-filters label{min-width:0}
.ticket-employee-filters input[type="search"]{appearance:none;-webkit-appearance:none}
.field-help{display:block;margin-top:6px;color:var(--muted);font-size:9.5px;font-weight:600}
@media(max-width:760px){.ticket-employee-filters{grid-template-columns:1fr}}

/* ============================================================
   MEHERUN SABI ORIGINAL UI LAYER
   Meherun Sabi distinct visual + motion system
   ============================================================ */
:root{
  --navy:#07255d;--navy2:#0a3e8f;--blue:#119bf3;--blue2:#42b9ff;
  --bg:#eef4fa;--card:#ffffff;--text:#10243d;--muted:#6f8092;--line:#dbe5ef;
  --shadow:0 22px 60px rgba(13,47,86,.10);--radius:22px;
}
body{background:linear-gradient(180deg,#edf4fa 0,#f7fbff 34%,#eef4fa 100%);}
.app-shell{grid-template-columns:286px 1fr;gap:0;}
.sidebar{background:linear-gradient(160deg,#061936 0%,#082d68 58%,#0a4a99 100%);padding:18px 14px;border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 50px rgba(0,33,79,.08)}
.brand-wrap{margin:0 0 16px;padding:8px 8px 18px;border-bottom:1px solid rgba(255,255,255,.1);align-items:center;gap:12px}
.brand-logo{width:124px;height:80px;border-radius:16px;padding:5px;background:#fff;object-fit:contain;box-shadow:0 12px 26px rgba(0,0,0,.12)}
.brand-title{font-size:14px;letter-spacing:.01em}.brand-sub{color:#a7c9ec}
.nav{gap:4px;overflow:auto;padding-right:3px}.nav-item{border-radius:14px;padding:11px 12px;color:#c5dbef;position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:transparent;transition:.25s}.nav-item:hover{transform:none;background:rgba(255,255,255,.07)}.nav-item.active{background:rgba(255,255,255,.11);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);color:#fff}.nav-item.active:before{background:#57c6ff}.nav-item span{font-size:16px;color:#73ccff}
.topbar{min-height:92px;background:rgba(250,253,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(197,214,231,.72);padding:16px 30px}.topbar h1{font-size:24px;letter-spacing:-.03em}.topbar p{font-size:11px}.search-global{border-radius:999px;background:#fff;box-shadow:0 6px 22px rgba(23,60,96,.06);border-color:#dce7f1}.primary-btn{background:linear-gradient(135deg,#0d4fbb,#149df1);box-shadow:0 12px 24px rgba(17,126,222,.22);border-radius:12px}.ghost-btn{background:#edf5fb;border:1px solid #d6e5f2;color:#173b62}.content{padding:30px 30px 64px;max-width:1720px;width:100%;margin:0 auto}
.kpi{border:0;border-radius:22px;box-shadow:0 8px 30px rgba(20,61,99,.07);position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;top:-40px;background:radial-gradient(circle,#b8e7ff 0,transparent 70%);opacity:.65}.kpi:hover{transform:translateY(-3px) scale(1.006)}.kpi .icon{background:linear-gradient(135deg,#eef8ff,#daf0ff);color:#0a64bf}.kpi .value{letter-spacing:-.04em}
.panel,.table-wrap,.toolbar{border:0;box-shadow:0 8px 30px rgba(20,61,99,.065);border-radius:22px}.table-wrap{overflow:auto}.table-wrap th{background:#f0f6fb;color:#53708c}.table-wrap tr:hover td{background:#f8fcff}.action-btn{border-radius:10px;background:#f8fbfe}.employee-cell .emp-avatar{border-radius:50%;background:linear-gradient(135deg,#d5efff,#edf8ff);color:#095dae}
.page-enter{animation:msPageIn .42s cubic-bezier(.2,.75,.2,1) both}@keyframes msPageIn{from{opacity:0;transform:translateY(10px) scale(.995);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
.animated-card{animation:msCardIn .46s cubic-bezier(.2,.8,.2,1) both}@keyframes msCardIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Login: different motion language */
.login-screen{background:linear-gradient(145deg,#051b3b,#073b7e 62%,#0c6ab0);place-items:stretch;padding:0;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)}
.login-screen:before{background:radial-gradient(circle at 30% 35%,rgba(44,187,255,.28),transparent 30%),linear-gradient(115deg,transparent 0 47%,rgba(255,255,255,.045) 47% 48%,transparent 48% 100%);background-size:auto,80px 80px;mask-image:none;animation:msGridMove 18s linear infinite}@keyframes msGridMove{to{background-position:0 0,320px 0}}
.login-screen:after{content:"MEHERUN SABI";position:absolute;left:7vw;bottom:9vh;color:rgba(255,255,255,.09);font-size:clamp(46px,7vw,110px);font-weight:800;letter-spacing:-.04em;white-space:nowrap}
.login-orb{filter:blur(25px);animation:msOrbit 12s ease-in-out infinite}.orb-a{width:420px;height:420px;left:4%;top:9%;background:#17b1ff55}.orb-b{width:260px;height:260px;right:34%;bottom:8%;background:#6dd7ff3d}@keyframes msOrbit{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(34px,-24px,0) scale(1.08)}}
.login-card{align-self:center;justify-self:center;width:min(470px,90%);border-radius:32px;padding:32px;background:rgba(255,255,255,.97);box-shadow:0 40px 120px rgba(0,19,46,.35);animation:msLoginIn .7s cubic-bezier(.16,.9,.2,1) both}@keyframes msLoginIn{from{opacity:0;transform:translateX(38px) scale(.97)}to{opacity:1;transform:none}}
.login-brand img{width:130px;height:76px}.login-copy h1{font-size:36px;letter-spacing:-.045em}.login-form input{border-radius:14px;background:#f9fcff}.secure-note{background:#f1f8fd;border-radius:12px;padding:10px}

/* New module headers */
.module-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;background:linear-gradient(120deg,#ffffff,#f1f9ff);border:1px solid #dceaf5;border-radius:26px;padding:24px 26px;margin-bottom:18px;position:relative;overflow:hidden;box-shadow:0 12px 34px rgba(21,69,111,.07)}
.module-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-95px;background:radial-gradient(circle,#99dcff66,transparent 68%)}.module-hero h2{margin:3px 0 5px;font-size:24px;letter-spacing:-.04em}.module-hero p{margin:0;color:var(--muted);font-size:11px;max-width:720px;line-height:1.6}.module-hero .primary-btn{position:relative;z-index:2;white-space:nowrap}.commercial-hero{border-left:4px solid #28b4ff}.invoice-hero{border-left:4px solid #0d65c7}.accounts-hero{border-left:4px solid #17a58b}.payroll-hero{border-left:4px solid #6e70da}.compact-kpis{margin-bottom:18px}.compact-kpis .kpi{padding:15px 17px}.compact-kpis .kpi .value{font-size:23px}.commercial-dashboard-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.commercial-dashboard-strip button{border:0;background:linear-gradient(145deg,#0b2d63,#0e5fad);color:#fff;border-radius:20px;padding:18px;text-align:left;cursor:pointer;box-shadow:0 12px 28px rgba(8,48,97,.16);transition:.22s}.commercial-dashboard-strip button:hover{transform:translateY(-3px)}.commercial-dashboard-strip span,.commercial-dashboard-strip small{display:block}.commercial-dashboard-strip span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#b9dcf7}.commercial-dashboard-strip strong{display:block;font-size:21px;margin:5px 0}.commercial-dashboard-strip small{color:#dceefe;font-size:9.5px}.account-grid{margin-bottom:18px}.account-open-list{display:grid;gap:9px}.account-mini-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e2ebf3;border-radius:12px}.account-mini-row span{display:grid}.account-mini-row small{color:var(--muted);font-size:9.5px;margin-top:2px}.account-mini-row b{color:#0a5eae}

/* Commercial document editor */
.business-modal{width:min(1540px,97vw);height:min(92vh,1040px);max-height:92vh;padding:0;overflow:hidden;border-radius:26px}.business-modal.open{display:block}.business-modal-shell{display:grid;grid-template-columns:minmax(460px,.85fr) minmax(620px,1.15fr);height:100%}.business-editor-pane{display:flex;flex-direction:column;min-width:0;background:#f8fbfd;border-right:1px solid #dce7f0}.business-head{padding:20px 22px;background:#fff;border-bottom:1px solid #dde7ef}.business-form{overflow:auto;padding:18px 20px 96px;display:grid;gap:14px}.business-form-section{background:#fff;border:1px solid #dfeaf3;border-radius:18px;padding:16px;box-shadow:0 6px 18px rgba(22,62,97,.04)}.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#0e68bb;font-weight:800;margin-bottom:12px}.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.business-grid label{font-size:10px;font-weight:800;color:#57718b}.business-grid input,.business-grid select,.business-grid textarea{width:100%;margin-top:6px;border:1px solid #d9e5ef;border-radius:11px;padding:10px 11px;background:#fbfdff;outline:none;color:var(--text)}.business-grid input,.business-grid select{height:41px}.business-grid textarea{resize:vertical}.business-grid input:focus,.business-grid select:focus,.business-grid textarea:focus,.line-editor-row input:focus,.line-editor-row textarea:focus{border-color:#5ab7eb;box-shadow:0 0 0 3px #e1f4ff}.business-grid .full-span{grid-column:1/-1}.section-title-inline{display:flex;justify-content:space-between;align-items:center}.mini-add{border:1px solid #cfe1ef;background:#eff8fe;color:#0b6bb9;border-radius:10px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}.line-editor-head,.line-editor-row{display:grid;gap:7px;align-items:center}.quote-head,.quote-line{grid-template-columns:28px minmax(220px,1fr) 70px 70px 96px 96px 28px}.invoice-head,.invoice-line{grid-template-columns:28px minmax(180px,1.3fr) minmax(150px,1fr) 66px 90px 86px 28px}.line-editor-head{padding:0 0 6px;color:#7890a7;font-size:8.5px;font-weight:800;text-transform:uppercase}.line-editor-row{padding:9px 0;border-top:1px solid #edf2f6}.line-editor-row input,.line-editor-row textarea{width:100%;border:1px solid #dce6ef;border-radius:9px;padding:8px;background:#fff;outline:none;font-size:10px}.line-editor-row textarea{resize:vertical}.line-number{font-weight:800;color:#4b6a87}.line-remove{width:28px;height:28px;border:0;border-radius:9px;background:#fff1f1;color:#c74b4b;font-size:18px;cursor:pointer}.sticky-business-actions{position:absolute;bottom:0;left:0;width:42.5%;min-width:460px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-top:1px solid #dbe6ef;padding:13px 20px;display:flex;justify-content:flex-end;gap:9px;z-index:5}.business-preview-pane{background:#dfe9f1;display:flex;flex-direction:column;min-width:0}.preview-toolbar{min-height:68px;background:#fff;border-bottom:1px solid #dbe5ed;padding:12px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.preview-toolbar>div:first-child{display:flex;flex-direction:column;gap:3px}.preview-toolbar strong{font-size:12px}.preview-toolbar span{font-size:9.5px;color:var(--muted)}.preview-actions{display:flex;gap:8px}.document-paper-wrap{overflow:auto;padding:20px;display:grid;place-items:start center}.document-paper{width:210mm;min-height:297mm;background:#fff;box-shadow:0 18px 60px rgba(27,55,78,.18);padding:13mm 13mm 15mm;position:relative;font-family:Arial,sans-serif;color:#13233b;font-size:9.2pt;transform-origin:top center}.doc-accent{height:5mm;background:linear-gradient(90deg,#0b3477 0 58%,#129df0 58%);position:absolute;left:0;right:0;top:0}.doc-head{display:flex;justify-content:space-between;gap:16mm;align-items:flex-start;padding-top:7mm}.doc-head img{width:72mm;height:31mm;object-fit:contain;object-position:left center}.doc-title{text-align:right;min-width:60mm}.doc-title h1{font-size:21pt;color:#0b3477;margin:0 0 3mm}.doc-title span,.doc-title strong{display:block;margin:1mm 0}.doc-rule{height:.3mm;background:#dbe5f1;margin:4mm 0}.doc-party-grid{display:grid;grid-template-columns:1fr 1fr;gap:5mm}.doc-party{background:#eef7fd;border-radius:3mm;padding:4mm;display:flex;flex-direction:column;gap:1.2mm;min-height:30mm}.doc-party>b{color:#0b3477;font-size:9pt}.doc-party strong{font-size:8.7pt}.doc-party span{font-size:8.1pt;color:#4f6074}.doc-subject{border:1px solid #d4deea;border-radius:2mm;padding:2.6mm 4mm;margin:3mm 0;display:grid;grid-template-columns:30mm 1fr}.doc-subject b{color:#0b3477}.doc-table{width:100%;border-collapse:collapse;margin:4mm 0;min-width:0}.doc-table th{background:#0b3477;color:white;padding:2.6mm 2mm;font-size:7.7pt;position:static}.doc-table td{border:1px solid #cfd9e6;padding:3mm 2mm;text-align:center;vertical-align:middle;font-size:7.8pt}.doc-table td:nth-child(2){text-align:left}.invoice-doc-table th{font-size:6.4pt}.invoice-doc-table td{font-size:6.8pt;padding:2.3mm 1.4mm}.doc-bottom-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:6mm}.doc-section-label{font-weight:800;color:#0b3477;margin:2mm 0}.terms-label{margin-top:8mm}.doc-bottom-grid p,.doc-bottom-grid li,.doc-bottom-grid em{font-size:8pt}.doc-totals{border:1px solid #d1ddea;align-self:start}.doc-totals>div{display:flex;justify-content:space-between;padding:2.3mm 3mm;border-bottom:1px solid #dce5ee}.doc-totals .grand{background:#0b3477;color:#fff;border-radius:2mm;font-size:9pt}.doc-sign{border-top:1px solid #d5dfeb;margin-top:5mm;padding-top:3mm;display:flex;align-items:flex-end;gap:8mm}.doc-sign>div{display:flex;flex-direction:column;gap:1mm}.doc-sign img{width:30mm;height:25mm;object-fit:contain}.doc-footer{position:absolute;left:0;right:0;bottom:0;background:#0b3477;border-top:2mm solid #129df0;color:#fff;padding:3mm 13mm;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:5mm;font-size:7.2pt}.doc-footer span{display:flex;flex-direction:column}.doc-footer small{opacity:.72;margin-top:1mm}

@media(max-width:1250px){.business-modal-shell{grid-template-columns:1fr 1fr}.document-paper{transform:scale(.82);margin-bottom:-53mm}.sticky-business-actions{width:50%}.commercial-dashboard-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.app-shell{grid-template-columns:245px 1fr}.business-modal{width:97vw}.business-modal-shell{grid-template-columns:1fr}.business-editor-pane{height:54%;border-right:0;border-bottom:1px solid #dce7f0}.business-preview-pane{height:46%}.sticky-business-actions{position:sticky;width:auto;min-width:0;left:auto}.document-paper{transform:scale(.7);margin-bottom:-89mm}.login-screen{grid-template-columns:1fr}.login-screen:after{display:none}}
@media(max-width:760px){.app-shell{display:block}.content{padding:18px 14px 45px}.topbar{padding:12px 14px}.module-hero{align-items:flex-start;flex-direction:column;padding:18px}.module-hero .primary-btn{width:100%}.commercial-dashboard-strip{grid-template-columns:1fr 1fr}.business-grid{grid-template-columns:1fr}.business-grid .full-span{grid-column:auto}.quote-head,.invoice-head{display:none}.quote-line,.invoice-line{grid-template-columns:26px 1fr 70px}.quote-line textarea,.invoice-line textarea{grid-column:2/4}.business-modal{height:96vh;max-height:96vh}.document-paper{transform:scale(.55);margin-bottom:-134mm}.login-card{width:min(430px,92vw)}}

.document-create-btn{min-width:210px;font-size:12px;padding:13px 18px;box-shadow:0 14px 30px rgba(13,92,188,.24)}
.document-create-btn:hover{transform:translateY(-2px)}

/* V3: always-visible quotation & invoice builders, matching Offer Letter workflow */
.inline-business-builder{display:grid;grid-template-columns:minmax(500px,.92fr) minmax(620px,1.08fr);background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);margin:0 0 22px;min-height:760px}.inline-editor-pane{min-width:0;background:linear-gradient(180deg,#f8fbff,#f3f8fc);border-right:1px solid #dce7f0}.inline-builder-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 22px;background:#fff;border-bottom:1px solid #dfe7ef}.inline-builder-head h3{font-size:20px;margin:5px 0 4px}.inline-builder-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.inline-business-form{overflow:visible;padding:18px 20px 22px}.inline-business-builder .sticky-business-actions{position:sticky;bottom:0;left:auto;width:auto;min-width:0;margin:4px -16px -16px;padding:13px 16px;background:rgba(255,255,255,.96);border-top:1px solid #dce6ef;z-index:4}.inline-preview-pane{min-width:0;background:#e9f0f6;display:flex;flex-direction:column}.inline-preview-pane .document-paper-wrap{max-height:820px;overflow:auto;padding:20px}.saved-business-panel{margin-top:20px}.saved-business-panel .panel-head{padding:18px 20px}.saved-business-panel .table-wrap{border-radius:0 0 18px 18px}.inline-business-builder .business-form-section{box-shadow:0 5px 16px rgba(18,58,94,.045)}
@media(max-width:1350px){.inline-business-builder{grid-template-columns:1fr}.inline-editor-pane{border-right:0;border-bottom:1px solid #dce7f0}.inline-preview-pane .document-paper{transform:scale(.84);margin-bottom:-48mm}.inline-preview-pane .document-paper-wrap{max-height:760px}.inline-business-builder .sticky-business-actions{position:sticky}}
@media(max-width:760px){.inline-business-builder{border-radius:18px}.inline-builder-head{flex-direction:column}.inline-builder-head .ghost-btn{width:100%}.inline-preview-pane .document-paper{transform:scale(.54);margin-bottom:-136mm}.inline-preview-pane .document-paper-wrap{padding:12px;max-height:520px}}

/* V4: prominent PDF actions for quotation and invoice */
.module-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.download-pdf-primary{background:linear-gradient(135deg,#0b5ad7,#149bf2)!important;box-shadow:0 10px 22px rgba(20,120,230,.22)}.sticky-business-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.download-btn{white-space:nowrap}
@media(max-width:900px){.module-hero-actions{width:100%;justify-content:flex-start}.module-hero-actions .primary-btn,.module-hero-actions .ghost-btn{flex:1;min-width:140px}}
