@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-primary:"Plus Jakarta Sans", sans-serif;--font-title:"Outfit", sans-serif;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--text-primary:#334155;--text-secondary:#475569;--text-tertiary:#94a3b8;--primary:#0d9488;--primary-hover:#0f766e;--primary-light:#ccfbf1;--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--danger:#ef4444;--danger-light:#fee2e2;--info:#0ea5e9;--info-light:#e0f2fe;--primary-gradient:linear-gradient(135deg, #0d9488 0%, #0ea5e9 50%, #2563eb 100%);--secondary-gradient:linear-gradient(135deg, #3b82f6 0%, #0ea5e9 100%);--success-gradient:linear-gradient(135deg, #10b981 0%, #059669 100%);--danger-gradient:linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--gold-gradient:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--glass-bg:#ffffffb3;--glass-border:#ffffff80;--border:#e2e8f0;--border-subtle:#eef2f6;--shadow-sm:0 2px 8px -1px #0000000d;--shadow-md:0 10px 25px -5px #0000000d, 0 8px 16px -6px #0000000d;--shadow-lg:0 20px 40px -15px #0d94881f;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--sidebar-width:260px;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-snap:cubic-bezier(.4, 0, .2, 1)}@media (width>=769px){:root.sidebar-collapsed{--sidebar-width:72px}}@media (width<=768px){:root{--sidebar-width:0px}}[data-theme=dark]{--bg-primary:#090d16;--bg-secondary:#111827;--bg-tertiary:#1f2937;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#4b5563;--primary:#2dd4bf;--primary-hover:#14b8a6;--primary-light:#14b8a626;--success:#34d399;--success-light:#34d3991a;--warning:#fbbf24;--warning-light:#fbbf241a;--danger:#f87171;--danger-light:#f871711a;--info:#38bdf8;--info-light:#38bdf81a;--glass-bg:#111827b3;--glass-border:#ffffff0d;--border:#ffffff14;--border-subtle:#ffffff0a;--shadow-sm:0 4px 12px #0003;--shadow-md:0 12px 30px #0000004d;--shadow-lg:0 24px 50px #0006}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--bg-primary);color:var(--text-primary);transition:var(--transition-smooth);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);letter-spacing:-.02em;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseBorder{0%{box-shadow:0 0 #0d948866}70%{box-shadow:0 0 0 10px #0d948800}to{box-shadow:0 0 #0d948800}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes blobDriftA{0%{transform:translate(0)scale(1)}25%{transform:translate(18vw,10vh)scale(1.3)}50%{transform:translate(8vw,24vh)scale(.8)}75%{transform:translate(-12vw,12vh)scale(1.15)}to{transform:translate(0)scale(1)}}@keyframes blobDriftB{0%{transform:translate(0)scale(1)}25%{transform:translate(-20vw,14vh)scale(.78)}50%{transform:translate(-6vw,-16vh)scale(1.35)}75%{transform:translate(14vw,-8vh)scale(1.05)}to{transform:translate(0)scale(1)}}@keyframes blobDriftC{0%{transform:translate(0)scale(1.1)}33%{transform:translate(16vw,-14vh)scale(.85)}66%{transform:translate(-14vw,-6vh)scale(1.25)}to{transform:translate(0)scale(1.1)}}.login-blob{filter:blur(70px);opacity:.7;will-change:transform;border-radius:50%;position:absolute}@media (prefers-reduced-motion:reduce){.login-blob{animation:none!important}}button,select,input,textarea{font-family:inherit}.btn-primary{background:var(--primary-gradient);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);border:none;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex;box-shadow:0 4px 12px #0d948833}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 6px 20px #0d948859}.btn-primary:active{transform:translateY(0)}.split-btn{align-items:stretch;display:inline-flex}.split-btn .btn-primary:hover{filter:brightness(1.04);transform:none;box-shadow:0 4px 12px #0d948833}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.btn-secondary:hover{background-color:var(--primary-light);color:var(--primary);border-color:var(--primary)}.btn-danger{background:var(--danger-gradient);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-smooth);border:none;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444433}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:var(--transition-smooth);padding:24px}.glass-card:hover{box-shadow:var(--shadow-lg);border-color:#0d948840}.subtle-box{background-color:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:8px;padding:14px}.card-title{border-bottom:1px solid var(--glass-border);align-items:center;gap:8px;margin:0;padding-bottom:10px;font-size:.95rem;font-weight:800;display:flex}.form-group{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.form-control{background:var(--bg-secondary);border:1px solid var(--text-tertiary);border-radius:var(--radius-sm);color:var(--text-primary);transition:var(--transition-smooth);outline:none;width:100%;padding:12px}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-control::placeholder{color:var(--text-tertiary)}.otp-form .form-control:focus{box-shadow:none;border-color:#e2e8f0}@media (width<=480px){.otp-form .form-control,.otp-form input,.otp-form .corp-suffix{font-size:.85rem}}.badge{text-transform:uppercase;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-pending{background-color:var(--warning-light);color:var(--warning)}.badge-approved,.badge-auto-approved{background-color:var(--success-light);color:var(--success)}.badge-rejected{background-color:var(--danger-light);color:var(--danger)}.badge-cancelled{background-color:var(--bg-tertiary);color:var(--text-tertiary)}.badge-processing{background-color:var(--info-light);color:var(--info)}.badge-reimbursed{background-color:var(--primary);color:#fff}.app-container{width:100vw;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;gap:32px;max-width:1600px;height:100vh;margin:0;padding:40px;display:flex;overflow-y:auto}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.trip-planner-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1.8fr);gap:24px;display:grid}@media (width<=1024px){.trip-planner-grid{grid-template-columns:minmax(0,1fr)}}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.dash-main-grid{grid-template-columns:1.6fr 1fr;gap:24px;display:grid}@media (width<=1024px){.dash-main-grid{grid-template-columns:1fr}}.card-hover{transition:transform .2s,box-shadow .2s}.card-hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)!important}.quick-actions-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.mobile-stat-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.claim-section-list{flex-direction:column;display:flex}.claim-section+.claim-section{border-top:1px solid var(--border-subtle)}.claim-section-head{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:14px 0;display:flex}.claim-section-head:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.claim-section-label{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.claim-section-title{font-family:var(--font-title);letter-spacing:-.01em;color:var(--text-primary);font-size:.98rem;font-weight:700}.claim-section--attention .claim-section-title{color:var(--danger)}.claim-section-summary{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:500;overflow:hidden}.claim-section-mark{flex:0 0 16px;justify-content:center;align-items:center;display:flex}.claim-section--done .claim-section-mark{color:var(--success)}.claim-section-dot{background:var(--danger);border-radius:999px;width:8px;height:8px}.claim-section-caret{color:var(--text-tertiary);flex-shrink:0;transition:transform .18s}.claim-section.is-open .claim-section-caret{transform:rotate(180deg)}.claim-section-body{flex-direction:column;gap:16px;padding:4px 0 22px;animation:.18s ease-out claim-section-open;display:flex}@keyframes claim-section-open{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.claim-section-body{animation:none}.claim-section-caret{transition:none}}.claims-page .claim-section-body .form-group label{letter-spacing:.04em;color:var(--text-tertiary);font-size:.72rem;font-weight:700}.claims-page .claim-section-body .form-control{padding:14px;font-size:.9rem}.claims-page .claim-section-body .form-group{margin-bottom:0}.claim-totals{border:1px solid var(--glass-border);background:var(--bg-secondary);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.claim-totals-seg{text-align:left;cursor:pointer;border:none;border-left:1px solid var(--border-subtle);background:0 0;flex-direction:column;gap:3px;min-width:0;padding:8px 12px;display:flex}.claim-totals-seg:first-child{border-left:none}.claim-totals-seg:hover{background:var(--bg-tertiary)}.claim-totals-seg:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.claims-page .claim-totals-seg:not(:disabled):active{background:var(--border-subtle);transform:none}.claims-page .claim-totals-seg.is-active:not(:disabled):active{background:var(--primary-light);filter:brightness(.97)}.claim-totals-seg.is-active{background:var(--primary-light);border-left-color:#0000}.claim-totals-seg.is-active+.claim-totals-seg{border-left-color:#0000}.claim-totals-label{letter-spacing:.04em;text-transform:uppercase;min-width:0;color:var(--text-tertiary);align-items:center;gap:5px;font-size:.68rem;font-weight:700;line-height:1.2;display:flex}.claim-totals-label-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.claim-totals-icon{color:var(--text-tertiary);flex-shrink:0;display:inline-flex}.claim-totals-figure{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.claim-totals-amount{font-size:1.05rem;font-weight:800;line-height:1.15}.claim-totals-unit{color:var(--text-tertiary);margin-right:4px;font-size:.7rem;font-weight:600}.claim-totals-count{color:var(--text-tertiary);white-space:nowrap;font-size:.7rem;line-height:1.2}.claim-totals-seg.is-empty .claim-totals-amount{color:var(--text-tertiary);font-weight:700}.claim-totals-seg.is-empty .claim-totals-icon{opacity:.5}@media (width<=768px){.claim-totals{grid-template-columns:1fr}.claim-totals-seg{border-left:none;border-top:1px solid var(--border-subtle)}.claim-totals-seg:first-child{border-top:none}.claim-totals-seg.is-active,.claim-totals-seg.is-active+.claim-totals-seg{border-top-color:#0000}}.claim-purpose-chip{cursor:pointer;border:1px solid var(--primary);background-color:var(--primary-light);color:var(--primary);border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.claim-purpose-chip:hover{background-color:var(--primary);color:#fff}.claim-purpose-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.claims-page button{transition:transform .26s var(--ease-spring), box-shadow .26s var(--ease-spring), background-color .16s ease, border-color .16s ease, color .16s ease, filter .16s ease}.claims-page button:not(:disabled):active{transition-duration:60ms;transition-timing-function:var(--ease-snap);transform:scale(.96)}.claims-page .claim-section-head:not(:disabled):active{transform:scale(.995)}.claims-page .claim-section-caret{transition:transform .28s var(--ease-spring)}.claims-page .btn-primary:hover:not(:disabled),.claims-page .btn-danger:hover:not(:disabled){transform:translateY(-2px)}.claims-page .btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px -6px #0f172a2e}@media (prefers-reduced-motion:reduce){.claims-page button,.claims-page .claim-section-caret{transition:none}.claims-page button:not(:disabled):active,.claims-page .claim-section-head:not(:disabled):active,.claims-page .btn-primary:hover:not(:disabled),.claims-page .btn-danger:hover:not(:disabled),.claims-page .btn-secondary:hover:not(:disabled){transform:none}}.field-group{flex-direction:column;gap:10px;display:flex}.field-group--ruled{border-top:1px solid var(--border-subtle);padding-top:14px}.field-group-head{flex-direction:column;gap:2px;display:flex}.field-group-caption{color:var(--text-secondary);font-size:.78rem;font-weight:700}.field-group-note{color:var(--text-tertiary);font-size:.75rem;font-weight:500}.field-group-fields{flex-direction:column;gap:16px;display:flex}.info-panel{border:1px solid var(--border-subtle);border-left:3px solid var(--border);background-color:var(--bg-tertiary);border-radius:10px;flex-direction:column;gap:8px;padding:12px;font-size:.8rem;display:flex}.info-panel--success{border-left-color:var(--success)}.info-panel--warning{border-left-color:var(--warning)}.info-panel--danger{border-left-color:var(--danger)}.info-panel-title{color:var(--text-secondary);align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:flex}.info-panel--success .info-panel-title{color:var(--success)}.info-panel--warning .info-panel-title{color:var(--warning)}.info-panel--danger .info-panel-title{color:var(--danger)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=768px){.app-container{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px));flex-direction:column}.main-content{gap:20px;height:auto;padding:16px;overflow-y:visible}.dashboard-grid{grid-template-columns:1fr;gap:16px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px}.glass-card{padding:16px}.stack-mobile{grid-template-columns:1fr!important}.claims-page.dashboard-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}.claims-page.dashboard-grid>*{min-width:0}.claims-page .glass-card{gap:14px!important}.claims-page form,.claims-page .stack-mobile{gap:12px!important}.claims-page .form-group{margin-bottom:0!important}.claims-page .form-control{padding:10px 12px!important}.claim-section-head{padding:12px 0}.claim-section-body{padding:2px 0 16px;gap:12px!important}.claims-page .claim-section-footer{bottom:calc(70px + env(safe-area-inset-bottom,0px));z-index:5;border-top:1px solid var(--glass-border);background:var(--bg-secondary);padding:10px 0;position:sticky}.trip-planner-grid form{gap:12px!important}.trip-planner-grid .form-group{margin-bottom:0!important}.trip-planner-grid .form-group label{font-size:.75rem}.trip-planner-grid .form-control{padding:10px!important;font-size:.8rem!important}}@media (width<=480px){.stat-grid{grid-template-columns:1fr}}.table-container{border-radius:var(--radius-sm);border:1px solid var(--glass-border);width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{background-color:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--glass-border);padding:16px;font-size:.85rem;font-weight:700}.custom-table td{border-bottom:1px solid var(--glass-border);color:var(--text-primary);padding:16px;font-size:.9rem}.custom-table tr:hover{background-color:#0d948805}.ledger-row-clickable:hover{background-color:#0d94880d}.ledger-row-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.row-actions-menu-item:hover,.row-actions-menu-item:focus-visible{background-color:#0d948814;outline:none}.chat-container{border-radius:var(--radius-sm);background:var(--bg-tertiary);flex-direction:column;gap:12px;padding:8px;display:flex;overflow-y:auto}.chat-bubble{background:var(--bg-secondary);box-shadow:var(--shadow-sm);border-radius:12px;max-width:85%;padding:10px 14px}.chat-bubble-meta{color:var(--text-tertiary);justify-content:space-between;margin-bottom:4px;font-size:.7rem;font-weight:600;display:flex}.chat-bubble-text{color:var(--text-primary);font-size:.85rem}.payslip-box{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-width:720px;margin:0 auto;padding:32px;font-family:Inter,sans-serif;box-shadow:0 20px 25px -5px #0000001a}.payslip-doc-header{flex-direction:column;align-items:center;gap:16px;padding-bottom:24px;display:flex}.payslip-doc-logo{object-fit:contain;align-self:flex-start;width:auto;height:40px}.payslip-doc-title{text-align:center;color:#1e293b;font-size:1.15rem;font-weight:800}.payslip-itemized{border-collapse:collapse;color:#1e293b;width:100%;font-size:.85rem}.payslip-itemized td{vertical-align:top;border:1px solid #cbd5e1;padding:9px 14px}.payslip-sec-head td{color:#fff;text-transform:uppercase;letter-spacing:.02em;background:#3f3f46;border-color:#3f3f46;font-size:.72rem;font-weight:700}.payslip-row-label{background:#e5e7eb;width:58%;font-weight:700}.payslip-row-note{color:#4b5563;margin-top:2px;font-size:.7rem;font-weight:500;display:block}.payslip-sub td{color:#475569;font-size:.8rem}.payslip-amt{white-space:nowrap}
