:root{--bg:#f0f5f8;--bg-strong:#e2ecf1;--bg-page:linear-gradient(180deg,var(--bg) 0%,#fafcfe 100%);--ink:#306180;--ink-soft:#4a7a97;--ink-muted:#8ba8bb;--line:rgba(48,97,128,0.10);--line-strong:rgba(48,97,128,0.18);--accent:#4175e9;--accent-light:rgba(65,117,233,0.12);--accent-deep:#2a5bbf;--card:rgba(255,255,255,0.82);--card-solid:#fefeff;--success:#1fa66e;--success-bg:rgba(79,239,164,0.14);--danger:#b63a3a;--danger-bg:rgba(182,58,58,0.10);--warning:#b5850a;--warning-bg:rgba(181,133,10,0.10);--info:#4175e9;--info-bg:rgba(65,117,233,0.10);--shadow-sm:0 2px 8px rgba(48,97,128,0.06);--shadow:0 8px 24px rgba(48,97,128,0.08);--shadow-lg:0 18px 48px rgba(48,97,128,0.12);--radius-sm:10px;--radius:16px;--radius-lg:24px;--radius-xl:28px;--radius-full:999px;--font-display:"Aptos Display","Segoe UI Variable Display","Trebuchet MS",sans-serif;--font-body:"Aptos","Segoe UI Variable","Segoe UI",system-ui,sans-serif;--font-ar:"IBM Plex Sans Arabic","Noto Sans Arabic","Segoe UI",system-ui,sans-serif;--sidebar-width:260px;--topbar-height:64px;--transition:0.2s ease}html[dir=rtl]{--font-body:var(--font-ar);--font-display:var(--font-ar)}*,:after,:before{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(65,117,233,.08),transparent 35%),radial-gradient(circle at bottom right,rgba(79,239,164,.06),transparent 30%),var(--bg-page);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.03em;margin:0}ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}.auth-layout{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:24px;gap:24px;min-height:100vh;width:min(1200px,calc(100% - 32px));margin:0 auto;padding:32px 0;align-items:center}.auth-hero{border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-lg);border-radius:var(--radius-xl);padding:48px;display:flex;flex-direction:column;gap:20px}.auth-hero h1{font-size:2.8rem;line-height:1.1}.auth-hero .hero-text{color:var(--ink-soft);font-size:1.1rem;line-height:1.6}.auth-signals{display:grid;grid-gap:14px;gap:14px;padding:32px;border:1px solid var(--line);background:linear-gradient(135deg,var(--accent-light),rgba(79,239,164,.06)),var(--card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-xl)}.signal-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;background:rgba(255,255,255,.55)}.signal-card span{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--accent-deep)}.signal-card strong{display:block;font-size:1.6rem;margin-top:8px}.dashboard-layout{min-height:100vh}.sidebar{position:fixed;top:0;inset-inline-start:0;width:var(--sidebar-width);height:100vh;background:var(--card-solid);-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;padding:20px 12px;gap:4px;overflow-y:auto;z-index:40}.sidebar-brand{padding:8px 12px 20px;display:flex;align-items:center;gap:10px}.sidebar-brand-logo{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:14px}.sidebar-brand-name{font-weight:600;font-size:1.1rem}.sidebar-brand-tag{font-size:.7rem;color:var(--ink-muted)}.sidebar-section{margin-top:16px;padding:0 12px}.sidebar-section-title{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:var(--ink-muted);margin-bottom:8px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:.9rem;color:var(--ink-soft);transition:background var(--transition),color var(--transition);cursor:pointer;border:none;background:none;width:100%;text-align:start;font-family:inherit}.sidebar-link:hover{background:var(--bg-strong);color:var(--ink)}.sidebar-link-active{background:var(--accent-light);color:var(--accent-deep);font-weight:600}.sidebar-link svg{width:20px;height:20px;flex-shrink:0}.sidebar-link-badge{-webkit-margin-start:auto;margin-inline-start:auto;background:var(--danger);color:white;font-size:.7rem;font-weight:600;padding:2px 7px;border-radius:var(--radius-full)}.sidebar-spacer{flex:1 1}.sidebar-user{border-top:1px solid var(--line);padding-top:16px;margin-top:8px;display:flex;align-items:center;gap:10px;padding-inline:12px}.sidebar-user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-strong);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;color:var(--accent-deep)}.sidebar-user-info{flex:1 1;min-width:0}.sidebar-user-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.72rem;color:var(--ink-muted)}.main-content{-webkit-margin-start:var(--sidebar-width);margin-inline-start:var(--sidebar-width);padding:28px 32px 48px;min-height:100vh}.page-header{margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header h1{font-size:1.8rem}.page-header-actions{display:flex;gap:10px;align-items:center}.panel{border:1px solid var(--line);background:var(--card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);padding:24px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;gap:12px}.eyebrow,.panel-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--accent-deep)}.panel-actions{display:flex;gap:8px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px}.grid-2,.grid-3{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:18px;gap:18px}.stack{display:grid;grid-gap:12px;gap:12px}.stack-lg{display:grid;grid-gap:20px;gap:20px}.row,.row-between{display:flex;gap:12px;align-items:center}.row-between{justify-content:space-between}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-full);font:inherit;font-weight:500;cursor:pointer;text-decoration:none;transition:transform var(--transition),opacity var(--transition),background var(--transition);white-space:nowrap}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button-loading,.button:disabled{opacity:.6;cursor:wait;pointer-events:none}.button-primary{background:linear-gradient(135deg,var(--accent) 0,var(--accent-deep) 100%);color:white}.button-secondary{background:var(--bg-strong)}.button-ghost,.button-secondary{color:var(--ink);border:1px solid var(--line)}.button-ghost{background:transparent}.button-ghost:hover{background:var(--bg-strong)}.button-danger{background:var(--danger);color:white}.button-success{background:var(--success);color:white}.button-sm{padding:8px 14px;font-size:.82rem}.button-md{padding:11px 18px;font-size:.9rem}.button-lg{padding:14px 24px;font-size:1rem}.button-icon{display:flex;align-items:center}.spinner{display:inline-block;width:16px;height:16px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.field{display:grid;grid-gap:6px;gap:6px}.field-label{font-size:.85rem;font-weight:500;color:var(--ink)}.field-required{color:var(--danger);-webkit-margin-start:3px;margin-inline-start:3px}.field-hint{font-size:.8rem;color:var(--ink-muted)}.field-error{font-size:.8rem;color:var(--danger)}.input{width:100%;border-radius:var(--radius);border:1px solid var(--line);padding:12px 16px;background:rgba(255,255,255,.74);font:inherit;color:var(--ink);transition:border-color var(--transition),box-shadow var(--transition)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.input-error{border-color:var(--danger)}.input-error:focus{box-shadow:0 0 0 3px var(--danger-bg)}.input::placeholder{color:var(--ink-muted)}.textarea{min-height:100px;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2352606d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;-webkit-padding-end:36px;padding-inline-end:36px}html[dir=rtl] .select{background-position:left 14px center}[dir=rtl] .text-end{text-align:start}[dir=rtl] .confirm-actions{justify-content:flex-start}[dir=rtl] .detail-grid dd,[dir=rtl] .sidebar-link,[dir=rtl] .stepper-step{text-align:right}[dir=rtl] .page-header-actions{flex-direction:row-reverse}.badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--radius-full);font-size:.78rem;font-weight:500;text-transform:capitalize;background:rgba(22,33,45,.06)}.badge-active,.badge-approved,.badge-paid,.badge-resolved,.badge-succeeded{background:var(--success-bg);color:var(--success)}.badge-cancelled,.badge-closed,.badge-defaulted,.badge-failed,.badge-late,.badge-rejected{background:var(--danger-bg);color:var(--danger)}.badge-draft,.badge-inprogress,.badge-open,.badge-pending,.badge-submitted{background:var(--warning-bg);color:var(--warning)}.badge-needsrevision{background:var(--info-bg);color:var(--info)}.badge-overdue{background:var(--danger-bg);color:var(--danger)}.stat-card{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-lg);padding:20px}.stat-card-header{display:flex;justify-content:space-between;align-items:center}.stat-card-label{font-size:.8rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em}.stat-card-icon{color:var(--accent)}.stat-card-value{font-size:1.8rem;font-weight:700;margin-top:8px;font-family:var(--font-display)}.stat-card-trend{font-size:.78rem;color:var(--success);margin-top:4px}.record-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:rgba(255,255,255,.55);transition:border-color var(--transition)}.record-card:hover{border-color:var(--line-strong)}.record-card-active{outline:2px solid rgba(189,95,45,.28)}.record-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.detail-grid dt{color:var(--ink-muted);font-size:.82rem}.detail-grid dd{margin:4px 0 0;font-weight:600}.stepper{display:flex;gap:0;align-items:flex-start;padding:8px 0}.stepper-step{display:flex;flex-direction:column;align-items:center;flex:1 1;position:relative;text-align:center}.stepper-indicator{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;border:2px solid var(--line);color:var(--ink-muted);background:var(--card-solid);z-index:1;transition:all var(--transition)}.stepper-step-active .stepper-indicator{border-color:var(--accent);color:white;background:linear-gradient(135deg,var(--accent),var(--accent-deep))}.stepper-step-completed .stepper-indicator{border-color:var(--success);color:var(--success);background:var(--success-bg)}.stepper-content{margin-top:8px}.stepper-label{font-size:.82rem;font-weight:500;display:block}.stepper-desc{font-size:.72rem;color:var(--ink-muted);display:block}.stepper-line{position:absolute;top:18px;inset-inline-start:calc(50% + 18px);width:calc(100% - 36px);height:2px;background:var(--line)}.stepper-step-completed .stepper-line{background:var(--success)}.timeline{display:grid;grid-gap:0;gap:0;position:relative}.timeline-item{display:flex;gap:14px;padding-bottom:20px;position:relative}.timeline-item:before{content:"";position:absolute;inset-inline-start:11px;top:28px;bottom:0;width:2px;background:var(--line)}.timeline-item:last-child:before{display:none}.timeline-dot{width:24px;height:24px;border-radius:50%;background:var(--bg-strong);border:2px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;z-index:1}.timeline-dot-approved,.timeline-dot-paid,.timeline-dot-succeeded{border-color:var(--success);background:var(--success-bg)}.timeline-dot-cancelled,.timeline-dot-failed,.timeline-dot-rejected{border-color:var(--danger);background:var(--danger-bg)}.timeline-dot-pending,.timeline-dot-submitted{border-color:var(--warning);background:var(--warning-bg)}.timeline-body{flex:1 1;min-width:0}.timeline-title{font-weight:600;font-size:.9rem}.timeline-desc{color:var(--ink-soft);font-size:.82rem;margin-top:2px}.timeline-date{color:var(--ink-muted);font-size:.75rem;margin-top:4px}.file-upload{border:2px dashed var(--line);border-radius:var(--radius);transition:border-color var(--transition)}.file-upload:hover{border-color:var(--accent)}.file-upload-error{border-color:var(--danger)}.file-upload-trigger{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px;width:100%;background:none;border:none;cursor:pointer;color:var(--ink-soft);font:inherit}.file-upload-trigger:hover{color:var(--accent)}.file-upload-preview{display:flex;align-items:center;gap:10px;padding:14px 16px;color:var(--ink-soft)}.file-upload-name{flex:1 1;font-size:.9rem;font-weight:500;color:var(--ink)}.file-upload-remove{background:none;border:none;cursor:pointer;color:var(--ink-muted);padding:4px;border-radius:50%;transition:background var(--transition)}.file-upload-remove:hover{background:var(--danger-bg);color:var(--danger)}.file-upload-progress{height:3px;background:var(--bg-strong);border-radius:2px;margin:0 16px 12px}.file-upload-progress-bar{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.tabs{gap:2px;border-bottom:2px solid var(--line);margin-bottom:20px}.tab,.tabs{display:flex}.tab{padding:10px 18px;background:none;font:inherit;font-size:.88rem;font-weight:500;color:var(--ink-muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--transition),border-color var(--transition);align-items:center;gap:6px}.tab:hover{color:var(--ink)}.tab-active{color:var(--accent-deep);border-bottom-color:var(--accent)}.tab-count{background:var(--bg-strong);padding:1px 7px;border-radius:var(--radius-full);font-size:.72rem}.tab-active .tab-count{background:var(--accent-light)}.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(22,33,45,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .15s ease}.modal{background:var(--card-solid);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:calc(100vh - 48px);overflow-y:auto;animation:slideUp .2s ease}.modal-sm{width:min(400px,100%)}.modal-md{width:min(560px,100%)}.modal-lg{width:min(720px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-header h3{font-size:1.1rem}.modal-close{background:none;border:none;cursor:pointer;color:var(--ink-muted);padding:4px;border-radius:50%;transition:background var(--transition)}.modal-close:hover{background:var(--bg-strong)}.modal-body{padding:24px}.confirm-message{color:var(--ink-soft);margin-bottom:20px;line-height:1.6}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast-container{position:fixed;bottom:20px;inset-inline-end:20px;z-index:200;display:grid;grid-gap:8px;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:var(--radius);background:var(--ink);color:white;font-size:.88rem;box-shadow:var(--shadow-lg);pointer-events:auto;animation:slideUp .2s ease;max-width:380px}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-warning{background:var(--warning);color:var(--ink)}.toast-info{background:var(--info)}.toast span{flex:1 1}.toast-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.7);padding:2px}.toast-close:hover{color:white}.skeleton{background:linear-gradient(90deg,var(--bg-strong) 25%,rgba(255,255,255,.4) 50%,var(--bg-strong) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-card{display:grid;grid-gap:12px;gap:12px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:40px 20px}.empty-state-icon{color:var(--ink-muted);margin-bottom:12px}.empty-state-icon svg{width:48px;height:48px}.empty-state-title{font-weight:600;font-size:1rem}.empty-state-desc{color:var(--ink-soft);font-size:.88rem;margin-top:6px}.empty-state-action{margin-top:16px}.marketing-page{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.subtle{color:var(--ink-soft)}.hint,.muted{color:var(--ink-muted)}.hint{font-size:.82rem}.success-text{color:var(--success)}.error-text{color:var(--danger);font-size:.85rem}.warning-text{color:var(--warning)}.text-center{text-align:center}.text-end{text-align:end}.font-mono{font-family:SF Mono,Consolas,monospace}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mb-md{margin-bottom:16px}.gap-sm{gap:8px}.sidebar-toggle{display:none;position:fixed;top:14px;inset-inline-start:14px;z-index:50;background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;cursor:pointer}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:39}@media (max-width:900px){.auth-layout{grid-template-columns:1fr;padding:20px 0}.auth-signals{display:none}.dashboard-layout{grid-template-columns:1fr}.sidebar{transform:translateX(-100%);transition:transform .25s ease}html[dir=rtl] .sidebar{transform:translateX(100%)}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-toggle{display:flex}.sidebar-open~.sidebar-overlay{display:block}.main-content{-webkit-margin-start:0;margin-inline-start:0;padding:20px 16px 40px;padding-top:calc(var(--topbar-height) + 8px)}.detail-grid,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.stepper{flex-direction:column;gap:0}.stepper-line{display:none}.stepper-step{flex-direction:row;text-align:start;gap:12px;padding:8px 0}.page-header,.record-row{flex-direction:column;align-items:flex-start}}.payment-table-wrapper,.schedule-table-wrapper{overflow-x:auto}.payment-table,.schedule-table{width:100%;border-collapse:collapse;font-size:.88rem}.payment-table th,.schedule-table th{text-align:start;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);padding:10px 12px;border-bottom:2px solid var(--line)}.payment-table td,.schedule-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}.payment-table tbody tr:hover,.schedule-table tbody tr:hover{background:var(--bg-strong)}.payment-cards-mobile{display:none}@media (max-width:768px){.payment-table-wrapper,.schedule-table-wrapper{display:none}.payment-cards-mobile{display:grid;grid-gap:12px;gap:12px}.payment-table,.schedule-table{font-size:.82rem}}@media (max-width:600px){.auth-hero{padding:28px 20px}.auth-hero h1{font-size:2rem}.panel{padding:18px}.modal,.panel{border-radius:var(--radius)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:12px}.row-between{flex-direction:column;align-items:stretch;gap:8px}.row-between>*{width:100%}.confirm-actions{flex-direction:column}.confirm-actions>.button{width:100%}}.lp-page{overflow-x:hidden}.material-symbols-outlined{font-family:Material Symbols Outlined;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.lp-page{background:#f5fafd}