@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap";
:root{--hero:#0f3d2e;--surface:#2e6b4f;--signature:#7fb57a;--accent:#b5e847;--tint:#b8d8c8;--paper:#fff;--bg:#f4f6f4;--border:#e3e7e3;--text-2:#5c6560;--text:#0f1411;--info:#1f5dc7;--danger:#c0392b;--serif:"Instrument Serif", Georgia, serif;--sans:"Manrope", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}.app{grid-template-rows:auto 1fr;min-height:100vh;display:grid}header{background:var(--hero);color:var(--paper);border-bottom:4px solid var(--accent);z-index:50;padding:28px 36px 26px;position:sticky;top:0}.header-inner{grid-template-columns:1fr auto;align-items:center;gap:24px;max-width:1500px;margin:0 auto;display:grid}.brand{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.brand h1{font-family:var(--serif);letter-spacing:-.5px;font-size:38px;font-weight:400;line-height:1}.brand .em{color:var(--accent);font-style:italic}.brand .sub{color:var(--tint);letter-spacing:.5px;text-transform:uppercase;font-size:13px;font-weight:500}.header-right{align-items:center;gap:16px;display:flex}.search-wrap{min-width:320px;position:relative}.search-wrap input{width:100%;color:var(--paper);font-family:var(--sans);background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;padding:12px 16px 12px 42px;font-size:14px;transition:all .18s}.search-wrap input::placeholder{color:#ffffff8c}.search-wrap input:focus{border-color:var(--accent);background:#ffffff24;outline:none;box-shadow:0 0 0 3px #b5e84733}.search-wrap svg{opacity:.7;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.hbtn{color:var(--paper);font-family:var(--sans);cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff2e;border-radius:9px;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.hbtn:hover{border-color:var(--accent);background:#ffffff29}.hbtn.accent{background:var(--accent);color:var(--hero);border-color:var(--accent)}.hbtn.accent:hover{filter:brightness(1.05)}.who{color:var(--tint);white-space:nowrap;font-size:12px}.main{grid-template-columns:280px 1fr;width:100%;max-width:1500px;margin:0 auto;display:grid}aside{background:var(--paper);border-right:1px solid var(--border);height:calc(100vh - 100px);padding:24px 0;position:sticky;top:100px;overflow-y:auto}.sidebar-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-2);padding:18px 24px 8px;font-size:11px;font-weight:600}.sidebar-label:first-child{padding-top:0}.platform-list{list-style:none}.platform-list li{cursor:pointer;border-left:3px solid #0000;justify-content:space-between;align-items:center;gap:10px;padding:11px 24px;font-weight:500;transition:all .15s;display:flex}.platform-list li:hover{background:var(--bg);color:var(--hero)}.platform-list li.active{background:var(--bg);border-left-color:var(--hero);color:var(--hero);font-weight:700}.platform-list li.hidden{display:none}.count{background:var(--border);color:var(--text-2);text-align:center;border-radius:10px;min-width:24px;padding:2px 9px;font-size:11px;font-weight:600}.platform-list li.active .count{background:var(--hero);color:var(--paper)}.content{min-height:100vh;padding:36px 44px}.platform-header{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:18px}.eyebrow{letter-spacing:1.2px;text-transform:uppercase;color:var(--surface);margin-bottom:8px;font-size:11px;font-weight:700}.platform-name{font-family:var(--serif);color:var(--hero);letter-spacing:-1px;font-size:44px;font-weight:400;line-height:1}.platform-meta{color:var(--text-2);margin-top:8px;font-size:13px}.reports-grid{flex-direction:column;gap:18px;display:flex}.report-card{background:var(--paper);border:1px solid var(--border);border-radius:14px;transition:all .2s;overflow:hidden}.report-card.hidden{display:none}.report-card:hover{border-color:var(--signature);box-shadow:0 4px 18px #0f3d2e0f}.report-card-head{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.report-folder{align-items:center;gap:12px;font-size:16px;font-weight:700;display:flex}.folder-icon{background:var(--tint);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.platform-tag{color:var(--surface);background:var(--bg);letter-spacing:.4px;text-transform:uppercase;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:600}.toggle{background:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .25s;display:flex}.report-card.open .toggle{background:var(--hero);color:var(--paper);transform:rotate(180deg)}.report-card-body{max-height:0;padding:0 22px;transition:max-height .35s,padding .25s;overflow:hidden}.report-card.open .report-card-body{max-height:1600px;padding:0 22px 22px}.body-divider{background:var(--border);height:1px;margin:0 0 18px}.steps-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-2);margin-bottom:12px;font-size:11px;font-weight:600}.steps{counter-reset:step;list-style:none}.steps li{counter-increment:step;border-bottom:1px dashed var(--border);padding:10px 0 10px 44px;font-size:14.5px;line-height:1.55;position:relative}.steps li:last-child{border-bottom:none}.steps li:before{content:counter(step);background:var(--hero);width:30px;height:30px;color:var(--paper);font-size:12px;font-weight:700;font-family:var(--sans);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:9px;left:0}.steps li.terminal:before{background:var(--accent);color:var(--hero)}.manual-note{background:var(--bg);border-left:3px solid var(--surface);color:var(--text-2);border-radius:6px;padding:14px 16px;font-size:14px}.manual-note strong{color:var(--hero)}mark{background:var(--accent);color:var(--text);border-radius:2px;padding:0 2px}.empty-state{text-align:center;color:var(--text-2);padding:80px 20px}.empty-state h3{font-family:var(--serif);color:var(--text);margin-bottom:8px;font-size:28px;font-weight:400}.results-meta{color:var(--text-2);margin-bottom:20px;font-size:13px}.results-meta strong{color:var(--hero)}aside::-webkit-scrollbar{width:6px}aside::-webkit-scrollbar-track{background:0 0}aside::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.landing{max-width:1400px;margin:0;padding:44px 56px 60px}.landing-head{margin-bottom:34px}.landing-title{font-family:var(--serif);color:var(--hero);letter-spacing:-1px;font-size:46px;font-weight:400;line-height:1}.landing-sub{color:var(--text-2);margin-top:10px;font-size:14px}.cat-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.cat-card{background:var(--paper);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:18px;flex-direction:column;gap:16px;min-height:240px;padding:32px 30px;transition:all .18s;display:flex;position:relative;overflow:hidden}.cat-card:hover{border-color:var(--signature);transform:translateY(-2px);box-shadow:0 8px 28px #0f3d2e1a}.cat-card .cat-icon{background:var(--tint);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.cat-card .cat-name{font-family:var(--serif);color:var(--hero);font-size:30px;font-weight:400;line-height:1.1}.cat-card .cat-desc{color:var(--text-2);font-size:13.5px;line-height:1.5}.cat-card .cat-meta{color:var(--surface);letter-spacing:.3px;margin-top:auto;font-size:12px;font-weight:600}.cat-card .cat-arrow{color:var(--signature);transition:transform .18s;position:absolute;top:30px;right:28px}.cat-card:hover .cat-arrow{color:var(--hero);transform:translate(3px)}.cat-card.empty{opacity:.7}@media (max-width:1200px){.cat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.cat-grid{grid-template-columns:1fr}.landing{padding:32px 24px 48px}}.back-link{color:var(--surface);font-family:var(--sans);cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;margin-bottom:18px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--hero)}.login-wrap{background:var(--hero);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--paper);border-radius:18px;width:100%;max-width:400px;padding:44px 40px;box-shadow:0 20px 60px #00000040}.login-brand{font-family:var(--serif);color:var(--hero);margin-bottom:6px;font-size:34px;font-weight:400;line-height:1}.login-brand .em{color:var(--surface);font-style:italic}.login-sub{color:var(--text-2);margin-bottom:28px;font-size:13px}.login-label{color:var(--text);margin-bottom:7px;font-size:12px;font-weight:600;display:block}.login-input{border:1px solid var(--border);width:100%;font-family:var(--sans);border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:15px;transition:all .15s}.login-input:focus{border-color:var(--surface);outline:none;box-shadow:0 0 0 3px #2e6b4f1f}.login-btn{background:var(--hero);width:100%;color:var(--paper);font-family:var(--sans);cursor:pointer;border:none;border-radius:10px;padding:13px;font-size:15px;font-weight:700;transition:all .15s}.login-btn:hover:not(:disabled){background:var(--surface)}.login-btn:disabled{opacity:.55;cursor:not-allowed}.login-msg{border-radius:8px;margin-top:14px;padding:10px 12px;font-size:13px}.login-msg.err{color:var(--danger);background:#fcebea}.login-msg.ok{color:var(--surface);background:#eaf6ee}.login-back{color:var(--text-2);font-family:var(--sans);cursor:pointer;background:0 0;border:none;margin-top:14px;font-size:13px;text-decoration:underline}.admin-wrap{max-width:1500px;margin:0;padding:32px 56px 60px}.admin-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.admin-title{font-family:var(--serif);color:var(--hero);font-size:40px;font-weight:400;line-height:1}.admin-sub{color:var(--text-2);margin-bottom:28px;font-size:13px}.admin-cols{grid-template-columns:230px 280px 2fr;align-items:start;gap:22px;display:grid}.panel{background:var(--paper);border:1px solid var(--border);border-radius:14px;overflow:hidden}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;display:flex}.panel-head h3{color:var(--hero);font-size:15px;font-weight:700}.panel-body{padding:8px}.arow{cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;font-weight:500;transition:all .12s;display:flex}.arow:hover{background:var(--bg)}.arow.active{background:var(--bg);color:var(--hero);font-weight:700}.arow-actions{opacity:0;gap:6px;transition:opacity .12s;display:flex}.arow:hover .arow-actions,.arow.active .arow-actions{opacity:1}.mini{border:1px solid var(--border);background:var(--paper);cursor:pointer;color:var(--text-2);font-size:12px;font-weight:600;font-family:var(--sans);border-radius:7px;padding:4px 9px;transition:all .12s}.mini:hover{border-color:var(--surface);color:var(--hero)}.mini.danger:hover{border-color:var(--danger);color:var(--danger)}.btn{background:var(--hero);color:var(--paper);cursor:pointer;font-size:13px;font-weight:700;font-family:var(--sans);border:none;border-radius:9px;align-items:center;gap:7px;padding:9px 15px;transition:all .15s;display:inline-flex}.btn:hover{background:var(--surface)}.btn.ghost{background:var(--paper);color:var(--hero);border:1px solid var(--border)}.btn.ghost:hover{border-color:var(--surface);background:var(--bg)}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed}.rep-item{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:14px 16px}.rep-item-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.rep-item-name{font-size:15px;font-weight:700}.rep-item-steps{color:var(--text-2);font-size:13px;line-height:1.5}.field-label{margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field{border:1px solid var(--border);width:100%;font-family:var(--sans);border-radius:9px;margin-bottom:14px;padding:10px 12px;font-size:14px}.field:focus{border-color:var(--surface);outline:none;box-shadow:0 0 0 3px #2e6b4f1a}textarea.field{resize:vertical;min-height:90px;line-height:1.5}.field-hint{color:var(--text-2);margin:-8px 0 14px;font-size:12px}.modal-back{z-index:100;background:#0f141180;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border-radius:16px;width:100%;max-width:520px;max-height:90vh;padding:28px;overflow-y:auto}.modal h3{font-family:var(--serif);color:var(--hero);margin-bottom:4px;font-size:26px;font-weight:400}.modal-sub{color:var(--text-2);margin-bottom:22px;font-size:13px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.toast-wrap{z-index:200;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--text);color:var(--paper);border-radius:10px;max-width:360px;padding:13px 18px;font-size:14px;font-weight:500;animation:.25s slideIn;box-shadow:0 8px 30px #00000040}.toast.err{background:var(--danger)}.toast.ok{background:var(--surface)}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.busy-back{z-index:300;background:#fff9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.spinner{border:4px solid var(--border);border-top-color:var(--hero);border-radius:50%;width:38px;height:38px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:880px){.main{grid-template-columns:1fr}aside{border-right:none;border-bottom:1px solid var(--border);height:auto;max-height:280px;position:static}.content{padding:24px 20px}.platform-name{font-size:32px}.header-inner{grid-template-columns:1fr}.search-wrap{min-width:0}.brand h1{font-size:28px}.admin-cols{grid-template-columns:1fr}}@media (min-width:901px) and (max-width:1150px){.admin-cols{grid-template-columns:220px 1fr}.admin-reports-col{grid-column:1/-1}}
