:root{--analytic-primary:#0d6081;--analytic-primary-hover:#0c5674;--analytic-primary-active:#0b4f6a;--analytic-primary-soft:#eaf2f5;--brand-dark:#474749;--brand-off-white:#eaeddd;--surface:#fff;--page-background:#f6f8f8;--text-muted:#656569;--border-default:#4747492e;--border-strong:#47474952;--success:#327a2d;--success-soft:#edf6eb;--warning:#8a6500;--warning-soft:#fff7df;--danger:#c2063d;--danger-soft:#fcebf0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--shadow-subtle:0 2px 8px #4747490f;color:var(--brand-dark);background:var(--page-background);font-synthesis:none;font-family:Montserrat,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,.button-link{border:1px solid var(--analytic-primary);border-radius:var(--radius-md);min-height:44px;color:var(--surface);background:var(--analytic-primary);cursor:pointer;justify-content:center;align-items:center;padding:10px 16px;font-size:.9375rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}button:hover,.button-link:hover{border-color:var(--analytic-primary-hover);background:var(--analytic-primary-hover)}button:active,.button-link:active{border-color:var(--analytic-primary-active);background:var(--analytic-primary-active)}button:disabled{cursor:wait;opacity:.56}:is(a,button,input,select,textarea):focus-visible{outline-offset:2px;outline:3px solid #0d608152}.app-shell{min-height:100vh}.app-header{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:88px;padding:var(--space-2) clamp(var(--space-4), 4vw, var(--space-12));border-bottom:1px solid var(--border-default);background:var(--surface);display:flex}.brand,.header-actions,.service-status,.primary-nav{align-items:center;display:flex}.brand{gap:var(--space-3);min-width:0;color:inherit;text-decoration:none}.brand-logo{object-fit:contain;width:auto;height:68px;display:block}.brand-divider{background:var(--border-default);width:1px;height:28px}.product-name{color:var(--brand-dark);letter-spacing:.01em;white-space:nowrap;font-size:1rem;font-weight:700}.header-actions{justify-content:flex-end;gap:var(--space-6)}.service-status{gap:var(--space-2);color:var(--text-muted);white-space:nowrap;margin:0;font-size:.8125rem;font-weight:500}.status-icon{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 3px var(--success-soft);border-radius:50%}.primary-nav{gap:var(--space-1)}.primary-nav a{min-height:40px;padding:var(--space-2) var(--space-3);color:var(--brand-dark);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.primary-nav a:hover{color:var(--analytic-primary);background:var(--analytic-primary-soft)}.primary-nav a[aria-current=page]{border-bottom-color:var(--analytic-primary);color:var(--analytic-primary);font-weight:700}.app-main{width:min(100% - 32px,1152px);padding:clamp(var(--space-6), 5vw, 64px) 0;margin:0 auto}.page-card,.page-placeholder{max-width:100%;padding:clamp(var(--space-6), 4vw, var(--space-8));border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-subtle)}.page-placeholder{max-width:672px}.page-card h1,.page-placeholder h1{color:var(--brand-dark);letter-spacing:-.02em;margin:0;font-size:clamp(1.75rem,4vw,2.375rem);font-weight:700;line-height:1.15}.page-card h2{margin:var(--space-8) 0 var(--space-3);color:var(--brand-dark);font-size:1.125rem;font-weight:700}.page-placeholder p,.muted{color:var(--text-muted);line-height:1.6}.muted{margin-top:var(--space-2)}.portal-form,.add-user-form{gap:var(--space-4);margin-top:var(--space-6);display:grid}.portal-form label,.add-user-form label,.filter-label,.workflow-panel label,.attachment-upload label{gap:var(--space-2);color:var(--brand-dark);font-size:.9375rem;font-weight:600;display:grid}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--brand-dark);background:var(--surface);padding:10px 12px;line-height:1.4;transition:border-color .14s,box-shadow .14s}input:focus,select:focus,textarea:focus{border-color:var(--analytic-primary);outline:0;box-shadow:0 0 0 3px #0d608124}textarea{resize:vertical;min-height:112px}.inline-fields{align-items:end;gap:var(--space-2);display:flex}.inline-fields input{flex:1}.inline-fields button{white-space:nowrap}.lookup-result,.completion-result{gap:var(--space-1);padding:var(--space-4);border:1px solid #327a2d47;border-left:4px solid var(--success);border-radius:var(--radius-md);color:#21541d;background:var(--success-soft);display:grid}.lookup-result span{font-size:.875rem}.feedback{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid #0000;margin:0;line-height:1.45}.feedback-error{color:#8a0430;background:var(--danger-soft);border-color:#c2063d47}.feedback-success{color:#21541d;background:var(--success-soft);border-color:#327a2d47}.page-heading{justify-content:space-between;align-items:start;gap:var(--space-4);display:flex}.page-heading p{margin-bottom:0}.button-link{white-space:nowrap}.button-link-secondary,.user-actions button,.attachment-list .button-link-secondary{color:var(--analytic-primary);background:var(--surface)}.button-link-secondary:hover,.user-actions button:hover,.attachment-list .button-link-secondary:hover{color:var(--analytic-primary-active);background:var(--analytic-primary-soft)}.request-list-back{margin-bottom:var(--space-4)}.filter-label{max-width:288px;margin:var(--space-6) 0}.request-list{gap:var(--space-2);display:grid}.request-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--brand-dark);text-decoration:none;transition:border-color .14s,background-color .14s;display:flex}.request-row:hover{background:var(--analytic-primary-soft);border-color:#0d608161}.request-row span{gap:var(--space-1);display:grid}.request-row small,.timeline small{color:var(--text-muted)}.status-badge{border:1px solid var(--border-default);width:max-content;color:var(--brand-dark);background:var(--brand-off-white);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:.8125rem;font-weight:600;line-height:1.2;display:inline-flex}.status-completed{color:#21541d;background:var(--success-soft);border-color:#327a2d47}.status-rejected,.status-cancelled{color:#8a0430;background:var(--danger-soft);border-color:#c2063d47}.status-in_progress,.status-validation{color:var(--warning);background:var(--warning-soft);border-color:#f7b6076b}.timeline{gap:var(--space-4);padding-left:20px;display:grid}.timeline li{gap:var(--space-1);color:var(--brand-dark);display:grid}.dashboard-actions,.action-row,.user-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.dashboard-actions{margin-top:var(--space-6)}.workflow-panel,.generation-preview{gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-6);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--analytic-primary-soft);display:grid}.workflow-panel h2,.generation-preview h2{margin:0}.compact-form{max-width:672px}.compact-form button,.attachment-upload button{width:max-content}.attachment-list{gap:var(--space-2);padding:0;list-style:none;display:grid}.attachment-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--border-default);display:flex}.attachment-upload{gap:var(--space-3);max-width:512px;margin-top:var(--space-4);display:grid}.generation-preview p{margin:0}.generation-preview dl{gap:var(--space-4) var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.generation-preview dl div{gap:var(--space-1);display:grid}.generation-preview dt{color:var(--text-muted);font-size:.8125rem;font-weight:600}.generation-preview dd{overflow-wrap:anywhere;color:var(--brand-dark);margin:0;font-weight:500}.add-user-form{grid-template-columns:minmax(224px,2fr) minmax(160px,1fr) auto;align-items:end}.users-table{margin-top:var(--space-6);overflow-x:auto}.users-table table{border-collapse:collapse;text-align:left;width:100%;min-width:768px}.users-table th,.users-table td{padding:var(--space-3);border-bottom:1px solid var(--border-default);vertical-align:middle}.users-table th{color:var(--text-muted);font-size:.8125rem;font-weight:600}.users-table tbody tr:hover{background:var(--analytic-primary-soft)}.users-table td:first-child{font-weight:600}.users-table select,.user-actions button{min-height:40px;padding:var(--space-2) var(--space-3);font-size:.875rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=960px){.app-header{flex-direction:column;align-items:flex-start}.header-actions{justify-content:space-between;width:100%}}@media (width<=640px){.app-header{min-height:0;padding:var(--space-3) var(--space-4);gap:var(--space-3)}.brand-logo{height:52px}.brand-divider{display:none}.product-name{font-size:.9375rem}.header-actions{align-items:flex-start;gap:var(--space-3);flex-direction:column-reverse}.primary-nav{width:100%;overflow-x:auto}.primary-nav a{padding-inline:var(--space-2)}.app-main{width:min(100% - 24px,1152px);padding-block:var(--space-6)}.page-card,.page-placeholder{padding:var(--space-4)}.page-heading,.inline-fields,.attachment-list li{flex-direction:column;align-items:stretch}.inline-fields button,.compact-form button,.attachment-upload button{width:100%}.generation-preview dl,.add-user-form{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
