:root{--red:#a50000;--red2:#d71920;--ink:#17191d;--muted:#6b7280;--line:#e5e7eb;--surface:#fff;--bg:#f4f5f7;--success:#087a4b;--warning:#a15c00;--danger:#b42318;--info:#225ea8;--radius:16px;--shadow:0 12px 35px rgba(20,25,34,.08)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh}a{color:var(--red);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.muted{color:var(--muted)}.tiny{font-size:.78rem}.eyebrow{font-size:.72rem;letter-spacing:.16em;font-weight:800;color:var(--red);margin:0 0 .45rem}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--red2),#6d0000);color:#fff;font-weight:900;font-style:italic;box-shadow:0 8px 20px rgba(165,0,0,.25)}.brand div{display:grid}.brand small{color:var(--muted)}.brand.large .brand-mark{width:52px;height:52px;font-size:1.25rem}.brand.light small,.brand.light b{color:#fff}.guest-content{min-height:100vh}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(400px,1.05fr) minmax(420px,.95fr)}.auth-hero{padding:clamp(2rem,6vw,5rem);display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(145deg,rgba(79,0,0,.94),rgba(165,0,0,.88)),radial-gradient(circle at 80% 20%,#f44,transparent 40%);overflow:hidden;position:relative}.auth-hero:after{content:"R8";position:absolute;right:-3vw;bottom:2vh;font-size:clamp(12rem,30vw,34rem);font-weight:950;color:rgba(255,255,255,.055);line-height:.7;pointer-events:none}.auth-hero>div,.auth-hero>small{position:relative;z-index:1}.auth-hero h1{font-size:clamp(2.2rem,4.5vw,4.8rem);line-height:.98;max-width:850px;margin:.5rem 0 1.2rem}.auth-hero p:not(.eyebrow){font-size:1.05rem;line-height:1.7;max-width:650px;color:#f6dede}.auth-hero .eyebrow{color:#ffb9b9}.auth-panel{display:grid;place-items:center;padding:2rem;background:#f8f9fb}.auth-card{width:min(100%,440px);background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(1.4rem,4vw,2.4rem);box-shadow:var(--shadow)}.auth-card h2,.auth-card h1{margin:.2rem 0}.form-stack{display:grid;gap:1rem;margin-top:1.4rem}label{display:grid;gap:.45rem;font-weight:650;font-size:.9rem}input,select,textarea{width:100%;border:1px solid #d7dbe2;border-radius:10px;background:#fff;padding:.78rem .85rem;color:var(--ink);outline:none;min-height:44px}textarea{resize:vertical;min-height:100px}input:focus,select:focus,textarea:focus{border-color:var(--red2);box-shadow:0 0 0 3px rgba(215,25,32,.12)}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:auto;accent-color:var(--red);flex:0 0 auto}.password-field{display:flex}.password-field input{border-radius:10px 0 0 10px}.password-field button{border:1px solid #d7dbe2;border-left:0;border-radius:0 10px 10px 0;background:#f5f5f5;padding:0 .9rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid transparent;border-radius:10px;min-height:42px;padding:.65rem 1rem;font-weight:750;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--red2),var(--red));color:#fff;box-shadow:0 7px 16px rgba(165,0,0,.16)}.btn-outline{border-color:#cfd3da;background:#fff;color:var(--ink)}.btn-danger{background:#fff0ef;border-color:#ffc9c4;color:var(--danger)}.btn-success{background:#eaf8f1;border-color:#b9e5cf;color:var(--success)}.btn-sm{min-height:34px;padding:.42rem .7rem;font-size:.82rem}.btn-block{width:100%;margin-top:.6rem}.install-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at top left,#ffe6e6,transparent 40%),var(--bg)}.install-card{width:min(100%,620px)}.setup-note{padding:1rem;background:#f6f7f9;border-radius:10px;margin-top:1.2rem;color:var(--muted);font-size:.86rem}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:#16181c;color:#fff;display:flex;flex-direction:column;padding:1.3rem;z-index:40}.sidebar .brand{padding:.35rem .25rem 1.5rem;border-bottom:1px solid #2c2f35}.sidebar .brand small{color:#9ca3af}.sidebar nav{display:grid;gap:.28rem;padding:1.2rem 0;overflow:auto}.sidebar nav a{color:#cdd1d7;display:flex;align-items:center;gap:.8rem;padding:.72rem .8rem;border-radius:10px;font-size:.9rem;font-weight:650}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:linear-gradient(90deg,rgba(215,25,32,.28),rgba(215,25,32,.04));box-shadow:inset 3px 0 var(--red2)}.sidebar nav a span{width:22px;text-align:center}.sidebar-user{margin-top:auto;border-top:1px solid #2c2f35;padding-top:1rem;display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center}.sidebar-user div{display:grid;min-width:0}.sidebar-user b,.sidebar-user small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user small{color:#999}.sidebar-user>a{color:#fff}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#ffe0e0;color:var(--red);font-weight:850}.avatar.small{width:32px;height:32px}.main-content{margin-left:270px;padding:clamp(1rem,3vw,2.3rem);min-height:100vh}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-heading h1{margin:0;font-size:clamp(1.55rem,3vw,2.35rem)}.heading-meta{color:var(--muted);font-size:.88rem}.mobile-topbar{display:none}.sidebar-backdrop{display:none}.alert{padding:.9rem 1rem;border-radius:10px;border:1px solid;margin:0 0 1rem;font-size:.9rem}.alert-success{background:#eaf8f1;border-color:#b9e5cf;color:#08633e}.alert-danger{background:#fff0ef;border-color:#ffc9c4;color:#8f1d14}.alert-warning{background:#fff7e5;border-color:#ffdd98;color:#784600}.alert-info{background:#eef6ff;border-color:#c7ddf7;color:#194f88}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 22px rgba(20,25,34,.04);padding:1.2rem}.card h2,.card h3{margin:.05rem 0 .9rem}.stat-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.stat-card strong{display:block;font-size:1.8rem}.stat-card small{color:var(--muted)}.stat-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#fff0f0;color:var(--red);font-size:1.25rem}.hero-card{position:relative;overflow:hidden;background:linear-gradient(120deg,#750000,#c40000);color:#fff;border:0;min-height:185px;display:flex;align-items:center}.hero-card:after{content:"R8";position:absolute;right:-10px;font-size:11rem;font-weight:950;color:rgba(255,255,255,.08);pointer-events:none}.hero-card>*{position:relative;z-index:1}.hero-card h2{font-size:clamp(1.5rem,3vw,2.4rem);max-width:700px}.hero-card p{color:#ffd8d8;max-width:650px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.card-header h2,.card-header h3{margin:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.data-table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}.data-table th,.data-table td{text-align:left;padding:.8rem .85rem;border-bottom:1px solid var(--line);vertical-align:top;font-size:.86rem}.data-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#666;background:#f8f9fa;position:sticky;top:0}.data-table tr:last-child td{border-bottom:0}.actions{display:flex;gap:.45rem;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .58rem;font-size:.71rem;font-weight:800;white-space:nowrap}.badge-success{background:#e4f7ed;color:var(--success)}.badge-danger{background:#ffebe9;color:var(--danger)}.badge-warning{background:#fff3d8;color:var(--warning)}.badge-info{background:#e9f2fd;color:var(--info)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid .full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1rem}.help{font-weight:400;color:var(--muted);font-size:.78rem}.empty{padding:2.5rem 1rem;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:.3rem}.progress{height:9px;background:#eceef1;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--red2),var(--red));border-radius:inherit}.score-ring{--score:0;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--red2) calc(var(--score)*1%),#eceef1 0);position:relative}.score-ring:before{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}.score-ring strong{position:relative;font-size:1.25rem}.task-list{display:grid;gap:.8rem}.task-card{border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fff}.task-top{display:flex;justify-content:space-between;gap:1rem}.task-title{display:flex;gap:.75rem;align-items:flex-start}.task-title input{margin-top:.2rem}.task-title b{display:block}.task-title small{display:block;color:var(--muted);margin-top:.25rem;line-height:1.45}.task-meta{white-space:nowrap;color:var(--red);font-weight:850}.task-options{display:flex;gap:.55rem;flex-wrap:wrap;margin:.8rem 0}.choice{display:flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;font-weight:600;background:#fafafa}.choice:has(input:checked){border-color:#eb7a7e;background:#fff2f2;color:#8b0000}.task-details{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.8rem}.score-breakdown{display:flex;align-items:center;gap:1.2rem}.score-breakdown dl{display:grid;grid-template-columns:auto auto;gap:.4rem 1.4rem;margin:0}.score-breakdown dt{color:var(--muted)}.score-breakdown dd{font-weight:800;margin:0;text-align:right}.list-clean{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.list-clean li{padding:.65rem .75rem;background:#f7f8fa;border-radius:9px}.ai-panel{border:1px solid #d8d0ff;background:linear-gradient(135deg,#fbfaff,#f5f2ff)}.ai-label{color:#6d45c8;font-size:.75rem;font-weight:850;letter-spacing:.08em}.risk-list li{background:#fff2ef;color:#8e2d23}.filters{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}.filters label{min-width:150px}.filters .btn{margin-bottom:0}.kpi{font-variant-numeric:tabular-nums}.mobile-only{display:none}.print-only{display:none}
@media(max-width:1050px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{grid-template-columns:1fr}.auth-hero{min-height:42vh}.auth-panel{padding:1.2rem}.auth-card{margin-top:-3.5rem;position:relative;z-index:2}.auth-hero h1{max-width:700px}.auth-hero>small{display:none}}
@media(max-width:820px){.mobile-topbar{display:flex;position:sticky;top:0;height:58px;background:#16181c;color:#fff;align-items:center;justify-content:space-between;padding:0 1rem;z-index:35}.menu-toggle{border:0;background:transparent;color:#fff;font-size:1.45rem;padding:.4rem}.sidebar{transform:translateX(-105%);transition:.22s}.sidebar.open{transform:translateX(0)}.sidebar-backdrop.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:39}.main-content{margin-left:0;padding:1rem}.heading-meta{display:none}.page-heading{margin:1rem 0}.grid-3,.grid-2{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.task-details{grid-template-columns:1fr}.mobile-only{display:block}.data-table.mobile-cards{min-width:0}.data-table.mobile-cards thead{display:none}.data-table.mobile-cards,.data-table.mobile-cards tbody,.data-table.mobile-cards tr,.data-table.mobile-cards td{display:block;width:100%}.data-table.mobile-cards tr{padding:.7rem;border-bottom:1px solid var(--line)}.data-table.mobile-cards td{border:0;padding:.28rem .5rem}.data-table.mobile-cards td[data-label]:before{content:attr(data-label) ": ";font-weight:800;color:#555}.data-table.mobile-cards td.actions-cell:before{content:""}.score-breakdown{align-items:flex-start}.form-actions{position:sticky;bottom:0;background:rgba(255,255,255,.95);padding:.8rem;margin:1rem -.4rem -.4rem;border-top:1px solid var(--line);z-index:5}.form-actions .btn{flex:1}}
@media(max-width:540px){.auth-hero{padding:1.5rem;min-height:38vh}.auth-hero h1{font-size:2rem}.auth-hero p:not(.eyebrow){font-size:.9rem;line-height:1.45}.auth-card{padding:1.25rem;border-radius:18px}.grid-4{grid-template-columns:1fr}.card{padding:1rem}.task-top{display:block}.task-meta{display:block;margin:.45rem 0}.task-options{display:grid;grid-template-columns:1fr}.choice{min-height:48px}.score-breakdown{display:grid}.filters>*{width:100%}.filters label{width:100%}}
@media print{.sidebar,.mobile-topbar,.page-heading .heading-meta,.btn,.filters,.no-print{display:none!important}.main-content{margin:0;padding:0}.card{box-shadow:none;break-inside:avoid}.print-only{display:block}.page-heading{margin-bottom:1rem}body{background:#fff}}
.audit-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.audit-metrics>div{display:grid;gap:.3rem;padding:.85rem;border:1px solid #ded9f4;border-radius:12px;background:rgba(255,255,255,.78)}.audit-metrics span{font-size:.76rem;color:#6b6280}.audit-metrics strong{font-size:1.05rem;overflow-wrap:anywhere}.audit-findings{margin-top:1rem;border-top:1px solid #ded9f4;padding-top:1rem}.audit-findings summary{cursor:pointer;font-weight:800;color:#53399b;margin-bottom:.8rem}.audit-policy{border:1px solid var(--line);border-radius:12px;padding:1rem;background:#fafafa}
@media(max-width:820px){.audit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.audit-metrics{grid-template-columns:1fr}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.pending-count{font-size:2rem;color:var(--red)}.monitoring-table small{color:var(--muted)}.pending-list{max-height:390px;overflow:auto}.assistant-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:start}.assistant-main{padding:0;overflow:hidden}.assistant-main>.card-header{padding:1.2rem 1.2rem .8rem;margin:0}.assistant-privacy{margin:0 1.2rem;padding:.7rem .85rem;border-radius:10px;background:#f2efff;color:#53399b;font-size:.82rem}.chat-thread{height:min(58vh,650px);min-height:390px;overflow:auto;padding:1.2rem;display:flex;flex-direction:column;gap:1rem;background:linear-gradient(#fcfcfd,#f6f7f9)}.chat-welcome{text-align:center;margin:auto;max-width:560px;color:var(--muted)}.chat-welcome h3{color:var(--ink);font-size:1.35rem;margin:.7rem 0}.assistant-orb{display:grid;place-items:center;width:58px;height:58px;margin:auto;border-radius:18px;background:linear-gradient(135deg,#7a42d8,#b26dea);color:#fff;font-size:1.6rem;box-shadow:0 10px 24px rgba(109,69,200,.25)}.chat-message{max-width:min(82%,760px);border-radius:16px;padding:.85rem 1rem;box-shadow:0 4px 14px rgba(20,25,34,.06)}.chat-user{margin-left:auto;background:linear-gradient(135deg,var(--red2),var(--red));color:#fff;border-bottom-right-radius:5px}.chat-assistant{margin-right:auto;background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px}.chat-message-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.72rem;margin-bottom:.45rem;opacity:.75}.chat-message-text{line-height:1.55;font-size:.92rem}.chat-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.chat-suggestions form{margin:0}.chat-composer{display:grid;grid-template-columns:1fr auto;gap:.7rem;padding:1rem 1.2rem;border-top:1px solid var(--line);background:#fff}.chat-composer textarea{min-height:54px;max-height:150px}.chat-composer .btn{align-self:end;min-width:90px}.assistant-side{position:sticky;top:1rem}.assistant-prompts{display:grid;gap:.55rem}.assistant-prompts form{margin:0}.assistant-prompt{width:100%;text-align:left;border:1px solid var(--line);background:#fafafa;border-radius:10px;padding:.75rem;color:var(--ink);font-weight:650;cursor:pointer}.assistant-prompt:hover{border-color:#d5bfff;background:#f8f4ff;color:#53399b}
@media(max-width:1050px){.assistant-layout{grid-template-columns:1fr}.assistant-side{position:static}.assistant-prompts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.chat-thread{min-height:360px;height:54vh;padding:.8rem}.chat-message{max-width:92%}.chat-composer{grid-template-columns:1fr;padding:.8rem}.chat-composer .btn{width:100%}.assistant-prompts{grid-template-columns:1fr}.assistant-main>.card-header{align-items:flex-start;flex-direction:column}.assistant-privacy{margin:0 .8rem}.report-title .card-header{align-items:flex-start}}

/* Official RS8 brand asset */
.brand-official{display:flex;align-items:center;justify-content:flex-start}
.brand-official .brand-logo{display:block;width:min(190px,100%);height:auto;max-height:64px;object-fit:contain}
.sidebar .brand-official{justify-content:center;padding:.2rem .2rem .8rem;margin-bottom:.2rem;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar .brand-official .brand-logo{width:min(190px,100%);max-height:60px}
.brand-login{justify-content:flex-start}
.brand-login .brand-logo{width:min(320px,74vw);max-height:92px}
.brand-installer{justify-content:center;margin-bottom:.7rem}
.brand-installer .brand-logo{width:min(250px,72vw);max-height:76px}
.mobile-brand-logo{display:block;width:118px;height:32px;object-fit:contain}
.auth-hero:after{content:"RS8"}
@media(max-width:820px){.sidebar .brand-official .brand-logo{width:176px;max-height:56px}.brand-login .brand-logo{width:min(286px,78vw);max-height:82px}.mobile-brand-logo{width:110px;height:30px}}
@media(max-width:540px){.brand-login .brand-logo{width:min(250px,82vw);max-height:72px}.brand-installer .brand-logo{width:min(220px,74vw);max-height:68px}.mobile-brand-logo{width:102px;height:28px}}



/* === RS8 LOGO SIZE ONLY FIX (do not change logo asset) === */
.auth-hero .brand-login{display:inline-flex!important;align-self:flex-start!important;justify-content:center!important;width:auto!important;min-height:auto!important;margin:0 0 1.4rem!important;padding:14px 18px!important;background:#fff!important;border-radius:18px!important;box-shadow:0 14px 30px rgba(0,0,0,.18)!important;border:1px solid rgba(255,255,255,.55)!important}
.auth-hero .brand-login .brand-logo{display:block!important;width:430px!important;max-width:min(80vw,430px)!important;max-height:118px!important;height:auto!important;object-fit:contain!important}
.sidebar .sidebar-brand-logo{width:100%!important;min-height:96px!important;margin:0 0 .9rem!important;padding:.8rem .5rem!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border-radius:18px!important;box-shadow:0 12px 26px rgba(0,0,0,.22)!important;border:0!important}
.sidebar .sidebar-brand-logo .brand-logo{display:block!important;width:214px!important;max-width:100%!important;max-height:70px!important;height:auto!important;object-fit:contain!important}
.install-card .brand-installer{display:inline-flex!important;justify-content:center!important;margin:0 auto .9rem!important;padding:12px 16px!important;background:#fff!important;border-radius:16px!important;box-shadow:0 10px 24px rgba(20,25,34,.10)!important;border:1px solid #eef1f4!important}
.install-card .brand-installer .brand-logo{width:280px!important;max-width:76vw!important;max-height:84px!important;height:auto!important;object-fit:contain!important}
.mobile-topbar .mobile-brand-logo{width:132px!important;max-width:46vw!important;height:auto!important;max-height:38px!important;object-fit:contain!important}
@media(max-width:820px){.auth-hero .brand-login{padding:12px 14px!important}.auth-hero .brand-login .brand-logo{width:360px!important;max-width:78vw!important;max-height:100px!important}.sidebar .sidebar-brand-logo .brand-logo{width:196px!important;max-height:64px!important}}
@media(max-width:540px){.auth-hero .brand-login{padding:10px 12px!important;margin:0 0 1rem!important}.auth-hero .brand-login .brand-logo{width:292px!important;max-width:82vw!important;max-height:84px!important}.sidebar .sidebar-brand-logo{min-height:86px!important}.sidebar .sidebar-brand-logo .brand-logo{width:182px!important;max-height:58px!important}.install-card .brand-installer .brand-logo{width:230px!important;max-height:72px!important}.mobile-topbar .mobile-brand-logo{width:112px!important;max-height:32px!important}}
