:root{--primary: #22c55e;--primary-dark: #16a34a;--secondary: #94a3b8;--danger: #ef4444;--warning: #f59e0b;--success: #22c55e;--bg: #0f172a;--bg-light: #111827;--text: #f8fafc;--text-muted: #94a3b8;--border: #1f2937;--sidebar-width: 260px;--header-height: 64px;color-scheme:dark;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{line-height:1.5;background:var(--bg);min-height:100vh}.app-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;height:100vh;position:relative}.app-main{display:flex;flex-direction:column;height:100%;position:relative;z-index:10}.app-header{height:var(--header-height);background:var(--bg-light);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 32px;flex-shrink:0;z-index:5}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%}.header-titles{display:flex;flex-direction:column;gap:4px}.header-titles h2{margin:0;font-size:20px;color:var(--text)}.header-titles p{margin:0;font-size:12px;color:var(--text-muted)}.header-actions{display:flex;gap:12px;align-items:center}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff0d;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;color:var(--text);position:relative}.header-icon-btn:hover{background:#ffffff1a}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:10px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.app-content{flex:1;overflow-y:auto;padding:32px;background:var(--bg)}.sidebar{position:relative;width:var(--sidebar-width);height:100vh;background:var(--bg-light);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:1000;overflow-y:auto}.sidebar-header{padding:24px 16px;border-bottom:1px solid var(--border)}.logo{display:flex;gap:12px;align-items:center}.logo-icon{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#10b9811a;border-radius:8px}.logo h1{margin:0;font-size:18px;font-weight:700;color:var(--text)}.logo p{margin:0;font-size:11px;color:var(--text-muted)}.sidebar-nav{display:flex;flex-direction:column;flex:1;gap:24px;padding:16px;overflow-y:auto}.nav-section{display:flex;flex-direction:column;gap:8px}.nav-label{margin:0;padding:0 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;text-align:left}.nav-item:hover{background:#ffffff0d;color:var(--text)}.nav-item.active{background:#ffffff0a;color:var(--text);border-left:3px solid var(--primary);padding-left:9px}.language-selector{display:flex;flex-direction:column;gap:6px;padding:0 12px}.language-selector label{font-size:11px;color:var(--text-muted);font-weight:600}.language-selector select{padding:8px 10px;background:#ffffff0d;border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:13px;cursor:pointer;transition:all .2s}.auth-panel{display:flex;flex-direction:column;gap:8px;padding:0 12px;font-size:12px}.auth-form{gap:10px}.auth-label{display:flex;flex-direction:column;gap:6px;color:var(--text-muted);font-size:12px}.auth-input{padding:8px 10px;background:#ffffff0d;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px}.auth-actions{display:flex;flex-direction:column;gap:6px}.auth-btn{background:var(--primary);border:1px solid var(--primary);color:#0b0f1a;border-radius:6px;padding:8px 10px;font-size:12px;cursor:pointer}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-link{background:transparent;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;text-align:left;padding:0}.auth-status{margin:0;color:var(--text-muted)}.auth-error{margin:0;color:var(--danger);font-size:11px}.auth-hint{margin:0;color:var(--text-muted);font-size:11px}.panel-note{margin:0 0 12px;color:var(--text-muted);font-size:13px}.panel-error{margin:0 0 12px;color:var(--danger);font-size:13px}.form-error{margin:0;color:var(--danger);font-size:13px}.form-success{margin:0;color:var(--success);font-size:13px}.language-selector select:hover{background:#ffffff1a;border-color:var(--primary)}.language-selector select:focus{outline:none;border-color:var(--primary);background:#ffffff1a}.mobile-menu-btn{display:none;position:fixed;top:16px;left:16px;width:44px;height:44px;background:var(--bg-light);border:1px solid var(--border);border-radius:8px;cursor:pointer;z-index:1100;color:var(--text)}.mobile-menu-btn:hover{background:#ffffff1a}.sidebar-overlay{display:none}.hero-section{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:64px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-content h1{margin:0 0 16px;font-size:48px;font-weight:700;color:var(--text);line-height:1.2}.hero-content p{margin:0;font-size:16px;color:var(--text-muted);line-height:1.6}.eyebrow{display:inline-block;padding:4px 12px;background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);font-size:12px;font-weight:600;margin-bottom:16px}.scan-card{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--bg-light);border:1px solid var(--border);border-radius:12px}.scan-road{position:relative;height:120px;background:#1f2937;border-radius:8px;overflow:hidden}.lane{position:absolute;width:100%;height:4px;background:repeating-linear-gradient(90deg,#94a3b8 0px,#94a3b8 20px,transparent 20px,transparent 40px);top:50%;transform:translateY(-50%)}.damage{position:absolute;background:#f87171;border-radius:4px}.damage-a{width:60px;height:12px;left:20%;top:40%}.damage-b{width:40px;height:16px;left:65%;top:55%;animation-delay:.5s}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.scanner{position:absolute;width:4px;height:100%;background:linear-gradient(90deg,transparent,var(--primary),transparent)}@keyframes scan{0%{left:0%}to{left:100%}}.scan-output{display:flex;align-items:center;gap:8px;padding:12px;background:#ffffff05;border-radius:6px;font-size:13px;color:var(--text-muted);font-family:Courier New,monospace}.problem-band{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:64px}.problem-card{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--bg-light);border:1px solid var(--border);border-radius:12px}.problem-card:hover{border-color:#ffffff1f}.problem-card svg{width:32px;height:32px;color:var(--text-muted)}.problem-card strong{color:var(--text);font-size:16px}.problem-card span{color:var(--text-muted);font-size:14px;line-height:1.5}.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:64px}.workflow h2{grid-column:1 / -1;margin:0 0 16px;font-size:28px;color:var(--text)}.workflow-card{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--bg-light);border:1px solid var(--border);border-radius:12px;position:relative}.step-number{position:absolute;top:-12px;left:12px;width:32px;height:32px;background:var(--bg);border:1px solid var(--border);color:var(--text);display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:14px}.workflow-card h3{margin:8px 0 0;font-size:16px;color:var(--text)}.workflow-card p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5}.backend-section{display:flex;flex-direction:column;gap:24px;margin-bottom:64px}.backend-header h2{margin:0 0 8px;font-size:28px;color:var(--text)}.backend-header p{margin:0;color:var(--text-muted);font-size:15px}.backend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.backend-card{padding:20px;background:var(--bg-light);border:1px solid var(--border);border-radius:12px}.backend-card h3{margin:0 0 8px;font-size:16px;color:var(--text)}.backend-card p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.5}.report-form{display:flex;flex-direction:column;gap:24px;max-width:800px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:var(--text)}.form-group textarea,.form-group input{padding:12px;background:#ffffff08;border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;transition:all .2s}.form-group textarea:focus,.form-group input:focus{outline:none;border-color:#fff3;background:#ffffff0f}.form-group textarea{min-height:120px;resize:vertical}.upload-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upload-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;transition:all .2s;font-size:13px;font-weight:600}.upload-btn:hover{border-color:#fff3}.upload-btn input{display:none}.media-section{display:flex;flex-direction:column;gap:16px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.image-item{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1;border:1px solid var(--border)}.image-item img{width:100%;height:100%;object-fit:cover}.image-item .remove-btn{position:absolute;top:4px;right:4px;width:28px;height:28px;background:#000000b3;border:none;border-radius:4px;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center}.audio-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-light);border:1px solid var(--border);border-radius:8px}.audio-item audio{flex:1;margin-right:12px}.audio-item .remove-btn{background:#ef444433;border:1px solid var(--danger);color:var(--danger);padding:8px 12px;border-radius:4px;cursor:pointer;font-size:12px}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.video-item{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:16 / 9;border:1px solid var(--border)}.video-item video{width:100%;height:100%;object-fit:cover}.video-item .remove-btn{position:absolute;top:4px;right:4px;width:28px;height:28px;background:#000000b3;border:none;border-radius:4px;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center}.dashboard-filters{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.filter-btn{padding:8px 16px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s;font-size:13px;font-weight:500}.filter-btn.active{background:#ffffff0a;border-color:#fff3;color:var(--text)}.filter-btn:hover{border-color:var(--primary)}.report-card{padding:20px;background:#ffffff05;border:1px solid var(--border);border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.report-info{flex:1}.report-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.report-location{font-size:14px;font-weight:600;color:var(--text)}.report-severity{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600}.report-severity.critical{background:#ef444433;color:#fca5a5}.report-severity.high{background:#f59e0b33;color:#fcd34d}.report-severity.medium{background:#3b82f633;color:#93c5fd}.report-description{font-size:14px;color:var(--text-muted);margin-bottom:8px}.report-meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted)}.report-actions{display:flex;flex-direction:column;gap:8px}.action-btn{padding:8px 12px;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:12px;transition:all .2s}.action-btn:hover{border-color:#fff3;color:var(--text)}.trust-score-card{max-width:600px;margin-bottom:40px}.score-display{display:flex;align-items:center;gap:24px;padding:32px;background:var(--bg-light);border:1px solid var(--border);border-radius:12px;margin-bottom:20px}.score-circle{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--primary) 0deg,var(--primary) 280deg,var(--border) 280deg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.score-value{font-size:36px;font-weight:700;color:var(--text)}.score-info{flex:1}.score-info h3{margin:0 0 8px;font-size:20px;color:var(--text)}.score-info p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.6}.score-explanation{padding:16px;background:var(--bg-light);border:1px solid var(--border);border-radius:8px;margin-top:12px}.score-explanation h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:8px}.explanation-content{font-size:13px;color:var(--text-muted);line-height:1.6;max-height:0;overflow:hidden;transition:max-height .3s}.explanation-content.open{max-height:500px}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-card{padding:16px;background:var(--bg-light);border:1px solid var(--border);border-radius:8px;text-align:center}.metric-value{font-size:24px;font-weight:700;color:var(--text)}.metric-label{font-size:12px;color:var(--text-muted);margin-top:4px}.submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:var(--primary);border:none;border-radius:8px;color:#0b0f1a;font-weight:600;cursor:pointer;transition:all .2s}.submit-btn:hover,.submit-btn:active{background:var(--primary-dark)}.success-message{padding:16px;background:#22c55e1a;border:1px solid var(--primary);border-radius:8px;color:var(--text);display:flex;align-items:center;gap:12px;margin-bottom:24px}.success-message svg{color:var(--primary);flex-shrink:0}@media(max-width:1024px){.app-layout{grid-template-columns:1fr}.sidebar{transform:translate(-100%);transition:transform .3s}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:999}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.app-main{padding-top:60px}.app-header{padding:0 16px}.hero-section{grid-template-columns:1fr}}@media(max-width:768px){.upload-buttons{grid-template-columns:repeat(2,1fr)}.metric-strip,.problem-band,.workflow,.backend-grid{grid-template-columns:1fr}}@media(max-width:480px){.hero-content h1{font-size:32px}.upload-buttons{grid-template-columns:1fr}.submit-btn,.auth-btn,.filter-btn,.action-btn{width:100%;justify-content:center}}
