:root{--color-charcoal: #1F2328;--color-hivis: #F2C230;--color-plaster: #F5F3EE;--color-white: #FFFFFF;--color-pass: #2F6F4E;--color-ink-secondary: #5A5E63;--color-border: #D8D4CB;--color-error: #B3261E;--font-display: "Archivo", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--min-touch-target: 44px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-plaster);color:var(--color-charcoal);line-height:1.5;font-size:16px;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.brand-font{font-family:var(--font-display);font-weight:800;color:var(--color-charcoal);letter-spacing:-.02em}.app-container{width:100%;max-width:820px;margin:0 auto;padding:16px;min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:var(--color-charcoal);color:var(--color-white);padding:18px 20px;border-radius:var(--radius-md);margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.brand-logo{font-size:24px;display:flex;align-items:center;gap:6px}.brand-logo .accent{color:var(--color-hivis)}.brand-tagline{font-size:13px;color:#c9c5bc;font-family:var(--font-body);font-weight:400}.progress-container{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:20px}.progress-track{width:100%;height:8px;background-color:var(--color-plaster);border-radius:4px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;background-color:var(--color-hivis);transition:width .3s ease}.step-nav{display:flex;justify-content:space-between;font-size:12px;color:var(--color-ink-secondary);font-weight:600;overflow-x:auto;gap:8px;padding-bottom:4px}.step-indicator{cursor:pointer;white-space:nowrap;padding:2px 6px;border-radius:var(--radius-sm)}.step-indicator.active{color:var(--color-charcoal);border-bottom:2px solid var(--color-hivis)}.step-indicator.completed{color:var(--color-pass)}.card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;margin-bottom:20px}@media(max-width:480px){.card{padding:16px}}.form-group{margin-bottom:18px}.form-label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--color-charcoal)}.form-help{font-size:13px;color:var(--color-ink-secondary);margin-bottom:8px}.form-input,.form-select,.form-textarea{width:100%;min-height:var(--min-touch-target);padding:10px 14px;font-family:var(--font-body);font-size:15px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-white);color:var(--color-charcoal);outline:none;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-charcoal)}.pill-group{display:flex;flex-wrap:wrap;gap:8px}.pill-option{display:flex;align-items:center;min-height:var(--min-touch-target);padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-white);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:500;transition:all .2s}.pill-option.active{border-color:var(--color-charcoal);background-color:var(--color-charcoal);color:var(--color-white)}.pill-option input{display:none}.alert-box{padding:14px 18px;border-radius:var(--radius-sm);margin-bottom:18px;font-size:14px;display:flex;gap:12px;align-items:flex-start}.alert-warning{background-color:#fef7e6;border-left:4px solid var(--color-hivis);color:var(--color-charcoal)}.alert-danger{background-color:#fdf2f2;border-left:4px solid var(--color-error);color:var(--color-error)}.alert-success{background-color:#eef8f2;border-left:4px solid var(--color-pass);color:var(--color-pass)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--min-touch-target);padding:10px 20px;font-family:var(--font-body);font-size:15px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;border:none;text-decoration:none;transition:opacity .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-hivis);color:var(--color-charcoal)}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background-color:transparent;color:var(--color-charcoal);border:1px solid var(--color-charcoal)}.btn-secondary:hover:not(:disabled){background-color:#1f23280d}.btn-danger{background-color:var(--color-error);color:var(--color-white)}.action-bar{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}@media(max-width:480px){.action-bar{flex-direction:column-reverse}.action-bar .btn{width:100%}}.prefill-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;font-size:13px;color:var(--color-ink-secondary)}.btn-sm{min-height:32px;padding:4px 10px;font-size:12px;background-color:var(--color-white);border:1px solid var(--color-border);color:var(--color-charcoal);border-radius:var(--radius-sm);cursor:pointer}.btn-sm:hover{background-color:var(--color-plaster)}.nested-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:14px;margin-bottom:12px;background-color:#fafafa}.main-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;width:100%;border-top:1px solid rgba(255,255,255,.15);padding-top:12px}.nav-link{color:#c9c5bc;text-decoration:none;font-size:14px;font-weight:500;padding:6px 12px;border-radius:var(--radius-sm);transition:all .2s}.nav-link:hover{color:var(--color-white);background-color:#ffffff14}.nav-link.active{color:var(--color-charcoal);background-color:var(--color-hivis);font-weight:600}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}.dash-card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;display:flex;flex-direction:column;justify-content:space-between}.dash-card h3{font-size:18px;margin-bottom:8px}.dash-card p{font-size:14px;color:var(--color-ink-secondary);margin-bottom:16px;flex-grow:1}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.badge-red{background-color:#fdf2f2;color:var(--color-error);border:1px solid #FCA5A5}.badge-amber{background-color:#fef7e6;color:#92400e;border:1px solid #FCD34D}.badge-green{background-color:#eef8f2;color:var(--color-pass);border:1px solid #A7F3D0}.data-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:12px}.data-table th,.data-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{background-color:#fafafa;font-weight:600;color:var(--color-charcoal)}.data-table tr:hover td{background-color:#f9f9f8}@media(max-width:600px){.data-table th,.data-table td{padding:8px 6px;font-size:13px}}.portal-shell{min-height:100vh;display:flex;flex-direction:column}.portal-topbar{background-color:var(--color-charcoal);color:var(--color-white)}.portal-topbar-inner{max-width:1280px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.portal-brand{display:flex;align-items:center;gap:16px;min-width:0}.portal-brand img{display:block}.portal-tagline{font-size:13px;color:#c9c5bc;display:none}.portal-user{display:flex;align-items:center;gap:12px;min-width:0}.portal-email{font-size:13px;color:#c9c5bc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.portal-signout{background:transparent;color:var(--color-white);border:1px solid #5A5E63;cursor:pointer;min-height:36px}.portal-signout:hover{border-color:#c9c5bc}.portal-nav-top{display:flex;gap:4px;overflow-x:auto;padding:0 16px 12px;max-width:1280px;margin:0 auto;scrollbar-width:none}.portal-nav-top::-webkit-scrollbar{display:none}.portal-nav-top .nav-link{white-space:nowrap;flex-shrink:0}.portal-body{width:100%;max-width:1280px;margin:0 auto;padding:20px 16px 48px;flex:1}.portal-sidebar{display:none}.portal-main{min-width:0}@media(min-width:720px){.portal-tagline{display:inline}.portal-topbar-inner{padding:14px 24px}.portal-nav-top{padding:0 24px 12px}.portal-body{padding:28px 24px 64px}}@media(min-width:1024px){.portal-nav-top{display:none}.portal-topbar-inner{padding:16px 32px}.portal-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;padding:32px 32px 72px}.portal-sidebar{display:block;position:sticky;top:24px;align-self:start}.portal-sidebar nav{display:flex;flex-direction:column;gap:2px}}.side-link{display:block;padding:10px 14px;border-radius:var(--radius-sm);color:var(--color-charcoal);text-decoration:none;font-size:15px;font-weight:500;border-left:3px solid transparent}.side-link:hover{background-color:#ece9e1}.side-link.active{background-color:var(--color-white);border-left-color:var(--color-hivis);font-weight:600;box-shadow:0 1px 0 var(--color-border)}.dash-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.dash-header h1{font-size:28px;margin-bottom:4px}.dash-header p{color:var(--color-ink-secondary)}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.dash-panels{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:1024px){.dash-header h1{font-size:34px}.dash-panels{grid-template-columns:1fr 1fr}}.dash-panel{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;min-width:0}.dash-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.dash-panel-head h3{font-size:18px}.dash-panel-head a{font-size:14px;font-weight:600;color:var(--color-charcoal)}.dash-list{list-style:none}.dash-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--color-border);font-size:14px}.dash-list li:first-child{border-top:none}.dash-list .item-main{min-width:0}.dash-list .item-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-list .item-sub{font-size:13px;color:var(--color-ink-secondary)}.dash-empty{font-size:14px;color:var(--color-ink-secondary);padding:8px 0}.profile-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:1100px){.profile-grid{grid-template-columns:1fr 1fr}}.portal-main .form-group,.portal-main .form-help{max-width:720px}.profile-grid .card>div{flex-direction:column!important;align-items:flex-start!important}@media(max-width:480px){.portal-email{display:none}}
