*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-deepest:#050c07;--bg-deep:#080f09;--bg-mid:#0e1810;--bg-light:#162019;--bg-card:#111a12;--border:#1e3022;--border-light:#243828;--green:#3aad65;--green-bright:#4dc97a;--green-light:#6ddb95;--green-dim:#2d8f52;--green-pale:#1a5433;--text-primary:#e8f2eb;--text-secondary:#acc8b2;--text-muted:#b8d4be;--success:#4dc97a;--danger:#e05c5c;--warning:#c8a020;--radius-sm:4px;--radius:8px;--radius-lg:14px;--shadow:0 8px 40px #0009;--shadow-sm:0 2px 10px #0006;--transition:.2s ease}html{-webkit-font-smoothing:antialiased;font-size:16px}body{background:var(--bg-deepest);color:var(--text-primary);min-height:100vh;font-family:DM Sans,sans-serif;line-height:1.6;overflow-x:hidden}a{color:var(--green-bright);transition:color var(--transition);text-decoration:none}a:hover{color:var(--green-light)}.auth-page{background:radial-gradient(ellipse 70% 60% at 15% 85%,#2d8f5214 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 85% 15%,#0e1810e6 0%,transparent 65%),var(--bg-deepest);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(60deg,#0000,#0000 60px,#2d8f5206 60px 61px),repeating-linear-gradient(-60deg,#0000,#0000 60px,#2d8f5206 60px 61px);position:absolute;inset:0}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow),0 0 0 1px #2d8f521a;z-index:1;padding:48px 44px;animation:.4s both fadeUp;position:relative}.auth-card:before{content:"";background:linear-gradient(90deg,transparent,var(--green),var(--green-bright),transparent);border-radius:var(--radius-lg)var(--radius-lg)0 0;height:3px;position:absolute;top:0;left:0;right:0}.auth-logo{text-align:center;margin-bottom:36px;display:block}.auth-logo img{width:auto;height:52px}.auth-logo-text{color:var(--green-bright);letter-spacing:.06em;text-transform:uppercase;font-family:Raleway,sans-serif;font-size:24px;font-weight:800}.auth-logo-sub{letter-spacing:.3em;color:var(--text-muted);text-transform:uppercase;margin-top:6px;font-family:DM Sans,sans-serif;font-size:10px;font-weight:400;display:block}.auth-title{color:var(--text-primary);margin-bottom:6px;font-family:Raleway,sans-serif;font-size:22px;font-weight:700}.auth-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:14px}.portal-wrapper{min-height:100vh;display:flex}.sidebar{background:var(--bg-card);border-right:1px solid var(--border);z-index:100;flex-direction:column;flex-shrink:0;width:264px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border);padding:22px 20px}.sidebar-brand img{width:auto;height:38px;display:block}.brand-name{color:var(--green-bright);letter-spacing:.06em;text-transform:uppercase;font-family:Raleway,sans-serif;font-size:16px;font-weight:800;line-height:1.2}.brand-sub{letter-spacing:.2em;color:var(--text-muted);text-transform:uppercase;margin-top:3px;font-size:9px}.sidebar-user{border-bottom:1px solid var(--border);background:var(--bg-light);padding:14px 20px}.sidebar-user .user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.sidebar-user .user-role{color:var(--text-muted);letter-spacing:.05em;text-transform:capitalize;margin-top:2px;font-size:11px}.sidebar-nav{flex:1;padding:14px 10px;overflow-y:auto}.nav-section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);padding:12px 12px 6px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;margin-bottom:2px;padding:11px 14px;font-size:14px;font-weight:400;text-decoration:none;display:flex}.nav-item svg{opacity:.7;flex-shrink:0;width:18px;height:18px}.nav-item:hover{color:var(--text-primary);background:#2d8f5212}.nav-item.active{color:var(--green-bright);background:#2d8f5226;font-weight:500}.nav-item.active svg{opacity:1}.sidebar-footer{border-top:1px solid var(--border);padding:14px 10px}.main-content{flex-direction:column;flex:1;min-height:100vh;margin-left:264px;display:flex}.main-header{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;padding:16px 36px;display:flex;position:sticky;top:0}.page-title{color:var(--text-primary);letter-spacing:.02em;font-family:Raleway,sans-serif;font-size:20px;font-weight:700}.main-body{flex:1;padding:36px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:24px;padding:28px}.card-title{color:var(--text-primary);border-bottom:1px solid var(--border);letter-spacing:.02em;margin-bottom:18px;padding-bottom:14px;font-family:Raleway,sans-serif;font-size:16px;font-weight:700}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:28px;display:grid}.stat-tile{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;position:relative;overflow:hidden}.stat-tile:before{content:"";background:linear-gradient(90deg,var(--green-dim),transparent);height:2px;position:absolute;top:0;left:0;right:0}.stat-tile .tile-label{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:10px;font-weight:600}.stat-tile .tile-value{color:var(--text-primary);font-family:Raleway,sans-serif;font-size:30px;font-weight:700}.stat-tile .tile-sub{color:var(--text-muted);margin-top:6px;font-size:12px}.form-group{margin-bottom:20px}.form-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.form-control{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition);outline:none;padding:12px 16px;font-family:DM Sans,sans-serif;font-size:15px}.form-control:focus{border-color:var(--green-dim);box-shadow:0 0 0 3px #2d8f5226}.form-control::placeholder{color:var(--text-muted)}.form-control:disabled{opacity:.5;cursor:not-allowed}select.form-control{cursor:pointer;appearance:none;background-color:#1e2d22;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23acc8b2' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.form-hint{color:var(--text-muted);margin-top:6px;font-size:12px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.btn{border-radius:var(--radius-sm);letter-spacing:.03em;cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:13px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg,var(--green)0%,var(--green-dim)100%);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,var(--green-bright)0%,var(--green)100%);color:#fff;transform:translateY(-1px);box-shadow:0 4px 18px #2d8f5266}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-full{width:100%}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0;padding:10px 20px}.btn-ghost:hover{border-color:var(--green-dim);color:var(--green-bright)}.btn-danger{color:var(--danger);background:#e05c5c1f;border:1px solid #e05c5c40;padding:10px 20px}.btn-danger:hover{background:#e05c5c38}.btn-sm{padding:8px 16px;font-size:13px}.alert{border-radius:var(--radius-sm);border-left:3px solid;margin-bottom:20px;padding:13px 16px;font-size:14px}.alert-error{border-color:var(--danger);color:#f0a0a0;background:#e05c5c14}.alert-success{border-color:var(--success);color:#80d8a8;background:#3aad651a}.alert-info{border-color:var(--green-bright);color:var(--green-light);background:#2d8f521a}.badge{letter-spacing:.05em;text-transform:uppercase;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-draft{color:var(--text-muted);background:#acc8b21a}.badge-submitted{color:var(--green-bright);background:#2d8f5226}.badge-review{color:var(--warning);background:#c8a02026}.badge-approved{color:var(--success);background:#3aad6533}.badge-declined{color:var(--danger);background:#e05c5c26}.badge-conditional{color:var(--green-light);background:#2d8f521a}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:left;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding:10px 16px;font-size:10px;font-weight:600}tbody tr{border-bottom:1px solid var(--border);transition:background var(--transition)}tbody tr:hover{background:#2d8f520a}tbody td{color:var(--text-primary);vertical-align:middle;padding:14px 16px}tbody tr:last-child{border-bottom:none}.step-indicator{justify-content:center;align-items:center;gap:0;margin-bottom:40px;padding:4px 0;display:flex;overflow-x:auto}.step-item{flex-shrink:0;align-items:center;display:flex}.step-circle{border:2px solid var(--border);background:var(--bg-card);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.step-label{color:var(--text-muted);text-align:center;white-space:nowrap;margin-top:6px;font-size:11px}.step-item.active .step-circle{border-color:var(--green-bright);color:var(--green-bright);background:#2d8f5233}.step-item.active .step-label{color:var(--green-bright)}.step-item.completed .step-circle{border-color:var(--green);background:var(--green);color:#fff}.step-item.completed .step-label{color:var(--green-light)}.step-line{background:var(--border);flex-shrink:0;width:40px;height:2px;margin:0 2px 22px}.step-item.completed+.step-item .step-line,.step-line.completed{background:var(--green-dim)}.step-inner{flex-direction:column;align-items:center;display:flex}.divider{text-align:center;margin:20px 0;position:relative}.divider:before{content:"";background:var(--border);height:1px;position:absolute;top:50%;left:0;right:0}.divider span{background:var(--bg-card);color:var(--text-muted);padding:0 12px;font-size:12px;position:relative}.empty-state{text-align:center;color:var(--text-muted);padding:60px 24px}.empty-state svg{opacity:.2;width:48px;height:48px;margin-bottom:16px}.empty-state p{font-size:14px;line-height:1.7}.checkbox-row{border-bottom:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.checkbox-row:last-child{border-bottom:none}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--green-bright);cursor:pointer;flex-shrink:0}.checkbox-row label{cursor:pointer;flex:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@media (max-width:768px){.sidebar{transition:transform .3s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{max-width:100vw;margin-left:0;overflow-x:hidden}.main-body{padding:16px}.main-header{padding:14px 20px}.form-row{grid-template-columns:1fr}.auth-card{padding:36px 24px}.stats-grid{grid-template-columns:1fr 1fr}}.apply-bg{z-index:0;background:var(--bg-deepest);position:fixed;inset:0}.apply-bg-img{opacity:0;background-position:50%;background-size:cover;transition:opacity 1.2s;position:absolute;inset:0}.apply-bg-img.loaded{opacity:1}.apply-bg-overlay{background:#050c0785;position:absolute;inset:0}.apply-wrapper{z-index:1;min-height:100vh;display:flex;position:relative}.apply-content{flex:1;justify-content:center;align-items:flex-start;min-height:100vh;margin-left:264px;padding:60px 40px;display:flex}.apply-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:620px;box-shadow:var(--shadow);background:#111a12eb;padding:44px 48px;position:relative}.apply-card:before{content:"";background:linear-gradient(90deg,transparent,var(--green),var(--green-bright),transparent);border-radius:var(--radius-lg)var(--radius-lg)0 0;height:3px;position:absolute;top:0;left:0;right:0}.intent-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px;display:grid}.intent-card{border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);text-align:left;background:#162019cc;padding:18px 20px}.intent-card:hover{border-color:var(--green-dim);background:#2d8f5214}.intent-card.selected{border-color:var(--green-bright);background:#2d8f521f}.intent-card .intent-icon{margin-bottom:8px;font-size:22px;display:block}.intent-card .intent-label{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.4}.otp-inputs{justify-content:center;gap:10px;margin:32px 0;display:flex}.otp-input{text-align:center;background:var(--bg-deep);border:2px solid var(--border);border-radius:var(--radius);width:52px;height:60px;color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition);outline:none;font-family:Raleway,sans-serif;font-size:24px;font-weight:700}.otp-input:focus{border-color:var(--green-bright);box-shadow:0 0 0 3px #4dc97a33}.otp-input.filled{border-color:var(--green-dim);color:var(--green-bright)}.step-headline{color:var(--text-primary);margin-bottom:10px;font-family:Raleway,sans-serif;font-size:26px;font-weight:800;line-height:1.25}.step-subtext{color:var(--text-secondary);margin-bottom:32px;font-size:15px;line-height:1.65}.journey-step{border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition);align-items:center;gap:12px;padding:9px 14px;font-size:13px;display:flex}.journey-step.active{color:var(--green-bright);background:#2d8f521a;font-weight:500}.journey-step.completed{color:var(--text-secondary)}.journey-dot{border:2px solid var(--border);width:8px;height:8px;transition:all var(--transition);border-radius:50%;flex-shrink:0}.journey-step.active .journey-dot{background:var(--green-bright);border-color:var(--green-bright);box-shadow:0 0 0 3px #4dc97a33}.journey-step.completed .journey-dot{background:var(--green-dim);border-color:var(--green-dim)}.expense-grid{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.expense-row{border-bottom:1px solid var(--border);transition:background var(--transition);grid-template-columns:1fr auto auto 130px;align-items:center;gap:16px;padding:13px 20px;display:grid}.expense-row:last-child{border-bottom:none}.expense-row:hover{background:#2d8f5208}@media (max-width:768px){.apply-content{align-items:flex-start;margin-left:0;padding:20px 16px}.apply-card{padding:32px 24px}.intent-grid{grid-template-columns:1fr}.expense-row{flex-wrap:wrap;grid-template-columns:1fr auto}}.apply-sidebar{background:var(--bg-card);border-right:1px solid var(--border);z-index:100;flex-direction:column;flex-shrink:0;width:264px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.apply-sidebar-brand{border-bottom:1px solid var(--border);padding:22px 20px}.apply-sidebar-nav{flex:1;padding:20px 10px}.apply-sidebar-footer{border-top:1px solid var(--border);padding:16px 20px}.landing-page{text-align:center;background:radial-gradient(ellipse 70% 60% at 15% 85%,#2d8f521f 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 85% 15%,#0e1810e6 0%,transparent 65%),var(--bg-deepest);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.landing-headline{color:var(--text-primary);max-width:800px;margin-bottom:24px;font-family:Raleway,sans-serif;font-size:clamp(32px,5vw,56px);font-weight:800;line-height:1.15}.landing-headline span{color:var(--green-bright)}.landing-sub{color:var(--text-secondary);max-width:560px;margin-bottom:48px;font-size:18px;line-height:1.7}.process-steps{flex-wrap:wrap;justify-content:center;gap:32px;margin-bottom:48px;display:flex}.process-step{flex-direction:column;align-items:center;gap:12px;max-width:140px;display:flex}.process-step-icon{border:1px solid var(--green-dim);background:#2d8f521f;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:flex}.process-step-label{color:var(--text-secondary);text-align:center;font-size:13px;line-height:1.4}
