*{margin:0;padding:0;box-sizing:border-box}:root{--mill:#00373E;--med:#007172;--teal:#53C1AD;--sky:#BAE6DE;--gold:#8B784A;--red:#A52502;--lcd:#F1F1F1;--dark:#03282D;--bg:#f7f8fa;--card-bg:#fff;--card-border:#e8ebe9;--text-primary:var(--mill);--text-secondary:#666;--text-muted:#999;--row-hover:#f7faf9;--divider:#f0f2f1;--divider-light:#f5f5f5}[data-theme=dark]{--bg:#00373E;--card-bg:#004a52;--card-border:#007172;--text-primary:#F1F1F1;--text-secondary:#BAE6DE;--text-muted:#53C1AD;--row-hover:#005d65;--divider:#006268;--divider-light:#005a60;--sky:#007172;--lcd:#03282D}[data-theme=dark] body{background:var(--bg);color:var(--text-primary)}[data-theme=dark] .sidebar{background:#03282d}[data-theme=dark] .card,[data-theme=dark] .mc,[data-theme=dark] .sp{background:var(--card-bg);border-color:var(--card-border)}[data-theme=dark] .tbl th{background:#03282d;color:var(--text-secondary)}[data-theme=dark] .tbl td{border-color:var(--divider);color:var(--text-primary)}[data-theme=dark] .tbl tr:hover,[data-theme=dark] .finding-row:hover{background:var(--row-hover)}[data-theme=dark] .finding-detail{background:#03282d}[data-theme=dark] .login-card{background:var(--card-bg);color:var(--text-primary)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#03282d;border-color:var(--card-border);color:var(--text-primary)}[data-theme=dark] .onboard-step,[data-theme=dark] .connector-card{background:var(--card-bg);border-color:var(--card-border)}[data-theme=dark] .toast{background:var(--teal);color:var(--mill)}[data-theme=dark] .tabs button{background:var(--card-bg);border-color:var(--card-border);color:var(--text-primary)}[data-theme=dark] .tabs button.active{background:var(--teal);color:#00373e;border-color:var(--teal)}[data-theme=dark] .btn-o{border-color:var(--card-border);color:var(--text-secondary)}[data-theme=dark] .grade{opacity:.95}[data-theme=dark] .badge{opacity:.9}body{font-family:Poppins,sans-serif;background:var(--bg);color:var(--text-primary);min-height:100vh}.sidebar{position:fixed;left:0;top:0;width:220px;height:100%;background:var(--mill);padding:20px 0;z-index:10;display:flex;flex-direction:column}.sidebar .logo{padding:0 20px 24px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}.sidebar .logo h1{color:var(--teal);font-size:17px;font-weight:700;letter-spacing:-.5px}.sidebar .logo span{color:var(--sky);font-size:10px;display:block;margin-top:2px;opacity:.7}.sidebar nav{flex:1}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--sky);font-size:13px;text-decoration:none;transition:.15s;font-weight:400;cursor:pointer;border-left:3px solid transparent}.sidebar nav a:hover{background:#53c1ad14;color:#fff}.sidebar nav a.active{background:#53c1ad1f;color:var(--teal);font-weight:500;border-left-color:var(--teal)}.sidebar .user-block{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.sidebar .user-block .av{width:32px;height:32px;border-radius:50%;background:var(--med);display:flex;align-items:center;justify-content:center;color:var(--sky);font-size:11px;font-weight:600}.sidebar .user-block p{color:var(--sky);font-size:11px;line-height:1.3}.sidebar .user-block .nm{color:#fff;font-weight:500;font-size:12px}.main{margin-left:220px;padding:24px 32px;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h2{font-size:20px;font-weight:600}.btn{padding:8px 16px;border-radius:8px;font-family:Poppins;font-size:12px;font-weight:500;cursor:pointer;transition:.15s;border:none}.btn-p{background:var(--med);color:#fff}.btn-p:hover{background:var(--mill)}.btn-o{background:transparent;color:var(--med);border:1px solid var(--sky)}.btn-o:hover{background:var(--sky);color:var(--mill)}.btn-d{background:var(--red);color:#fff}.btn-d:hover{opacity:.9}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px}.mc{background:var(--card-bg);border-radius:10px;padding:14px 16px;border:1px solid var(--card-border)}.mc .lb{font-size:10px;color:var(--gold);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.mc .vl{font-size:24px;font-weight:700;color:var(--text-primary)}.mc .vl.r{color:var(--red)}.mc .vl.g{color:var(--med)}.mc .vl.w{color:var(--gold)}.mc .sb{font-size:10px;color:var(--med);margin-top:2px}.card{background:var(--card-bg);border-radius:12px;border:1px solid var(--card-border);overflow:hidden}.card-h{padding:14px 18px;border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;align-items:center}.card-h h3{font-size:14px;font-weight:600}.tabs{display:flex;gap:0}.tabs button{padding:6px 14px;font-size:11px;font-family:Poppins;font-weight:500;border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;color:var(--text-primary)}.tabs button:first-child{border-radius:6px 0 0 6px}.tabs button:last-child{border-radius:0 6px 6px 0}.tabs button.active{background:var(--mill);color:#fff;border-color:var(--mill)}.tbl{width:100%}.tbl th{text-align:left;padding:8px 16px;font-size:10px;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:.5px;background:#fafbfa;border-bottom:1px solid var(--card-border)}.tbl td{padding:10px 16px;font-size:12px;border-bottom:1px solid var(--divider);vertical-align:middle}.tbl tr:hover{background:var(--row-hover);cursor:pointer}.grade{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;font-weight:700;font-size:14px}.g-a,.g-b{background:#e6f5f0;color:var(--med)}.g-c{background:#fef6e6;color:var(--gold)}.g-d{background:#fef0e6;color:var(--red)}.g-f{background:#fce8e4;color:var(--red)}.badge{padding:3px 10px;border-radius:12px;font-size:10px;font-weight:500;display:inline-block}.b-g{background:#e6f5f0;color:var(--med)}.b-y{background:#fef6e6;color:var(--gold)}.b-r{background:#fce8e4;color:var(--red)}.b-b{background:#e6f1fb;color:#185fa5}.ctrl-bar{display:flex;gap:3px;align-items:center}.ctrl-seg{height:16px;border-radius:2px;min-width:4px}.sp{background:var(--card-bg);padding:16px 18px;border-radius:12px;border:1px solid var(--card-border);margin-bottom:14px}.sp.dark{background:var(--mill);border-color:var(--med)}.sp h4{font-size:13px;font-weight:600;margin-bottom:10px}.sp.dark h4{color:var(--teal)}.login-bg{min-height:100vh;background:linear-gradient(135deg,var(--mill) 0%,var(--med) 50%,var(--teal) 100%);display:flex;align-items:center;justify-content:center}.login-card{background:#fff;border-radius:16px;padding:40px;width:400px;max-width:90vw;box-shadow:0 20px 60px #0000004d}.login-card h1{color:var(--teal);font-size:24px;font-weight:700;margin-bottom:4px}.login-card p{color:var(--gold);font-size:12px;margin-bottom:28px}input[type=email],input[type=password],input[type=text],input[type=number],select,textarea{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-family:Poppins;font-size:13px;margin-bottom:12px;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #53c1ad26}label{display:block;font-size:12px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.error-msg{color:var(--red);font-size:12px;margin-bottom:12px}.grid-2{display:grid;grid-template-columns:1fr 340px;gap:20px}@media (max-width:1200px){.grid-2{grid-template-columns:1fr}}@media (max-width:768px){.sidebar{display:none}.main{margin-left:0}}.fw-tag{padding:2px 8px;border-radius:4px;font-size:9px;font-weight:600;background:var(--sky);color:var(--mill);margin:2px}.progress-bar{height:8px;border-radius:4px;background:var(--card-border);overflow:hidden;margin:8px 0}.progress-fill{height:100%;border-radius:4px;background:var(--teal);transition:width .5s ease}.finding-row{padding:14px 18px;border-bottom:1px solid var(--divider);cursor:pointer;transition:.1s}.finding-row:hover{background:var(--row-hover)}.finding-detail{background:#fafbfa;padding:16px 18px;border-bottom:1px solid var(--card-border);font-size:12px;line-height:1.6}.domain-bar{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--divider-light)}.domain-bar .name{flex:1;font-size:12px}.domain-bar .pct{font-size:12px;font-weight:600;min-width:40px;text-align:right}.domain-bar .bar{width:100px;height:6px;border-radius:3px;background:var(--card-border);overflow:hidden}.domain-bar .fill{height:100%;border-radius:3px;transition:width .3s}.onboard-step{background:var(--card-bg);border-radius:12px;padding:32px;max-width:600px;margin:40px auto;border:1px solid var(--card-border)}.onboard-step h3{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.onboard-step p{font-size:13px;color:var(--text-secondary);margin-bottom:20px}.step-dots{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.step-dots .dot{width:10px;height:10px;border-radius:50%;background:#ddd;transition:.2s}.step-dots .dot.active{background:var(--teal);transform:scale(1.2)}.step-dots .dot.done{background:var(--med)}.check-group label{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:13px;cursor:pointer;font-weight:400}.check-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal)}.connector-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:16px;display:flex;align-items:center;gap:14px;margin-bottom:10px}.connector-card .icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#fff}.connector-card .aws{background:#f90}.connector-card .gcp{background:#4285f4}.connector-card .azure{background:#0078d4}.connector-card .info{flex:1}.connector-card .info h5{font-size:13px;font-weight:600;margin-bottom:2px}.connector-card .info p{font-size:11px;color:var(--text-muted)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}.status-dot.on{background:#22c55e}.status-dot.off{background:#ef4444}.status-dot.pending{background:var(--gold)}.toast{position:fixed;top:20px;right:20px;background:var(--mill);color:#fff;padding:12px 20px;border-radius:8px;font-size:13px;z-index:100;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.help-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--sky);color:var(--mill);font-size:9px;font-weight:700;cursor:help;margin-left:4px;vertical-align:middle}.help-tip:hover .help-content{display:block}.help-content{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:260px;padding:12px 14px;background:var(--mill);color:#fff;font-size:11px;font-weight:400;line-height:1.5;border-radius:8px;box-shadow:0 8px 24px #00000040;z-index:50}.help-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--mill)}.theme-toggle{width:32px;height:32px;border-radius:50%;background:#ffffff1a;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--sky);font-size:14px;transition:.2s}.theme-toggle:hover{background:#fff3}.signal-bar{display:flex;align-items:center;gap:0;margin-bottom:16px;background:var(--card-bg);border:1px solid var(--card-border,#e8ebe9);border-radius:12px;padding:4px;overflow:hidden}.signal-segment{display:flex;align-items:center;gap:10px;padding:14px 20px;cursor:pointer;border-radius:10px;transition:.15s;flex:none}.signal-segment:hover,.signal-segment.active{background:#0000000a}[data-theme=dark] .signal-segment:hover,[data-theme=dark] .signal-segment.active{background:#ffffff0f}.signal-dot-lg{width:14px;height:14px;border-radius:50%;flex-shrink:0}.signal-dot-bar{width:22px;height:22px;border-radius:50%;flex-shrink:0}.signal-count{font-size:22px;font-weight:700;display:block;line-height:1}.signal-label{font-size:10px;color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.signal-summary{margin-left:auto;display:flex;align-items:center;gap:10px;padding:0 16px}.signal-health-ring{position:relative;width:48px;height:48px;flex-shrink:0}.ring-pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--text-primary)}.view-toggle{display:flex;border:1px solid var(--card-border,#e8ebe9);border-radius:8px;overflow:hidden}.view-toggle button{padding:6px 14px;font-size:11px;font-weight:600;background:var(--card-bg);border:none;cursor:pointer;color:var(--text-secondary,#666);font-family:Poppins,sans-serif;transition:background .15s,color .15s}.view-toggle button.active{background:var(--teal);color:#fff}.view-toggle button:hover:not(.active){background:#53c1ad0f}.client-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;padding:16px}.client-card{background:var(--card-bg);border:1px solid var(--card-border,#e8ebe9);border-radius:12px;padding:16px;cursor:pointer;transition:.2s;border-left:5px solid transparent}.client-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.signal-border-green{border-left-color:#2a9d6e}.signal-border-amber{border-left-color:#d4930d}.signal-border-red{border-left-color:#c73e1d}.signal-border-pending{border-left-color:#999}.cc-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.cc-info{flex:1;min-width:0}.cc-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-meta{font-size:10px;color:var(--text-muted,#888);margin-top:2px}.cc-grade{flex-shrink:0}.cc-findings{display:flex;gap:10px;font-size:11px;color:var(--text-secondary,#666);margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--divider,#f0f0f0)}.cc-crit{color:#c73e1d;font-weight:600}.cc-high{color:#d4930d;font-weight:600}.cc-action{padding:8px 12px;border-radius:8px;font-size:11px}.cc-action-label{font-weight:700;display:block;margin-bottom:2px}.cc-action-desc{color:var(--text-muted,#888);font-size:10px}.act-bind{background:#2a9d6e14;color:#2a9d6e}.act-cond{background:#d4930d14;color:#a17600}.act-refer{background:#c73e1d14;color:#c73e1d}.act-decline{background:#a5250214;color:#a52502}.act-pending{background:#00000008;color:var(--text-muted,#999)}.ai-survey-step{animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card,.mc,.sp{transition:box-shadow .2s,border-color .2s}.card:hover{box-shadow:0 2px 12px #0000000a}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #53c1ad1f}.tbl tbody tr{transition:background .1s}.tbl tbody tr:last-child td{border-bottom:none}.badge{transition:background .15s,color .15s;letter-spacing:.2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.empty-state{padding:40px 20px;text-align:center;color:var(--text-muted)}.empty-state p{font-size:13px;line-height:1.6;max-width:360px;margin:0 auto}.skeleton{background:linear-gradient(90deg,var(--divider) 25%,var(--card-border) 50%,var(--divider) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}@media (max-width:1024px){.metrics{grid-template-columns:repeat(2,1fr)}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.topbar>div:last-child{width:100%;display:flex;flex-wrap:wrap;gap:8px}}@media (max-width:768px){.main{padding:16px}.metrics{grid-template-columns:1fr}.signal-bar{flex-wrap:wrap}.client-cards{grid-template-columns:1fr}}@media print{.sidebar,.topbar .btn,.view-toggle,.toast{display:none!important}.main{margin-left:0;padding:0}.card{border:1px solid #ddd;break-inside:avoid}}.portal{display:flex;min-height:100vh}.portal-side{position:fixed;left:0;top:0;width:220px;height:100%;background:#fff;border-right:1px solid var(--card-border);padding:0;z-index:10;display:flex;flex-direction:column}.portal-side .portal-brand{padding:20px 20px 16px;border-bottom:1px solid var(--divider)}.portal-side .portal-brand h1{font-size:17px;font-weight:700;color:var(--teal);letter-spacing:-.5px}.portal-side .portal-brand .portal-sub{font-size:10px;color:var(--text-muted);margin-top:2px}.portal-side .portal-company{padding:14px 20px;border-bottom:1px solid var(--divider);font-size:12px;font-weight:600;color:var(--text-primary);background:var(--bg)}.portal-side nav{flex:1;padding:8px 0}.portal-side nav a{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--text-secondary);font-size:13px;text-decoration:none;cursor:pointer;border-left:3px solid transparent;transition:.15s}.portal-side nav a:hover{background:#53c1ad0f;color:var(--text-primary)}.portal-side nav a.active{background:#53c1ad1a;color:var(--med);font-weight:500;border-left-color:var(--teal)}.portal-side nav a svg{opacity:.6}.portal-side nav a.active svg{opacity:1}.portal-side .portal-user{padding:14px 20px;border-top:1px solid var(--divider);display:flex;align-items:center;justify-content:space-between}.portal-side .portal-user .portal-name{font-size:12px;font-weight:500;color:var(--text-primary)}.portal-side .portal-user .portal-role{font-size:10px;color:var(--text-muted)}.portal-side .portal-user .portal-logout{font-size:11px;color:var(--text-muted);cursor:pointer;text-decoration:none;padding:4px 8px;border-radius:4px;transition:.15s}.portal-side .portal-user .portal-logout:hover{background:var(--bg);color:var(--red)}.portal-main{margin-left:220px;padding:32px;flex:1;min-height:100vh}.portal-main .portal-content{max-width:800px;margin:0 auto}.portal-main .portal-topbar{margin-bottom:24px}.portal-main .portal-topbar h2{font-size:18px;font-weight:600;color:var(--text-primary)}.portal-main .portal-topbar p{font-size:12px;color:var(--text-muted);margin-top:2px}[data-theme=dark] .portal-side{background:#03282d;border-color:var(--card-border)}[data-theme=dark] .portal-side .portal-company{background:var(--bg)}[data-theme=dark] .portal-side nav a{color:var(--text-secondary)}[data-theme=dark] .portal-side nav a:hover{background:#53c1ad14;color:var(--text-primary)}[data-theme=dark] .portal-side nav a.active{background:#53c1ad1f;color:var(--teal)}[data-theme=dark] .portal-side .portal-user{border-color:var(--card-border)}@media (max-width:768px){.portal-side{display:none}.portal-main{margin-left:0;padding:16px}}.tf-wrap{max-width:720px;margin:0 auto;min-height:60vh;position:relative}.tf-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:40vh}.tf-progress{position:sticky;top:0;height:4px;background:var(--divider,#e8ebe9);z-index:5;border-radius:2px;margin-bottom:32px}.tf-bar{height:100%;background:linear-gradient(90deg,var(--teal),var(--med));border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}.tf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;font-size:13px;color:var(--text-muted);font-weight:500}.tf-counter{font-size:11px;color:var(--text-muted);background:var(--bg);padding:2px 10px;border-radius:12px;font-weight:600}.tf-body{animation:tfEnter .3s ease}@keyframes tfEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tf-content{padding-bottom:20px}.tf-single{display:flex;flex-direction:column;min-height:50vh;justify-content:center}.tf-title{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:6px;line-height:1.3}.tf-sub{font-size:14px;color:var(--text-muted);margin-bottom:28px;line-height:1.6}.tf-q-num{font-size:14px;font-weight:700;color:var(--teal);margin-bottom:8px}.tf-q{font-size:20px;font-weight:600;color:var(--text-primary);line-height:1.5;margin-bottom:8px}.tf-req{display:inline-block;font-size:10px;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px}.tf-field{margin-bottom:24px}.tf-label{display:block;font-size:14px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.tf-desc{font-size:12px;color:var(--text-muted);margin-bottom:10px;line-height:1.5}.tf-cards{display:flex;flex-direction:column;gap:8px}.tf-card{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--card-bg);border:1.5px solid var(--card-border,#e0e3e5);border-radius:10px;cursor:pointer;transition:all .15s ease;text-align:left;font-size:13px;color:var(--text-primary);width:100%}.tf-card:hover{border-color:var(--teal);background:#53c1ad08;transform:translate(4px)}.tf-card.sel{border-color:var(--teal);background:#53c1ad14;box-shadow:0 0 0 1px var(--teal)}.tf-card.sel .tf-key{background:var(--teal);color:#fff;border-color:var(--teal)}.tf-card-full{padding:16px 20px;font-size:14px}.tf-key{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1.5px solid var(--card-border,#d0d3d5);border-radius:6px;font-size:11px;font-weight:700;color:var(--text-muted);flex-shrink:0;transition:.15s}.tf-text{flex:1;line-height:1.4}.tf-check{color:var(--teal);font-weight:700;font-size:16px;flex-shrink:0}.tf-options{display:flex;flex-direction:column;gap:10px;margin-top:20px;margin-bottom:16px}.tf-textarea{width:100%;padding:12px 16px;font-size:13px;border:1.5px solid var(--card-border,#e0e3e5);border-radius:10px;resize:vertical;background:var(--card-bg);color:var(--text-primary);font-family:inherit;transition:.15s}.tf-textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #53c1ad1a}.tf-hint{font-size:11px;color:var(--text-muted);text-align:center;margin-bottom:20px}.tf-hint kbd{display:inline-block;padding:2px 7px;background:var(--bg);border:1px solid var(--card-border,#d0d3d5);border-radius:4px;font-size:10px;font-weight:600;font-family:inherit}.tf-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--divider,#e8ebe9)}.tf-back{padding:10px 18px;border:1.5px solid var(--card-border,#d0d3d5);border-radius:8px;background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer;font-weight:500;transition:.15s}.tf-back:hover{border-color:var(--text-secondary);color:var(--text-primary)}.tf-next,.tf-submit{padding:12px 28px;border:none;border-radius:8px;background:var(--teal);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #53c1ad40}.tf-next:hover,.tf-submit:hover{background:var(--med);transform:translateY(-1px);box-shadow:0 4px 16px #53c1ad4d}.tf-next:disabled,.tf-submit:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.tf-review{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.tf-review-row{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--card-bg);border:1.5px solid var(--card-border,#e0e3e5);border-radius:10px;cursor:pointer;transition:.15s;width:100%;text-align:left;font-size:13px;color:var(--text-primary)}.tf-review-row:hover{border-color:var(--teal);transform:translate(4px)}.tf-review-left{display:flex;align-items:center;gap:10px;font-weight:500}.tf-review-right{display:flex;align-items:center;gap:10px}.tf-review-ct{font-size:12px;color:var(--text-muted)}.tf-review-badge{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.tf-review-badge.done{background:#2a9d6e;color:#fff}.tf-review-badge.warn{background:#d4930d;color:#fff}.tf-error{padding:12px 16px;background:#a525020f;border:1px solid rgba(165,37,2,.15);border-radius:8px;color:var(--red);font-size:12px;margin-bottom:16px}.tf-grade-orb{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:800;color:#fff;margin:0 auto;animation:tfPop .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes tfPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.tf-domain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0;max-width:480px;width:100%}.tf-domain-card{padding:16px 12px;background:var(--card-bg);border:1px solid var(--card-border,#e8ebe9);border-radius:10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.tf-domain-name{font-size:11px;font-weight:600;color:var(--text-muted)}.tf-domain-score{font-size:22px;font-weight:700}.tf-recs{padding:16px;background:#a525020a;border:1px solid rgba(165,37,2,.12);border-radius:10px;margin-top:16px;max-width:480px;width:100%;text-align:left}.tf-rec{font-size:12px;line-height:1.6;margin-bottom:8px;padding-left:12px;border-left:2px solid var(--gold)}[data-theme=dark] .tf-card{background:var(--card-bg);border-color:var(--card-border)}[data-theme=dark] .tf-card:hover{background:#53c1ad0f}[data-theme=dark] .tf-card.sel{background:#53c1ad1f}[data-theme=dark] .tf-textarea{background:var(--card-bg);border-color:var(--card-border)}@media (max-width:640px){.tf-wrap{padding:0 16px}.tf-card-full{padding:12px 14px;font-size:13px}.tf-title{font-size:18px}.tf-q{font-size:17px}.tf-domain-grid{grid-template-columns:repeat(2,1fr)}}.empty-state{padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center}.empty-state .empty-icon{font-size:40px;margin-bottom:16px;opacity:.6}.empty-state h3{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.empty-state p{font-size:13px;line-height:1.6;max-width:360px;margin:0 auto;color:var(--text-muted)}.skeleton{background:linear-gradient(90deg,var(--card-bg) 25%,var(--divider,#e8ebe9) 50%,var(--card-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{height:120px;border-radius:12px;margin-bottom:16px}.skeleton-row{height:48px;margin-bottom:8px;border-radius:8px}.skeleton-text{height:14px;margin-bottom:10px;border-radius:4px;width:60%}.skeleton-title{height:20px;margin-bottom:14px;border-radius:4px;width:40%}.page-enter{animation:pageIn .3s ease}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast{position:fixed;top:20px;right:20px;background:var(--mill);color:#fff;padding:12px 20px;border-radius:10px;font-size:13px;z-index:1000;animation:toastIn .3s ease;box-shadow:0 8px 32px #00000026;max-width:400px}.toast-success{background:var(--med)}.toast-error{background:var(--red)}.toast-warning{background:var(--gold);color:var(--mill)}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
