@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5fafd;color:#3a4f63;line-height:1.5;text-rendering:optimizeLegibility}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#0003}::selection{background:#0b6d8626;color:#0a1e2e}.auth-modal-backdrop{position:fixed;inset:0;z-index:200;background:#0a1e2e73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:authFadeIn .2s ease}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{background:#fff;border-radius:20px;box-shadow:0 24px 64px #0a1e2e38,0 4px 12px #0a1e2e14;width:100%;max-width:420px;position:relative;animation:authSlideUp .25s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes authSlideUp{0%{transform:translateY(20px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.auth-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:18px;color:#999;cursor:pointer;padding:6px 10px;border-radius:8px;line-height:1;z-index:1;transition:all .15s ease}.auth-modal-close:hover{background:#f0f5f8;color:#333}.auth-modal-header{text-align:center;padding:32px 28px 16px}.auth-modal-header h2{margin:0;font-size:20px;font-weight:700;color:#0a1e2e;letter-spacing:-.02em}.auth-modal-header p{margin:8px 0 0;font-size:13px;color:#6b7f90;line-height:1.5}.auth-modal-google{display:flex;justify-content:center;padding:0 28px;margin-bottom:16px}.auth-modal-divider{display:flex;align-items:center;text-align:center;margin:0 28px 16px;color:#999;font-size:13px}.auth-modal-divider:before,.auth-modal-divider:after{content:"";flex:1;border-bottom:1px solid #e8eef2}.auth-modal-divider span{padding:0 12px}.auth-modal-tabs{display:flex;border-bottom:1px solid #e8eef2;margin:0 28px}.auth-modal-tab{flex:1;padding:10px;border:none;background:transparent;font-size:13px;font-weight:600;color:#999;cursor:pointer;transition:all .2s ease;position:relative}.auth-modal-tab:hover{color:#555}.auth-modal-tab.active{color:#0b6d86}.auth-modal-tab.active:after{content:"";position:absolute;bottom:-1px;left:20%;right:20%;height:2px;background:linear-gradient(90deg,#0b6d86,#146356);border-radius:2px 2px 0 0}.auth-modal-form{padding:20px 28px 12px}.auth-modal-field{margin-bottom:16px}.auth-modal-field label{display:block;font-size:12px;font-weight:600;color:#555;margin-bottom:6px;letter-spacing:.02em}.auth-modal-field input{width:100%;padding:11px 14px;border:1.5px solid #dde7ee;border-radius:12px;font-size:14px;color:#333;background:#f8fafb;transition:all .2s ease;outline:none;box-sizing:border-box}.auth-modal-field input::placeholder{color:#aab6c0}.auth-modal-field input:focus{border-color:#0b6d86;background:#fff;box-shadow:0 0 0 3px #0b6d861a}.auth-modal-field input:disabled{opacity:.6;cursor:not-allowed}.auth-modal-error{background:#fff0f0;color:#d32f2f;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:12px;border:1px solid #ffcdd2;font-weight:500}.auth-modal-submit{width:100%;padding:12px;border:none;border-radius:12px;background:linear-gradient(135deg,#0b6d86,#146356);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 6px 16px #14635633}.auth-modal-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #14635647}.auth-modal-submit:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.auth-modal-footer{text-align:center;padding:14px 28px 28px;font-size:13px;color:#6b7f90}.auth-modal-switch{border:none;background:none;color:#0b6d86;font-weight:700;cursor:pointer;font-size:13px;padding:0;transition:color .15s ease}.auth-modal-switch:hover{color:#08505f;text-decoration:underline}.auth-otp-container{padding:20px 28px 24px}.auth-otp-inputs{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.auth-otp-digit{width:46px;height:54px;text-align:center;font-size:22px;font-weight:700;border:1.5px solid #dde7ee;border-radius:12px;background:#f8fafb;color:#333;outline:none;transition:all .2s ease}.auth-otp-digit:focus{border-color:#0b6d86;background:#fff;box-shadow:0 0 0 3px #0b6d861a}.auth-otp-digit:disabled{opacity:.6;cursor:not-allowed}.auth-otp-footer{text-align:center;margin-top:16px;font-size:13px;color:#6b7f90}.auth-otp-timer{color:#999;font-weight:600}.auth-otp-back{display:block;margin:16px auto 0;background:none;border:none;color:#6b7f90;cursor:pointer;font-size:13px;padding:6px 10px;border-radius:8px;transition:all .15s ease}.auth-otp-back:hover{color:#333;background:#f0f5f8}.auth-otp-login-link{display:block;width:100%;margin-top:12px;background:none;border:none;color:#0b6d86;font-size:13px;font-weight:600;cursor:pointer;padding:6px;text-align:center;transition:color .15s ease}.auth-otp-login-link:hover:not(:disabled){text-decoration:underline;color:#08505f}.auth-otp-login-link:disabled{opacity:.5;cursor:not-allowed}.auth-login-extras{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:8px}.auth-forgot-link{background:none;border:none;color:#999;font-size:12px;cursor:pointer;padding:4px;transition:color .15s ease}.auth-forgot-link:hover:not(:disabled){color:#0b6d86;text-decoration:underline}.auth-forgot-link:disabled{opacity:.5;cursor:not-allowed}.claim-result{width:100%;max-width:1000px;margin:0 auto}.section-title{font-size:1.15rem;font-weight:700;margin-bottom:1rem;color:#0a1e2e;letter-spacing:-.01em}.summary-section{margin-bottom:2rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.summary-card{background:#fff;border:1.5px solid #e4ecf0;border-radius:16px;padding:1.5rem;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #10263f14}.summary-card.success{border-color:#66bb6a;background:linear-gradient(135deg,#f1f8f4,#fff)}.summary-card.warning{border-color:#ffa726;background:linear-gradient(135deg,#fff8f0,#fff)}.card-label{font-size:.78rem;color:#6b7f90;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:.5rem}.card-value{font-size:1.75rem;font-weight:800;color:#0a1e2e;margin-bottom:.25rem;letter-spacing:-.02em}.card-subtitle{font-size:.75rem;color:#6b7f90;font-style:italic}.card-breakdown{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e8eef2;font-size:.85rem;color:#6b7f90}.card-breakdown>div{margin-bottom:.25rem}.nuances-section{margin-bottom:2rem}.nuances-list{display:flex;flex-direction:column;gap:.75rem}.nuance-item{display:flex;gap:1rem;padding:1rem;border-radius:12px;border-left:4px solid;transition:transform .15s ease}.nuance-item:hover{transform:translate(2px)}.nuance-item.nuance-success{background:#f1f8f4;border-color:#4caf50}.nuance-item.nuance-warning{background:#fff8f0;border-color:#ff9800}.nuance-item.nuance-error{background:#ffebee;border-color:#f44336}.nuance-item.nuance-info{background:#e8f4f8;border-color:#0b6d86}.nuance-icon{font-size:1.5rem;flex-shrink:0}.nuance-content{flex:1}.nuance-title{font-weight:700;color:#0a1e2e;margin-bottom:.25rem}.nuance-description{font-size:.9rem;color:#3a4f63;margin-bottom:.25rem;line-height:1.55}.nuance-details{font-size:.85rem;color:#6b7f90;font-style:italic}.details-section{margin-bottom:2rem}.accordion-item{background:#fff;border:1px solid #e4ecf0;border-radius:12px;margin-bottom:.75rem;overflow:hidden;transition:box-shadow .2s ease}.accordion-item:hover{box-shadow:0 2px 8px #10263f0f}.accordion-header{width:100%;padding:1rem 1.5rem;background:#f6f9fb;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.95rem;font-weight:700;color:#0a1e2e;transition:background .2s ease;font-family:inherit}.accordion-header:hover{background:#edf2f5}.accordion-icon{color:#6b7f90;font-size:.8rem}.accordion-content{padding:1.5rem;border-top:1px solid #e8eef2}.items-table{width:100%;border-collapse:collapse;font-size:.88rem;table-layout:fixed}.items-table th{background:#f6f9fb;padding:.75rem;text-align:left;font-weight:700;color:#6b7f90;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e4ecf0;word-wrap:break-word}.items-table td{padding:.75rem;border-bottom:1px solid #f0f4f6;word-wrap:break-word;overflow-wrap:break-word}.items-table tbody tr:hover{background:#f8fafb}.item-name{font-weight:600;color:#0a1e2e;margin-bottom:.25rem;word-wrap:break-word;overflow-wrap:break-word}.item-category{font-size:.8rem;color:#6b7f90;font-style:italic;word-wrap:break-word;overflow-wrap:break-word}.exclusion-reason{color:#3a4f63;margin-bottom:.25rem}.exclusion-category{font-size:.8rem;color:#6b7f90;font-weight:700}.success-text{color:#2e7d32;font-weight:700}.warning-text{color:#e65100;font-weight:700}.error-text{color:#c62828;font-weight:700}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.info-item{display:flex;justify-content:space-between;padding:.75rem 1rem;background:#f6f9fb;border-radius:10px;transition:background .15s ease}.info-item:hover{background:#edf2f5}.info-label{font-weight:500;color:#6b7f90;text-transform:capitalize}.info-value{font-weight:700;color:#0a1e2e}.hidden-benefit-section{margin:2rem 0;padding:1.5rem;background:linear-gradient(135deg,#fffbe6,#fffdf3);border:2px solid #ffd54f;border-radius:16px;box-shadow:0 6px 16px #ffd54f26;position:relative;overflow:hidden}.hidden-benefit-section:before{content:"✨";position:absolute;top:-10px;right:-10px;font-size:4rem;opacity:.08;transform:rotate(15deg)}.hidden-benefit-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.hidden-benefit-badge{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#ffd54f,#ffee58);color:#8b6914;padding:.5rem 1rem;border-radius:20px;font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 2px 8px #ffd54f4d}.hidden-benefit-title{font-size:1.25rem;font-weight:800;color:#8b6914;margin:0;letter-spacing:-.01em}.hidden-benefit-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border-radius:12px;border:1px solid #ffe082}.hidden-benefit-details{flex:1}.hidden-benefit-description{font-size:1rem;color:#3a4f63;margin-bottom:.5rem;line-height:1.55}.hidden-benefit-calculation{font-size:.9rem;color:#6b7f90;font-style:italic}.hidden-benefit-amount{font-size:2rem;font-weight:800;color:#2e7d32;text-align:right;letter-spacing:-.02em}.hidden-benefit-amount-label{font-size:.75rem;color:#6b7f90;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:.25rem}.disclaimer-section{display:flex;gap:.75rem;margin-top:2.5rem;padding:1.25rem 1.5rem;background:#f6f7f9;border:1px solid #e2e6ea;border-left:3px solid #9ca8b4;border-radius:10px}.disclaimer-icon{font-size:1.25rem;flex-shrink:0;line-height:1.6}.disclaimer-content{flex:1}.disclaimer-title{font-size:.78rem;font-weight:700;color:#6b7f90;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .5rem}.disclaimer-text{font-size:.78rem;color:#7a8a98;line-height:1.6;margin:0}@media(max-width:768px){.summary-cards{grid-template-columns:1fr}.card-value{font-size:1.5rem}.items-table{font-size:.8rem}.items-table th,.items-table td{padding:.5rem}.info-grid{grid-template-columns:1fr}.hidden-benefit-content{flex-direction:column;gap:1rem}.hidden-benefit-amount{text-align:center}.disclaimer-section{padding:1rem}}:root{--color-primary: #0b6d86;--color-primary-dark: #08505f;--color-accent: #146356;--color-accent-light: #1a8a72;--color-heading: #0a1e2e;--color-body: #3a4f63;--color-muted: #6b7f90;--color-surface: rgba(255, 255, 255, .96);--color-surface-hover: rgba(255, 255, 255, 1);--color-border: rgba(179, 197, 209, .36);--color-border-strong: rgba(179, 197, 209, .56);--shadow-card: 0 12px 32px rgba(16, 38, 63, .06), 0 2px 6px rgba(16, 38, 63, .04);--shadow-card-hover: 0 18px 44px rgba(16, 38, 63, .1), 0 4px 12px rgba(16, 38, 63, .06);--shadow-button: 0 10px 24px rgba(20, 99, 86, .22);--radius-lg: 20px;--radius-md: 16px;--radius-sm: 12px;--radius-pill: 999px;--transition-fast: .18s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1)}.app-layout{min-height:100vh;background:radial-gradient(ellipse at 0% 0%,rgba(8,145,178,.1),transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(20,99,86,.06),transparent 50%),linear-gradient(180deg,#f5fafd,#edf2f5)}.app{min-width:0}.app-header{display:flex;justify-content:space-between;align-items:center;padding:18px 32px;background:#ffffffb8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.app-brand{display:flex;align-items:center;gap:14px;min-width:0}.app-brand-logo{width:44px;height:44px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.08))}.app-brand-text{display:flex;flex-direction:column;min-width:0}.app-header h1{margin:0;color:var(--color-heading);font-size:1.6rem;font-weight:800;letter-spacing:-.035em;line-height:1.15;overflow-wrap:anywhere}.app-brand-tagline{color:var(--color-muted);font-size:.95rem;font-weight:500;letter-spacing:.01em;margin-top:2px;line-height:1.3}.header-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.user-profile{display:flex;align-items:center;gap:10px;padding-right:14px;border-right:1px solid var(--color-border-strong);min-width:0}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#d0edf7,#f4fbfe);color:#0f5b6f;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:1.5px solid rgba(183,214,226,.7);box-shadow:0 2px 8px #0f5b6f1a}.user-name{color:#385268;font-size:14px;font-weight:600;min-width:0;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button,.reset-button,.signin-button,.remove-file-button,.resolution-button,.primary-action-button{font:inherit}.logout-button{background:none;border:1px solid transparent;color:var(--color-muted);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;border-radius:var(--radius-pill);transition:all var(--transition-fast)}.logout-button:hover{background:#eaf4f9;color:var(--color-primary);border-color:#c0d9e6}.reset-button,.signin-button{padding:10px 22px;border-radius:var(--radius-pill);cursor:pointer;font-weight:700;font-size:14px;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.reset-button{background:#fff;border:1.5px solid var(--color-primary);color:var(--color-primary-dark)}.reset-button:hover{background:#f0fafd;box-shadow:0 4px 14px #0b6d861f}.signin-button,.primary-action-button{border:none;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;box-shadow:var(--shadow-button)}.reset-button:hover,.signin-button:hover,.primary-action-button:hover:not(:disabled),.resolution-button:hover:not(:disabled){transform:translateY(-2px)}.signin-button:hover{box-shadow:0 14px 30px #14635647}.hero-section{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:32px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.hero-content{flex:1;min-width:0}.hero-heading{margin:0 0 10px;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;background:linear-gradient(135deg,var(--color-heading) 0%,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{margin:0 0 20px;color:var(--color-body);font-size:1.08rem;line-height:1.6;font-weight:400}.hero-features{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:12px}.hero-features li{display:flex;align-items:flex-start;gap:12px;color:var(--color-body);font-size:.98rem;line-height:1.55}.hero-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;border-radius:50%;background:linear-gradient(135deg,#0b6d86,#146356);color:#fff;font-size:12px;font-weight:800;margin-top:1px;box-shadow:0 2px 6px #14635633}.hero-cta-text{margin:0;padding:14px 18px;background:linear-gradient(135deg,#f0fafb,#edf7f5);border:1px solid rgba(20,99,86,.12);border-radius:var(--radius-sm);color:var(--color-accent);font-weight:600;font-size:.98rem;line-height:1.55}.hero-status{flex-shrink:0}.assessment-shell{width:min(1140px,calc(100% - 40px));margin:28px auto 48px;display:flex;flex-direction:column;gap:22px}.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.workspace-header h2{margin:0 0 8px;color:var(--color-heading);font-size:clamp(1.7rem,2vw,2.25rem);line-height:1.1}.workspace-header .welcome-text{margin:0;max-width:720px;color:var(--color-body);font-size:1.1rem;line-height:1.6}.workspace-stack{display:flex;flex-direction:column;gap:22px}.workspace-main{display:flex;flex-direction:column;gap:18px}.workspace-sidebar{position:sticky;top:24px}.instruction-card,.upload-card,.resolution-card,.progress-panel,.result-panel,.saved-note,.error-banner,.action-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-smooth),border-color var(--transition-smooth)}.instruction-card,.resolution-card,.result-panel,.action-card{padding:24px}.instruction-card p,.action-card-copy{margin:0;color:var(--color-body);line-height:1.65}.status-pill{display:inline-flex;align-items:center;padding:10px 16px;border-radius:var(--radius-pill);background:linear-gradient(135deg,#e6f5f9,#edf7f5);color:var(--color-primary-dark);font-size:12px;font-weight:700;text-transform:capitalize;max-width:100%;text-align:center;letter-spacing:.02em;border:1px solid rgba(11,109,134,.12)}.upload-card-eyebrow{margin:0 0 10px;color:var(--color-accent);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.policy-resolution-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.policy-resolution-meta span,.saved-note{display:inline-flex;align-items:center;padding:10px 14px;border-radius:var(--radius-pill);background:#edf7fa;color:#194b5c;font-size:13px;font-weight:600}.saved-note{width:fit-content}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.upload-card{padding:24px;transition:box-shadow var(--transition-smooth),transform var(--transition-smooth)}.upload-card:hover{box-shadow:var(--shadow-card-hover)}.upload-card.disabled{opacity:.72}.upload-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.upload-card h3,.resolution-card h3,.result-panel h3,.action-card h3{margin:0;color:var(--color-heading);font-size:1.1rem;font-weight:700}.upload-card-helper{padding:6px 12px;border-radius:var(--radius-pill);background:#f0f5f8;color:var(--color-muted);font-size:12px;font-weight:700;white-space:nowrap}.upload-dropzone{display:flex;width:100%;flex-direction:column;gap:10px;align-items:flex-start;padding:22px;border-radius:var(--radius-md);border:1.5px dashed rgba(11,109,134,.35);background:linear-gradient(135deg,#f3fbfc,#f9fcfd);cursor:pointer;text-align:left;font:inherit;appearance:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.upload-dropzone:hover{border-color:var(--color-primary);background:linear-gradient(135deg,#eaf7fb,#f4fbfc);box-shadow:0 8px 20px #0b6d8614}.upload-dropzone:focus-visible{outline:3px solid rgba(11,109,134,.25);outline-offset:2px;border-color:var(--color-primary);box-shadow:0 8px 20px #0b6d8614}.upload-dropzone:disabled{cursor:not-allowed}.upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upload-dropzone-icon{padding:6px 14px;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 100%);color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.upload-dropzone strong{color:var(--color-heading);font-size:.98rem}.upload-dropzone span:last-child{color:var(--color-muted);font-size:.88rem}.selected-files{display:flex;flex-direction:column;gap:10px;margin-top:14px}.selected-file{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-sm);background:#f6fafc;border:1px solid #dde7ee;transition:border-color var(--transition-fast)}.selected-file:hover{border-color:var(--color-primary)}.selected-file strong{display:block;color:var(--color-heading);margin-bottom:4px}.selected-file span{color:var(--color-muted);font-size:.85rem}.remove-file-button,.resolution-button{border:1px solid #c8d9e5;background:#fff;color:var(--color-primary);padding:10px 14px;border-radius:var(--radius-pill);cursor:pointer;font-weight:700;transition:all var(--transition-fast)}.remove-file-button:hover,.resolution-button:hover:not(:disabled){background:#f0fafd;border-color:var(--color-primary);box-shadow:0 2px 8px #0b6d861a}.resolution-card{display:flex;justify-content:space-between;align-items:center;gap:18px}.resolution-actions{display:flex;flex-wrap:wrap;gap:10px}.resolution-button.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;border-color:transparent;box-shadow:0 4px 12px #1463562e}.action-card{display:flex;flex-direction:column;gap:14px}.action-button-shell{width:100%}.bottom-action-card{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px}.action-card-header-group{flex:1;display:flex;flex-direction:column;gap:6px}.bottom-action-card .action-button-shell{width:auto;min-width:260px}.primary-action-button{width:100%;min-height:52px;padding:14px 20px;border-radius:var(--radius-md);cursor:pointer;font-weight:800;font-size:15px;letter-spacing:.01em;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.primary-action-button:hover:not(:disabled){box-shadow:0 14px 32px #14635647}.action-card-hint{margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.5}.error-banner{padding:16px 20px;background:linear-gradient(135deg,#fff2f2,#fffafb);border-color:#f871714d;color:#b42318;font-weight:600}.progress-panel{display:flex;align-items:center;gap:16px;padding:20px 22px}.spinner{width:24px;height:24px;min-width:24px;border:3px solid rgba(20,99,86,.12);border-top-color:var(--color-accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-copy{flex:1}.progress-copy strong{display:block;color:var(--color-heading);margin-bottom:10px}.progress-bar{width:100%;height:6px;background:#d7e8ef;border-radius:var(--radius-pill);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-accent) 100%);border-radius:var(--radius-pill);transition:width .3s ease}.result-panel{margin-top:4px}.result-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.primary-action-button:disabled,.remove-file-button:disabled,.resolution-button:disabled,.signin-button:disabled,.reset-button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:980px){.workspace-stack{display:flex}}@media(max-width:760px){.workspace-header,.resolution-card{flex-direction:column;align-items:flex-start}.app-header{padding:14px 16px;flex-direction:column;align-items:flex-start;gap:12px}.app-brand{gap:12px;align-items:center;width:100%}.app-brand-logo{width:36px;height:36px}.app-header h1{font-size:1.4rem}.app-brand-tagline{font-size:.88rem}.header-actions{width:100%;justify-content:space-between;gap:12px}.user-profile{padding-right:0;border-right:0;flex:1 1 auto;min-width:0}.reset-button,.signin-button{padding:10px 18px}.hero-section{flex-direction:column;padding:24px 20px;gap:16px}.hero-heading{font-size:1.4rem}.hero-status{align-self:flex-start}.status-pill{align-self:stretch;justify-content:center}.assessment-shell{width:min(100%,calc(100% - 24px));margin:20px auto 32px}}@media(max-width:560px){.app-layout{overflow-x:hidden}.app-header{padding:12px;gap:10px}.app-brand{gap:10px}.app-brand-logo{width:32px;height:32px}.app-header h1{font-size:1.25rem;line-height:1.2}.app-brand-tagline{font-size:.82rem}.header-actions{align-items:flex-start}.user-profile{gap:8px}.user-avatar{width:30px;height:30px;font-size:13px}.user-name{max-width:110px;font-size:13px}.logout-button{padding:4px 8px;font-size:12px}.reset-button,.signin-button{padding:9px 14px;font-size:13px}.hero-section{padding:20px 16px;border-radius:var(--radius-md)}.hero-heading{font-size:1.25rem}.hero-subtitle{font-size:.95rem}.hero-features li{font-size:.9rem;gap:10px}.hero-feature-icon{width:20px;height:20px;min-width:20px;font-size:10px}.hero-cta-text{padding:12px 14px;font-size:.9rem}.upload-grid{grid-template-columns:1fr}.upload-card-header,.selected-file{flex-direction:column;align-items:flex-start}.instruction-card,.upload-card,.resolution-card,.progress-panel,.result-panel,.action-card{padding:18px;border-radius:var(--radius-md)}.bottom-action-card{flex-direction:column;align-items:flex-start;gap:16px}.bottom-action-card .action-button-shell{width:100%;min-width:0}}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(180deg,#f5fafd,#edf2f5);color:#6b7f90;gap:16px}.app-loading-spinner{width:36px;height:36px;border:3px solid rgba(11,109,134,.12);border-top-color:#0b6d86;border-radius:50%;animation:spin .8s linear infinite}.app-loading p{font-size:14px;font-weight:500;margin:0}
