@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");:root{--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--bg:#f6f8f8;--surface:#ffffff;--surface-2:#f1f5f4;--border:#e3e8e6;--text:#17251f;--text-2:#5b6b64;--text-3:#64748b;--green:#0e7a4a;--green-soft:#e7f5ed;--green-border:#bfe4cf;--amber:#b45309;--amber-soft:#fdf3dd;--amber-border:#f0dcae;--red:#b3261e;--red-soft:#fdecea;--red-border:#f3c2be;--blue:#1d5fd6;--blue-soft:#e9f0fd;--navy:#0f172a;--navy-2:#1e293b;--navy-text:#94a3b8;--radius:12px;--shadow:0 1px 2px rgba(13,27,22,0.05),0 4px 16px rgba(13,27,22,0.05);--mono:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,button,h1,h2,h3,h4,h5,h6,html,input,select,td,textarea,th{font-family:var(--font-sans)}a{color:inherit;text-decoration:none}button{cursor:pointer}.shell{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:#ffffff;border-right:1px solid rgba(0,0,0,.07);color:#334155;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;box-shadow:2px 0 12px rgba(0,0,0,.02)}.logo{display:flex;align-items:center;gap:10px;padding:20px 20px 18px;color:#0f172a;font-weight:800;font-size:16px;letter-spacing:-.01em}.logo-mark{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,#0e7a4a,#35c98a);display:grid;place-items:center;color:#fff;font-size:14px;font-weight:800;box-shadow:0 4px 12px rgba(14,122,74,.25)}.logo small{display:block;font-size:10px;font-weight:600;color:#64748b;letter-spacing:.06em;text-transform:uppercase}.nav{padding:8px 12px;flex-direction:column;gap:3px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-weight:600;font-size:13.5px;color:#475569;transition:all .15s ease}.nav a:hover{background:rgba(14,122,74,.06);color:#0f172a}.nav a.active{background:linear-gradient(135deg,rgba(14,122,74,.12),rgba(53,201,138,.06));color:#0e7a4a;font-weight:700}.nav a.active .nav-ico{color:#0e7a4a}.nav-ico{width:18px;text-align:center;font-size:16px;color:#64748b}.nav-count{margin-left:auto;font-size:11px;font-weight:700;background:rgba(0,0,0,.06);color:#475569;padding:2px 7px;border-radius:99px}.nav-count.alert{background:#fdecea;color:#b3261e;border:1px solid #f3c2be}.sidebar-foot{margin-top:auto;padding:14px;border-top:1px solid rgba(0,0,0,.06)}.plan-card{background:linear-gradient(135deg,#f0fdf4,#e7f5ed);border:1px solid rgba(14,122,74,.2);border-radius:12px;padding:14px;font-size:12px;color:#0f172a}.plan-card b{color:#0f172a;display:block;margin-bottom:2px;font-size:13px}.plan-bar{height:6px;border-radius:99px;background:rgba(14,122,74,.15);margin:8px 0 6px;overflow:hidden}.plan-bar i{display:block;height:100%;width:24%;border-radius:99px;background:#0e7a4a}.plan-card span{color:#0e7a4a;font-weight:700}.main{flex:1 1;min-width:0;display:flex;flex-direction:column}.topbar{height:58px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.crumb{color:var(--text-3);font-size:13px}.crumb b{color:var(--text);font-weight:600}.topbar-right{margin-left:auto;gap:14px}.search-box,.topbar-right{display:flex;align-items:center}.search-box{gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px 10px;color:var(--text-3);font-size:13px;width:240px}.search-box input{border:0;outline:0;background:transparent;font:inherit;color:var(--text);width:100%}.avatar{width:30px;height:30px;border-radius:99px;background:linear-gradient(135deg,#0e7a4a,#35c98a);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}.page{max-width:1200px}.page,.page-full{padding:24px;width:100%;margin:0 auto}.page-full{max-width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{margin:0 0 4px;font-size:21px;letter-spacing:-.02em}.page-head p{margin:0;color:var(--text-2);font-size:13px}.btn{display:inline-flex;align-items:center;gap:7px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 14px;font-weight:600;font-size:13px;transition:background .15s,border-color .15s}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:#0b633c}.btn.small{padding:5px 10px;font-size:12px}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{color:var(--red);border-color:var(--red-border)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.card-head h2{margin:0;font-size:15px}.card-head .hint{color:var(--text-3);font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:20px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.stat .label{font-size:12px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:6px}.stat .value{font-size:30px;font-weight:700;letter-spacing:-.03em;margin-top:6px}.stat .sub{font-size:12px;color:var(--text-3);margin-top:2px}.stat.click{cursor:pointer;transition:border-color .15s,transform .15s}.stat.click:hover{border-color:var(--green-border);transform:translateY(-1px)}.stat.ok .value{color:var(--green)}.stat.warn .value{color:var(--amber)}.stat.bad .value{color:var(--red)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor}.badge.ok{background:var(--green-soft);color:var(--green);border:1px solid var(--green-border)}.badge.warn{background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber-border)}.badge.bad{background:var(--red-soft);color:var(--red);border:1px solid var(--red-border)}.badge.info{background:var(--blue-soft);color:var(--blue);border:1px solid #c4d7f7}.badge.neutral{background:var(--surface-2)}.badge.neutral,.region-chip{color:var(--text-2);border:1px solid var(--border)}.region-chip{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;border-radius:5px;padding:1px 5px;margin-right:4px;background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-weight:600;padding:10px 14px;background:#fbfcfc}.table td,.table th{border-bottom:1px solid var(--border)}.table td{padding:12px 14px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:#f8fafa}.table .name{font-weight:600}.table .name span{display:block;font-weight:400;font-size:12px;color:var(--text-3);margin-top:1px}.table .actions{text-align:right;white-space:nowrap}.table .actions a{color:var(--green);font-weight:600;font-size:12px;margin-left:12px}.table .actions a:hover{text-decoration:underline}.mono{font-family:var(--mono);font-size:12px}.dim{color:var(--text-3)}.table-toolbar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.table-toolbar input{flex:1 1;max-width:280px;padding:7px 11px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13px;outline:none;background:var(--surface-2)}.table-toolbar input:focus{border-color:var(--green-border);background:#fff}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:99px;padding:5px 12px;font-size:12px;font-weight:600}.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.alert-row{display:flex;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border);align-items:flex-start}.alert-row:last-child{border-bottom:0}.sev{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:16px;flex-shrink:0}.sev.high{background:var(--red-soft);color:var(--red)}.sev.medium{background:var(--amber-soft);color:var(--amber)}.sev.low{background:var(--blue-soft);color:var(--blue)}.alert-row .body{flex:1 1;min-width:0}.alert-row h3{margin:0 0 3px;font-size:14px}.alert-row p{margin:0;color:var(--text-2);font-size:13px}.alert-row .meta{margin-top:6px;font-size:12px;color:var(--text-3);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.alert-row.resolved{opacity:.55}.alert-row.resolved h3{text-decoration:line-through}.banner{display:flex;gap:12px;align-items:flex-start;border-radius:var(--radius);padding:14px 18px;margin-bottom:20px;border:1px solid}.banner.red{background:var(--red-soft);border-color:var(--red-border)}.banner.red b{color:var(--red)}.banner.blue{background:var(--blue-soft);border-color:#c4d7f7}.banner.blue b{color:var(--blue)}.banner p{margin:2px 0 0;font-size:13px;color:var(--text-2)}.banner .grow{flex:1 1}.sheet-layout{display:grid;grid-template-columns:1fr 300px;grid-gap:20px;gap:20px;align-items:start}.sheet-sec{padding:13px 18px;border-bottom:1px solid var(--border);display:flex;gap:12px;align-items:baseline}.sheet-sec:last-child{border-bottom:0}.sheet-sec .num{font-family:var(--mono);font-size:11px;color:var(--text-3);width:22px;flex-shrink:0}.sheet-sec .t{font-weight:600;width:260px;flex-shrink:0}.sheet-sec .v{color:var(--text-2);font-size:13px;flex:1 1}.pictos{display:flex;gap:10px;align-items:center}.picto{width:52px;height:52px}.reviewer{display:flex;gap:12px;align-items:center;background:var(--green-soft);border:1px solid var(--green-border);border-radius:10px;padding:12px 14px;margin-top:14px;font-size:13px}.reviewer b{display:block;font-size:13px}.reviewer .avatar{width:34px;height:34px;font-size:13px}.meta-list{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 14px;gap:6px 14px;font-size:13px}.meta-list dt{color:var(--text-3)}.meta-list dd{margin:0;font-weight:500}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 16px 22px;border-left:2px solid var(--green-border);margin-left:8px}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:99px;background:#fff;border:3px solid var(--green)}.timeline b{font-size:13px}.timeline .mono{color:var(--text-3);margin-left:6px}.timeline p{margin:2px 0 0;font-size:12px;color:var(--text-2)}.wizard-grid{display:grid;grid-template-columns:240px 1fr;grid-gap:20px;gap:20px;align-items:start}.steps{list-style:none;margin:0;padding:18px}.steps li{display:flex;gap:12px;align-items:flex-start;padding-bottom:22px;position:relative}.steps li:before{content:"";position:absolute;left:13px;top:30px;bottom:0;width:2px;background:var(--border)}.steps li:last-child{padding-bottom:0}.steps li:last-child:before{display:none}.steps .dot{width:27px;height:27px;border-radius:99px;flex-shrink:0;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--surface-2);border:1px solid var(--border);color:var(--text-3)}.steps li.active .dot{background:var(--green);border-color:var(--green);color:#fff}.steps li.done .dot{background:var(--green-soft);border-color:var(--green-border);color:var(--green)}.steps b{display:block;font-size:13px;color:var(--text-2);font-weight:600}.steps li.active b{color:var(--text)}.steps small{color:var(--text-3);font-size:12px}.field{margin-bottom:16px}.field label{display:block;font-weight:600;font-size:13px;margin-bottom:5px}.field .req{color:var(--red)}.field input,.field textarea{padding:9.5px 13px}.field input,.field select,.field textarea,select{width:100%;border:1px solid var(--border);border-radius:10px;font:inherit;font-size:13.5px;outline:none;background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(15,23,42,.03);transition:all .2s cubic-bezier(.4,0,.2,1)}.field select,select{padding:9.5px 38px 9.5px 13px;font-weight:500;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%2523475569'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px;cursor:pointer}.field select:hover,select:hover{border-color:#94a3b8;box-shadow:0 2px 6px rgba(15,23,42,.06)}.field input:focus,.field select:focus,.field textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3.5px rgba(16,185,129,.15)}select option{padding:10px;background:#fff;color:#0f172a;font-size:13.5px}.field .help{font-size:12px;color:var(--text-3);margin-top:4px}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.ing-table{width:100%;border-collapse:collapse;font-size:13px}.ing-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:8px 10px}.ing-table td,.ing-table th{border-bottom:1px solid var(--border)}.ing-table td{padding:6px 10px}.cas-ok{color:var(--green)}.cas-flag,.cas-ok{font-weight:600;font-size:12px}.cas-flag{color:var(--amber)}.sleek-input{width:100%;padding:6px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13.5px;outline:none;background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(15,23,42,.04);transition:all .2s cubic-bezier(.4,0,.2,1)}.sleek-input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(16,185,129,.15)}.sleek-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1.5px solid #cbd5e1;border-radius:4px;outline:none;cursor:pointer;background:#fff;position:relative;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}.sleek-checkbox:checked{background:var(--green);border-color:var(--green)}.sleek-checkbox:checked:after{content:"✓";color:#fff;font-size:12px;font-weight:800}.confidence{display:inline-flex;align-items:center;gap:7px;font-size:12px}.confidence .bar{width:64px;height:5px;border-radius:99px;background:var(--surface-2);overflow:hidden}.confidence .bar i{display:block;height:100%;background:var(--green);border-radius:99px}.classify-box{display:grid;grid-template-columns:170px 1fr;grid-gap:16px;gap:16px}.classify-box .pictos{flex-wrap:wrap}.kv{margin:0}.kv div{display:flex;gap:8px;padding:7px 0;border-bottom:1px dashed var(--border);font-size:13px}.kv div:last-child{border-bottom:0}.kv dt{width:110px;color:var(--text-3);flex-shrink:0}.kv dd{margin:0;font-weight:600}.hcode{font-family:var(--mono);font-size:12px;background:var(--surface-2);border-radius:5px;padding:1px 6px;margin-right:8px}.wizard-foot{display:flex;justify-content:space-between;margin-top:20px}.success-hero{text-align:center;padding:46px 20px}.success-hero .big{font-size:46px;margin-bottom:10px}.success-hero h2{margin:0 0 6px;font-size:20px}.success-hero p{color:var(--text-2);margin:0 0 20px}.hint-box{background:var(--blue-soft);border:1px solid #c4d7f7;border-radius:10px;padding:12px 14px;font-size:13px;color:var(--text-2);margin-bottom:18px}.hint-box b{color:var(--blue)}.stack{flex-direction:column;gap:20px}.row,.stack{display:flex}.row{align-items:center;gap:10px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}@media (max-width:980px){.stat-grid{grid-template-columns:repeat(2,1fr)}.sheet-layout,.wizard-grid{grid-template-columns:1fr}.sidebar{display:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;animation:fadeIn .15s ease-out}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:440px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);overflow:hidden;animation:slideUp .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media print{.no-print,.sidebar,.topbar{display:none!important}.main,.shell{display:block}.page{padding:0;max-width:none}body{background:#fff;font-size:11px}.card{border:1px solid #ccc;box-shadow:none;border-radius:0}.sheet-layout{grid-template-columns:1fr}.page-head{margin-bottom:10px}.page-head h1{font-size:18px}.sheet-sec{page-break-inside:avoid;break-inside:avoid}}body,html{font-size:14px}.uppercase-label,[style*="text-transform: uppercase"],[style*="textTransform: uppercase"]{font-size:12px}@media (max-width:768px){body,html{font-size:12px!important}.uppercase-label,[style*="text-transform: uppercase"],[style*="textTransform: uppercase"]{font-size:10px!important}.site-nav-links{display:none!important}.site-header{padding:.75rem 1rem!important}}