:root{--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--primary-border:#bfdbfe;--success:#16a34a;--success-light:#f0fdf4;--success-border:#bbf7d0;--danger:#dc2626;--danger-light:#fef2f2;--danger-border:#fecaca;--warning:#d97706;--warning-light:#fffbeb;--warning-border:#fde68a;--bg-page:var(--gray-50);--bg-card:var(--white);--bg-elevated:var(--white);--bg-muted:var(--gray-100);--bg-hover:var(--gray-50);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-400);--text-inverse:var(--white);--text-link:var(--primary);--border:var(--gray-200);--border-light:var(--gray-100);--border-focus:var(--primary);--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000f;--shadow-lg:0 10px 15px #0000001a, 0 4px 6px #0000000d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-full:9999px;--duration-fast:.15s;--duration-normal:.2s;--duration-slow:.3s;--ease:cubic-bezier(.4, 0, .2, 1);--font-sans:"Source Han Sans SC", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--input-height:40px;--button-height:40px;--sidebar-width:280px;--topbar-height:64px}*,:before,:after{box-sizing:border-box}html{background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{min-width:320px;color:var(--text-primary);background:var(--bg-page);font-family:var(--font-sans);font-size:var(--text-base);margin:0;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}a{color:var(--text-link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6,p{margin:0}h1{color:var(--text-primary);font-size:var(--text-2xl);letter-spacing:-.01em;font-weight:700;line-height:1.3}h2{color:var(--text-primary);font-size:var(--text-xl);font-weight:700;line-height:1.35}h3{color:var(--text-primary);font-size:var(--text-md);font-weight:600;line-height:1.4}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.eyebrow{margin-bottom:var(--space-2);color:var(--primary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:block}.text-muted{color:var(--text-secondary)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-mono{font-family:var(--font-mono)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg, var(--gray-100) 25%, var(--gray-50) 50%, var(--gray-100) 75%);border-radius:var(--radius-sm);background-size:200px 100%;animation:1.5s ease-in-out infinite shimmer}.mini-section-title{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--duration-normal) var(--ease) both}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.layout-auth{min-height:100vh;padding:var(--space-6);background:var(--bg-page);place-items:center;display:grid}.layout-admin{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}@media (width<=1024px){.layout-admin{grid-template-columns:1fr}}.layout-survey{grid-template-rows:var(--topbar-height) 1fr;background:var(--bg-page);min-height:100vh;display:grid}.page-stack{gap:var(--space-6);flex-direction:column;display:flex}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media (width>=1400px){.grid-4{grid-template-columns:repeat(4,1fr)}}@media (width>=1600px){.page-stack{gap:var(--space-8)}}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--button-height);padding:0 var(--space-4);border-radius:var(--radius);font-size:var(--text-base);white-space:nowrap;transition:all var(--duration-fast) var(--ease);-webkit-user-select:none;user-select:none;font-weight:500;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{color:var(--text-inverse);background:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-secondary{color:var(--text-primary);background:var(--white);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--gray-300);background:var(--bg-hover)}.btn-secondary:active:not(:disabled){transform:scale(.98)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-muted)}.btn-danger{color:var(--danger);background:var(--danger-light);border:1px solid var(--danger-border)}.btn-danger:hover:not(:disabled){background:var(--danger);color:var(--text-inverse);border-color:var(--danger)}.btn-link{color:var(--primary);background:0 0;height:auto;padding:0}.btn-link:hover:not(:disabled){text-decoration:underline}.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn-lg{height:48px;padding:0 var(--space-6);font-size:var(--text-md)}.btn-block{width:100%}.btn-icon{width:var(--button-height);padding:0}.btn-icon.btn-sm{width:32px}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.form-input,.form-select{height:var(--input-height);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--white);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease), box-shadow var(--duration-fast) var(--ease)}.form-input:hover,.form-select:hover{border-color:var(--gray-300)}.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.form-input:disabled,.form-select:disabled{background:var(--bg-muted);color:var(--text-tertiary);cursor:not-allowed}.form-input::placeholder{color:var(--text-tertiary)}.input-with-icon{position:relative}.input-with-icon .form-input{padding-left:var(--space-10)}.input-with-icon .input-icon{left:var(--space-3);color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{position:relative}.search-input .form-input{padding-left:var(--space-10);background:var(--bg-muted);border-color:#0000}.search-input .form-input:focus{background:var(--white);border-color:var(--primary)}.search-input .search-icon{left:var(--space-3);color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-error{font-size:var(--text-sm);color:var(--danger)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;padding-right:var(--space-10);background-repeat:no-repeat;background-size:16px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-body{padding:var(--space-6)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.card-header h3{align-items:center;gap:var(--space-2);font-size:var(--text-md);font-weight:600;display:flex}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-1);flex-direction:column;display:flex}.stat-card .stat-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.stat-card .stat-value{font-size:var(--text-2xl);color:var(--text-primary);font-weight:700;line-height:1.2}.stat-card .stat-hint{font-size:var(--text-xs);color:var(--text-tertiary)}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.panel-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.panel-title{align-items:center;gap:var(--space-2);font-size:var(--text-md);color:var(--text-primary);font-weight:600;display:flex}.progress-bar{background:var(--bg-muted);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress-bar .progress-fill{background:var(--primary);border-radius:inherit;height:100%;transition:width var(--duration-slow) var(--ease)}.empty-state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);color:var(--text-tertiary);text-align:center;flex-direction:column;display:flex}.empty-state .empty-icon{color:var(--gray-300)}.empty-state .empty-text{font-size:var(--text-sm);max-width:240px;line-height:1.5}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--text-sm);line-height:1.5;display:flex}.alert-success{background:var(--success-light);color:var(--success);border:1px solid var(--success-border)}.alert-error{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger-border)}.alert-info{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-border)}.alert-warning{background:var(--warning-light);color:var(--warning);border:1px solid var(--warning-border)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:middle;white-space:nowrap}.table th{color:var(--text-secondary);font-weight:500;font-size:var(--text-sm);background:var(--bg-muted);border-bottom:1px solid var(--border)}.table td{border-bottom:1px solid var(--border-light)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--bg-hover)}.table .text-right{text-align:right}.table .text-center{text-align:center}.table-empty td{padding:var(--space-10);text-align:center;color:var(--text-tertiary)}.badge{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;font-weight:500;display:inline-flex}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-success{background:var(--success-light);color:var(--success)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-muted{background:var(--bg-muted);color:var(--text-secondary)}.status-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.status-dot-primary{background:var(--primary)}.status-dot-success{background:var(--success)}.status-dot-danger{background:var(--danger)}.status-dot-warning{background:var(--warning)}.toast-container{top:var(--space-4);right:var(--space-4);z-index:9999;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);min-width:280px;max-width:420px;padding:var(--space-3) var(--space-4);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-sm);pointer-events:auto;animation:slideInRight var(--duration-normal) var(--ease) both;display:flex}.toast.removing{animation:slideOutRight var(--duration-fast) var(--ease) both}.toast-icon{flex-shrink:0}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--primary)}.toast-message{color:var(--text-primary);flex:1;line-height:1.4}.toast-close{color:var(--text-tertiary);padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease);flex-shrink:0}.toast-close:hover{color:var(--text-primary)}.score-picker{gap:6px;display:inline-flex}.score-picker button{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);width:40px;height:40px;color:var(--text-secondary);font-size:var(--text-base);transition:all var(--duration-fast) var(--ease);justify-content:center;align-items:center;font-weight:500;display:flex}.score-picker button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.score-picker button:active:not(:disabled){transform:scale(.95)}.score-picker button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--text-inverse);font-weight:600}.score-picker button:disabled{opacity:.5;cursor:not-allowed}.brand{align-items:center;gap:var(--space-3);display:flex}.brand-mark{border-radius:var(--radius);background:var(--primary);width:36px;height:36px;color:var(--text-inverse);font-weight:700;font-size:var(--text-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-text strong,.brand-text span{line-height:1.3;display:block}.brand-text strong{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.brand-text span{font-size:var(--text-xs);color:var(--text-tertiary)}.sidebar{width:var(--sidebar-width);background:var(--bg-card);border-right:1px solid var(--border);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header{padding:var(--space-5) var(--space-5) var(--space-4)}.sidebar-section{padding:0 var(--space-3);margin-bottom:var(--space-4)}.sidebar-section-title{align-items:center;gap:var(--space-2);padding:0 var(--space-2) var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:flex}.sidebar-list{gap:var(--space-1);flex-direction:column;display:flex}.sidebar-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius);text-align:left;transition:all var(--duration-fast) var(--ease);flex-direction:column;gap:2px;display:flex}.sidebar-item:hover{background:var(--bg-hover)}.sidebar-item.active{background:var(--primary-light)}.sidebar-item.active strong{color:var(--primary)}.sidebar-item strong{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.sidebar-item span{font-size:var(--text-xs);color:var(--text-tertiary)}.sidebar-footer{padding:var(--space-4) var(--space-3);border-top:1px solid var(--border-light);gap:var(--space-1);flex-direction:column;margin-top:auto;display:flex}.upload-zone{margin:0 var(--space-3) var(--space-4);padding:var(--space-4);border:1px dashed var(--border);border-radius:var(--radius);align-items:center;gap:var(--space-3);color:var(--text-secondary);background:var(--bg-muted);transition:all var(--duration-fast) var(--ease);cursor:pointer;display:flex}.upload-zone:hover{border-color:var(--primary);background:var(--primary-light)}.upload-zone svg{color:var(--primary);flex-shrink:0}.upload-zone strong{font-size:var(--text-sm);color:var(--text-primary);font-weight:500;display:block}.upload-zone small{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px;display:block}.topbar{height:var(--topbar-height);padding:0 var(--space-6);background:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.topbar-actions{align-items:center;gap:var(--space-2);display:flex}.workspace{padding:var(--space-6);width:100%;min-width:0;overflow-x:hidden}.workspace-full{max-width:100%}.workspace-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:flex-start;display:flex}.workspace-header h1{margin-bottom:var(--space-1)}@media (width<=1024px){.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;height:auto;position:relative}}.auth-container{gap:var(--space-8);flex-direction:column;width:min(100%,440px);display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow);gap:var(--space-5);flex-direction:column;display:flex}.auth-card .form-icon{border-radius:var(--radius);background:var(--primary-light);width:44px;height:44px;color:var(--primary);justify-content:center;align-items:center;display:flex}.auth-footer{justify-content:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-tertiary);display:flex}.auth-footer button{color:var(--text-secondary);font-size:var(--text-sm)}.auth-footer button:hover{color:var(--primary)}.project-hero{gap:var(--space-8);padding:var(--space-6);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;display:flex}.project-hero-main{gap:var(--space-3);flex-direction:column;flex:1;min-width:0;display:flex}.project-hero-actions{align-items:flex-end;gap:var(--space-4);flex-direction:column;display:flex}.hero-metrics{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.hero-metrics .metric{padding:var(--space-3);background:var(--bg-muted);border-radius:var(--radius);text-align:center}.hero-metrics .metric strong{font-size:var(--text-xl);color:var(--text-primary);font-weight:700;display:block}.hero-metrics .metric span{font-size:var(--text-xs);color:var(--text-tertiary)}.timeline-row{gap:var(--space-4);font-size:var(--text-sm);color:var(--text-tertiary);flex-wrap:wrap;display:flex}.readiness-list{gap:var(--space-2);flex-direction:column;display:flex}.readiness-step{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:var(--bg-muted);display:flex}.readiness-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.readiness-step.passed .readiness-icon{background:var(--success-light);color:var(--success)}.readiness-step.warning .readiness-icon{background:var(--warning-light);color:var(--warning)}.readiness-step.critical .readiness-icon{background:var(--danger-light);color:var(--danger)}.readiness-step.info .readiness-icon{background:var(--primary-light);color:var(--primary)}.readiness-info strong{font-size:var(--text-sm);font-weight:500;display:block}.readiness-info span{font-size:var(--text-xs);color:var(--text-tertiary)}.bar-row{align-items:center;gap:var(--space-3);grid-template-columns:100px 1fr 40px;display:grid}.bar-row>span{font-size:var(--text-sm);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-row>strong{font-size:var(--text-sm);color:var(--text-primary);text-align:right;font-weight:600}.bar-track{background:var(--bg-muted);border-radius:var(--radius-full);height:8px;overflow:hidden}.bar-track>i{background:var(--primary);border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease);display:block}.flow-strip{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.flow-step{padding:var(--space-4);background:var(--bg-muted);border-radius:var(--radius);text-align:center;align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.flow-step svg{color:var(--primary)}.flow-step strong{font-size:var(--text-xl);color:var(--text-primary);font-weight:700}.flow-step span{font-size:var(--text-sm);color:var(--text-tertiary)}.segment-bar{gap:var(--space-2);padding:var(--space-3) 0;flex-direction:column;display:flex}.segment-bar+.segment-bar{border-top:1px solid var(--border-light)}.segment-bar-head{font-size:var(--text-sm);justify-content:space-between;display:flex}.segment-bar-head span{color:var(--text-tertiary)}.segment-track{border-radius:var(--radius-full);background:var(--bg-muted);height:8px;display:flex;overflow:hidden}.segment-fill{height:100%;transition:width var(--duration-slow) var(--ease)}.segment-fill-primary{background:var(--primary)}.segment-fill-success{background:var(--success)}.segment-fill-warning{background:var(--warning)}.segment-fill-danger{background:var(--danger)}.segment-legend{gap:var(--space-4);font-size:var(--text-xs);color:var(--text-tertiary);display:flex}.segment-legend-item{align-items:center;gap:var(--space-1);display:flex}.legend-dot{border-radius:50%;width:6px;height:6px}.factor-config{gap:var(--space-4);padding:var(--space-5);background:var(--bg-muted);border-radius:var(--radius-lg);border:1px solid var(--border-light);flex-direction:column;display:flex}.factor-config-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.factor-config-head h3{margin-top:var(--space-1);margin-bottom:var(--space-2)}.factor-config-head p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6}.level-grid-5{gap:var(--space-2);grid-template-columns:repeat(5,1fr);display:grid}.level-cell{padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);gap:var(--space-2);flex-direction:column;display:flex}.level-cell-head{align-items:center;gap:var(--space-2);display:flex}.level-cell-head strong{background:var(--primary);width:24px;height:24px;color:var(--text-inverse);border-radius:var(--radius-sm);font-size:var(--text-xs);justify-content:center;align-items:center;font-weight:600;display:flex}.level-cell-head span{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.level-cell p{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5}.check-list{gap:var(--space-2);flex-direction:column;display:flex}.check-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);display:flex}.check-item svg{flex-shrink:0;margin-top:1px}.check-item.passed svg{color:var(--success)}.check-item.warning{background:var(--warning-light);border-color:var(--warning-border)}.check-item.warning svg{color:var(--warning)}.check-item.critical{background:var(--danger-light);border-color:var(--danger-border)}.check-item.critical svg{color:var(--danger)}.check-info strong{font-size:var(--text-sm);font-weight:500;display:block}.check-info span{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.reminder-summary{align-items:baseline;gap:var(--space-2);padding:var(--space-3);background:var(--bg-muted);border-radius:var(--radius);margin-bottom:var(--space-4);display:flex}.reminder-summary strong{font-size:var(--text-xl);color:var(--primary)}.reminder-summary span{color:var(--text-secondary);font-size:var(--text-sm)}.reminder-list{gap:var(--space-2);flex-direction:column;display:flex}.reminder-item{padding:var(--space-3);background:var(--bg-muted);border-radius:var(--radius);border:1px solid var(--border-light)}.reminder-item strong{font-size:var(--text-sm);font-weight:500}.reminder-item .meta{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.reminder-item .message{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-2);line-height:1.5}.ranking-list{gap:var(--space-2);flex-direction:column;display:flex}.rank-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-muted);border-radius:var(--radius);display:flex}.rank-num{background:var(--primary);width:24px;height:24px;color:var(--text-inverse);border-radius:var(--radius-sm);font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.rank-info{flex:1;min-width:0}.rank-info strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.rank-info small{font-size:var(--text-xs);color:var(--text-tertiary)}.rank-score{font-size:var(--text-sm);color:var(--primary);font-weight:600}.audit-list{gap:var(--space-2);flex-direction:column;display:flex}.audit-item{gap:var(--space-3);padding:var(--space-3);background:var(--bg-muted);border-radius:var(--radius);grid-template-columns:1fr 1fr;display:grid}.audit-action span{font-size:var(--text-xs);color:var(--primary);font-weight:600}.audit-action strong{font-size:var(--text-sm);display:block}.audit-meta{text-align:right;font-size:var(--text-xs);color:var(--text-tertiary)}.audit-meta span{display:block}.audit-item p{font-size:var(--text-xs);color:var(--text-secondary);grid-column:1/-1}.factor-card{gap:var(--space-5);padding:var(--space-6);border-bottom:1px solid var(--border-light);flex-direction:column;display:flex}.factor-card:last-child{border-bottom:none}.factor-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.factor-card-head h3{margin-top:var(--space-1);margin-bottom:var(--space-2)}.factor-card-head p{color:var(--text-secondary);max-width:680px;line-height:1.6}.factor-score-display{text-align:right;flex-shrink:0}.factor-score-display .label{font-size:var(--text-xs);color:var(--text-tertiary)}.factor-score-display .value{font-size:var(--text-xl);color:var(--primary);font-weight:700}.factor-rating-row{gap:var(--space-4);grid-template-columns:auto 1fr;align-items:start;display:grid}.selected-level-box{padding:var(--space-3);background:var(--primary-light);border:1px solid var(--primary-border);border-radius:var(--radius);justify-content:center;gap:var(--space-1);flex-direction:column;min-height:40px;display:flex}.selected-level-box strong{font-size:var(--text-sm);color:var(--primary)}.selected-level-box span{font-size:var(--text-sm);color:var(--text-secondary)}.level-card-grid{gap:var(--space-2);grid-template-columns:repeat(5,1fr);display:grid}.level-card{padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:left;transition:all var(--duration-fast) var(--ease);cursor:pointer;gap:var(--space-2);flex-direction:column;display:flex}.level-card:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light)}.level-card:active:not(:disabled){transform:scale(.98)}.level-card.selected{border-color:var(--primary);background:var(--primary-light);box-shadow:inset 0 0 0 1px var(--primary-border)}.level-card:disabled{opacity:.6;cursor:not-allowed}.level-card-head{align-items:center;gap:var(--space-2);display:flex}.level-card-head strong{border-radius:var(--radius-sm);width:24px;height:24px;font-size:var(--text-xs);background:var(--bg-muted);color:var(--text-secondary);justify-content:center;align-items:center;font-weight:600;display:flex}.level-card.selected .level-card-head strong{background:var(--primary);color:var(--text-inverse)}.level-card span{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5}.level-card.selected span{color:var(--text-primary)}.rating-scale-bar{gap:var(--space-2);padding:var(--space-4) var(--space-6);background:var(--primary-light);border-bottom:1px solid var(--border-light);grid-template-columns:repeat(5,1fr);display:grid}.rating-scale-item{padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.rating-scale-item strong{font-size:var(--text-lg);color:var(--primary);font-weight:700;display:block}.rating-scale-item span{font-size:var(--text-xs);color:var(--text-secondary)}.task-sidebar{gap:var(--space-2);padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.task-sidebar-title{align-items:center;gap:var(--space-2);padding:0 var(--space-2) var(--space-2);font-size:var(--text-sm);color:var(--text-primary);font-weight:600;display:flex}.task-item{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius);text-align:left;transition:all var(--duration-fast) var(--ease);grid-template-columns:32px 1fr auto;align-items:center;display:grid}.task-item:hover{background:var(--bg-hover)}.task-item.active{background:var(--primary-light)}.task-item .task-serial{background:var(--bg-muted);border-radius:var(--radius-sm);width:32px;height:32px;font-size:var(--text-xs);color:var(--text-secondary);justify-content:center;align-items:center;font-weight:600;display:flex}.task-item.active .task-serial{background:var(--primary);color:var(--text-inverse)}.task-item strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.task-item .task-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.task-item .task-done{font-size:var(--text-xs);color:var(--success);font-weight:500}.progress-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.progress-panel-header{justify-content:space-between;align-items:baseline;display:flex}.progress-panel-header .label{font-size:var(--text-sm);color:var(--text-secondary)}.progress-panel-header .value{font-size:var(--text-2xl);color:var(--text-primary);font-weight:700}.progress-panel .detail{font-size:var(--text-xs);color:var(--text-tertiary)}.survey-command{justify-content:space-between;align-items:flex-start;gap:var(--space-6);display:flex}@media (width<=768px){.survey-command{flex-direction:column}}.survey-form-card{overflow:hidden}.survey-board{gap:var(--space-5);grid-template-columns:280px 1fr;align-items:start;display:grid}.survey-board .task-sidebar{top:var(--space-4);position:sticky}.survey-active-head{justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding:var(--space-6) var(--space-6) var(--space-5);border-bottom:1px solid var(--border-light);display:flex}.survey-active-score{text-align:right;flex-shrink:0}.survey-active-score .value{font-size:var(--text-2xl);color:var(--text-primary);font-weight:700}.survey-active-score .detail{font-size:var(--text-xs);color:var(--text-tertiary)}@media (width<=768px){.survey-board{grid-template-columns:1fr}.survey-board .task-sidebar{position:relative;top:0}}.submit-bar{bottom:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;display:flex;position:sticky}.submit-bar .info strong{font-size:var(--text-base);font-weight:500;display:block}.submit-bar .info span{font-size:var(--text-sm);color:var(--text-secondary)}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:100%;max-width:100vw;height:100%;max-height:100vh;animation:fadeIn var(--duration-fast) var(--ease);background:#0006;border:none;justify-content:center;align-items:center;padding:0;display:none}.modal-backdrop[open]{display:flex}.modal-backdrop::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(480px,100vw - 32px);max-height:calc(100vh - 48px);animation:modalIn var(--duration-normal) var(--ease);overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-6) var(--space-6) var(--space-4);display:flex}.modal-title{font-size:var(--text-lg);color:var(--text-primary);font-weight:700;line-height:1.3}.modal-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1);line-height:1.5}.modal-close{border-radius:var(--radius);width:32px;height:32px;color:var(--text-tertiary);transition:all var(--duration-fast) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--bg-muted);color:var(--text-primary)}.modal-body{padding:0 var(--space-6) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6) var(--space-6);display:flex}.dashboard-zone{padding:var(--space-5);padding-left:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border);border-left:3px solid var(--border);background:var(--bg-card);transition:border-color var(--duration-fast) var(--ease)}.dashboard-zone:hover{border-left-color:var(--gray-300)}.dashboard-zone:has(.zone-icon-blue){border-left-color:var(--primary)}.dashboard-zone:has(.zone-icon-amber){border-left-color:var(--warning)}.dashboard-zone:has(.zone-icon-green){border-left-color:var(--success)}.dashboard-zone:has(.zone-icon-purple){border-left-color:#7c3aed}.dashboard-zone-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-light);display:flex}.zone-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.zone-icon-blue{background:var(--primary-light);color:var(--primary)}.zone-icon-amber{background:var(--warning-light);color:var(--warning)}.zone-icon-green{background:var(--success-light);color:var(--success)}.zone-icon-purple{color:#7c3aed;background:#f5f3ff}.dashboard-zone-header .zone-title{font-size:var(--text-lg);color:var(--text-primary);font-weight:700;line-height:1.3}.dashboard-zone-header .zone-desc{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:2px}.zone-content{gap:var(--space-5);flex-direction:column;display:flex}.dashboard-zone>.card,.dashboard-zone>.grid-2>.card,.dashboard-zone>.grid-3>.card{box-shadow:none;background:var(--bg-muted);border:none}.dashboard-zone>.card .card-header,.dashboard-zone>.grid-2>.card .card-header,.dashboard-zone>.grid-3>.card .card-header{border-bottom-color:var(--border)}.dashboard-zone .table-wrap{border:none}@media (width<=1024px){.project-hero{flex-direction:column;align-items:flex-start}.project-hero-actions{align-items:flex-start;width:100%}.flow-strip,.level-grid-5,.level-card-grid,.rating-scale-bar{grid-template-columns:repeat(2,1fr)}.factor-card-head{flex-direction:column}.factor-rating-row{grid-template-columns:1fr}.dashboard-zone{padding:var(--space-4);padding-left:var(--space-5)}.dashboard-zone-header{flex-wrap:wrap}}@media (width<=768px){.hero-metrics,.audit-item{grid-template-columns:1fr}.audit-meta{text-align:left}.level-grid-5,.level-card-grid,.rating-scale-bar{grid-template-columns:1fr}.dashboard-zone-header .zone-desc{display:none}}
