:root{color:#261d32;font-synthesis:none;text-rendering:optimizelegibility;--white:#fff;--purple:#5a3a86;--yellow:#fbd532;--pink:#e36781;--blue:#9abbce;--lilac:#9663a5;--ink:#261d32;--muted:#746a7d;--border:#e7e1ed;--surface:#fff;--surface-soft:#f3eef7;--danger:#b73553;--shadow:0 16px 45px #3a245417;background:#f7f5fa;font-family:Poppins,Inter,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f7f5fa;min-width:320px}body{background:#f7f5fa;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{border:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #5a3a8638}input,select,textarea{width:100%;min-height:46px;color:var(--ink);background:var(--white);border:1px solid #dcd2e5;border-radius:13px;padding:10px 13px;transition:border-color .18s,box-shadow .18s}input:hover,select:hover,textarea:hover{border-color:#bbaaca}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px #5a3a8614}textarea{resize:vertical;min-height:110px}input[type=checkbox]{width:19px;min-height:19px;accent-color:var(--purple)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{min-height:100vh;display:flex}.sidebar{width:268px;min-width:268px;height:100vh;color:var(--white);z-index:30;background:linear-gradient(165deg,#5a3a86 0%,#6f478e 55%,#9663a5 100%);flex-direction:column;padding:22px 18px;display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:12px;padding:4px 6px 24px;display:flex}.brand-block strong{font-size:19px;line-height:1.1;display:block}.brand-block span{opacity:.78;margin-top:4px;font-size:12px;display:block}.brand-mark{width:42px;height:42px;color:var(--purple);background:var(--yellow);border-radius:15px;flex:none;place-items:center;font-size:22px;font-weight:900;display:grid;box-shadow:inset 0 -3px #00000014}.brand-mark.large{border-radius:19px;width:54px;height:54px;font-size:28px}.sidebar nav{gap:6px;display:grid}.sidebar nav button,.sidebar-footer button{color:#ffffffd1;text-align:left;background:0 0;border-radius:13px;align-items:center;gap:12px;min-height:46px;padding:11px 13px;font-weight:650;display:flex}.sidebar nav button:hover,.sidebar-footer button:hover{color:#fff;background:#ffffff1c}.sidebar nav button.active{color:var(--purple);background:var(--white);box-shadow:0 10px 24px #28143e29}.sidebar-footer{border-top:1px solid #ffffff29;gap:5px;margin-top:auto;padding-top:18px;display:grid}.sidebar-close{color:#fff;background:0 0;margin-left:auto;padding:8px;display:none}.mobile-menu-button,.menu-backdrop{display:none}.main-content{flex:1;min-width:0}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#ffffffd1;border-bottom:1px solid #5a3a8614;justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:20px 32px;display:flex;position:sticky;top:0}.topbar h1{color:var(--purple);margin:2px 0 0;font-size:clamp(23px,2.4vw,31px)}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:11px;font-weight:800}.topbar-actions{align-items:center;gap:10px;display:flex}.user-chip{min-height:42px;color:var(--purple);background:var(--surface-soft);border-radius:13px;align-items:center;gap:8px;padding:9px 13px;font-weight:700;display:flex}.page-content{width:min(1500px,100%);margin:0 auto;padding:28px 32px 48px}.card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #5a3a8614;border-radius:22px;margin-bottom:22px;padding:24px}.card.compact{padding:20px 24px}.card-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.card-heading h2{color:var(--purple);margin:0;font-size:20px}.card-heading p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.55}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.metric-card{background:var(--white);min-height:118px;box-shadow:var(--shadow);border:1px solid #5a3a8612;border-radius:20px;align-items:center;gap:15px;padding:20px;display:flex}.metric-card.wide{grid-column:span 2}.metric-icon{border-radius:16px;flex:none;place-items:center;width:48px;height:48px;display:grid}.metric-card span{color:var(--muted);font-size:12px;font-weight:700;display:block}.metric-card strong{color:var(--ink);margin-top:5px;font-size:clamp(23px,2.4vw,31px);line-height:1.1;display:block}.metric-card.purple .metric-icon{color:#fff;background:var(--purple)}.metric-card.pink .metric-icon{color:#4b1422;background:#e3678159}.metric-card.yellow .metric-icon{color:#4c3d00;background:#fbd53285}.metric-card.blue .metric-icon{color:#203947;background:#9abbce80}.metric-card.lilac .metric-icon{color:#fff;background:var(--lilac)}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.form-stack{gap:16px;display:grid}.filter-grid{background:#f8f5fb;border:1px solid #ece5f1;border-radius:17px;grid-template-columns:repeat(5,minmax(150px,1fr));gap:13px;margin-bottom:18px;padding:16px;display:grid}.field{align-content:start;gap:7px;display:grid}.field-label{color:#4f435a;align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.field-label em{color:var(--pink);font-style:normal}.field-label small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#eee8f2;border-radius:999px;padding:2px 7px;font-size:9px}.field-hint{color:var(--muted);font-size:11px;line-height:1.4}.span-all{grid-column:1/-1}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;display:flex}.nested-form{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.inline-form{gap:10px;max-width:620px;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:15px;display:flex}.toolbar .search-input{width:min(420px,100%)}.toolbar select{width:auto;min-width:150px}.button{border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:10px 15px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:not(:disabled):hover{transform:translateY(-1px)}.button.primary{color:#fff;background:var(--purple);box-shadow:0 9px 20px #5a3a8633}.button.primary:hover{background:#4d3075}.button.secondary{color:var(--purple);background:#eee8f3}.button.secondary:hover{background:#e4daec}.button.danger{color:#fff;background:var(--danger)}.button.ghost{color:var(--purple);background:0 0;border:1px solid #d9cde3}.button.text{min-height:34px;color:var(--purple);background:0 0;padding:6px 9px}.button.full{width:100%}.danger-text{color:var(--danger)!important}.icon-button{width:38px;height:38px;color:var(--purple);background:#eee8f3;border-radius:11px;place-items:center;display:inline-grid}.icon-button:hover{background:#e1d6e9}.icon-button.danger{color:var(--danger);background:#fbecef}.table-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.search-input{min-height:46px;color:var(--purple);background:#fff;border:1px solid #dcd2e5;border-radius:13px;align-items:center;gap:9px;padding:0 12px;display:flex}.search-input:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px #5a3a8614}.search-input input{min-height:43px;box-shadow:none;border:0;padding:0}.search-input input:focus{box-shadow:none}.password-input{background:#fff;border:1px solid #dcd2e5;border-radius:13px;display:flex;overflow:hidden}.password-input:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px #5a3a8614}.password-input input{box-shadow:none;border:0}.password-input input:focus{box-shadow:none}.password-input button{width:46px;color:var(--purple);background:0 0}.combobox{position:relative}.combobox-list{z-index:40;background:#fff;border:1px solid #dcd2e5;border-radius:15px;max-height:300px;padding:7px;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow:auto;box-shadow:0 20px 45px #3a24542e}.combobox-list button{width:100%;color:var(--ink);text-align:left;background:0 0;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:11px;display:flex}.combobox-list button:hover,.combobox-list button.highlighted{background:#f2edf6}.combobox-list strong,.combobox-list small{display:block}.combobox-list small{color:var(--muted);margin-top:3px}.combobox-message{color:var(--muted);text-align:center;padding:14px}.table-wrap{border:1px solid var(--border);border-radius:16px;width:100%;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #eee9f2;padding:13px 14px}th{z-index:1;color:var(--purple);letter-spacing:.04em;text-transform:uppercase;background:#f5f1f8;font-size:11px;position:sticky;top:0}td{color:#413747;font-size:13px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfafd}.badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;min-height:25px;padding:4px 9px;font-size:10px;font-weight:900;display:inline-flex}.badge.critical{color:#551426;background:#e3678157}.badge.low{color:#4b3a00;background:#fbd5328c}.badge.good{color:#183748;background:#9abbce80}.badge.entry{color:#fff;background:var(--purple)}.badge.exit{color:#4f1830;background:#e3678159}.badge.muted{color:#605767;background:#e9e4ec}.pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;font-size:12px;display:flex}.permission-box{border:1px solid #dcd2e5;border-radius:15px;margin:0;padding:16px}.permission-box legend{color:var(--purple);padding:0 7px;font-size:12px;font-weight:850}.check-row{cursor:pointer;align-items:center;gap:8px;margin:5px 18px 5px 0;display:inline-flex}.check-row span{color:#4f435a;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.category-manager{border-top:1px solid var(--border);margin-top:17px;padding-top:17px}.tag-list{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.tag{color:var(--purple);background:#eee8f3;border-radius:999px;align-items:center;gap:7px;padding:7px 9px 7px 12px;font-size:12px;font-weight:750;display:inline-flex}.tag button{width:24px;height:24px;color:var(--purple);background:#5a3a8614;border-radius:50%;place-items:center;display:grid}.empty-state{min-height:160px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:10px;display:grid}.empty-state p{margin:0}.inline-loading{min-height:140px;color:var(--muted);justify-content:center;align-items:center;gap:11px;display:flex}.loading-screen{min-height:100vh;color:var(--purple);background:#f7f5fa;place-content:center;justify-items:center;gap:16px;display:grid}.spinner{border:4px solid #5a3a8626;border-top-color:var(--purple);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}.spinner.small{border-width:3px;width:24px;height:24px}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{background:#fff;grid-template-columns:minmax(360px,560px) 1fr;min-height:100vh;display:grid}.auth-panel{width:min(470px,100% - 40px);margin:auto;padding:44px 0}.auth-brand{color:var(--purple);align-items:center;gap:12px;margin-bottom:46px;font-weight:850;display:flex}.auth-panel>h1{color:var(--purple);margin:0;font-size:clamp(29px,4vw,42px);line-height:1.12}.auth-panel>p{color:var(--muted);margin:10px 0 28px;line-height:1.6}.auth-warning{color:#762238;background:#e3678121;border:1px solid #b7355340;border-radius:13px;margin:-8px 0 20px;padding:13px 14px;font-size:12px;font-weight:700;line-height:1.55}.auth-visual{color:#fff;background:linear-gradient(145deg,#5a3a86,#9663a5);place-items:center;min-height:100vh;padding:40px;display:grid;position:relative;overflow:hidden}.visual-circle{opacity:.9;border-radius:50%;position:absolute}.visual-circle.one{background:var(--yellow);width:330px;height:330px;top:-80px;right:-60px}.visual-circle.two{background:var(--pink);width:240px;height:240px;bottom:8%;left:-70px}.visual-circle.three{background:var(--blue);width:180px;height:180px;bottom:16%;right:12%}.visual-copy{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff1f;border:1px solid #ffffff3d;border-radius:26px;max-width:460px;padding:28px;position:relative}.visual-copy strong{font-size:clamp(30px,4vw,55px);line-height:1.05;display:block}.visual-copy span{opacity:.86;margin-top:14px;font-size:17px;display:block}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#190f2394;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:22px;width:min(560px,100%);max-height:calc(100vh - 40px);padding:23px;overflow:auto;box-shadow:0 30px 80px #1a0d2847}.modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;display:flex}.modal-header h2{color:var(--purple);margin:0;font-size:21px}.modal-copy{color:var(--muted);line-height:1.6}.credentials-box{background:#f5f1f8;border-radius:15px;gap:5px;margin:16px 0;padding:16px;display:grid}.credentials-box span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.credentials-box strong{color:var(--purple);overflow-wrap:anywhere;margin-bottom:8px;font-size:18px}.clipboard-helper{opacity:0;position:fixed;top:0;left:-10000px}.toast{z-index:150;color:#fff;border-radius:15px;justify-content:space-between;align-items:flex-start;gap:12px;width:min(430px,100vw - 36px);padding:14px 15px;display:flex;position:fixed;top:18px;right:18px;box-shadow:0 18px 50px #1f102b3d}.toast.success{background:var(--purple)}.toast.error{background:#a62f4b}.toast span{align-items:flex-start;gap:9px;font-size:13px;font-weight:700;line-height:1.45;display:flex}.toast button{color:#fff;background:0 0;padding:2px}.report-grid{grid-template-columns:1fr;display:grid}@media (width<=1180px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=850px){.app-shell{display:block}.sidebar{transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:18px 0 45px #1f112d3d}.sidebar.open{transform:translate(0)}.sidebar-close{place-items:center;display:grid}.menu-backdrop{z-index:25;background:#1c112675;display:block;position:fixed;inset:0}.mobile-menu-button{z-index:24;color:#fff;background:var(--purple);border-radius:13px;place-items:center;width:44px;height:44px;display:grid;position:fixed;top:17px;left:14px;box-shadow:0 8px 22px #5a3a8640}.topbar{min-height:78px;padding:15px 16px 15px 72px}.topbar-actions .user-chip{display:none}.topbar-actions .button{width:43px;padding:0;font-size:0}.topbar-actions .button svg{width:19px}.page-content{padding:18px 14px 36px}.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{width:min(480px,100% - 32px)}}@media (width<=680px){.metric-grid,.form-grid,.filter-grid{grid-template-columns:1fr}.metric-card.wide{grid-column:auto}.card,.card.compact{border-radius:18px;padding:18px}.card-heading{margin-bottom:15px}.topbar h1{font-size:22px}.topbar .eyebrow{display:none}.inline-form{display:grid}.form-actions .button{width:100%}.toolbar{grid-template-columns:1fr;display:grid}.toolbar .search-input,.toolbar select{width:100%;min-width:0}.pagination{justify-content:space-between}.pagination span{text-align:center}.table-wrap{border:0;overflow:visible}table,thead,tbody,tr,th,td{display:block}thead{display:none}tbody{gap:12px;display:grid}tbody tr{border:1px solid var(--border);background:#fff;border-radius:15px;padding:12px 14px;box-shadow:0 7px 18px #3a24540d}tbody tr:hover{background:#fff}td{overflow-wrap:anywhere;border-bottom:1px solid #eee9f2;grid-template-columns:minmax(105px,38%) 1fr;gap:12px;padding:8px 0;display:grid}td:last-child{border-bottom:0}td:before{content:attr(data-label);color:var(--purple);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:900}.table-actions{justify-content:flex-start}.permission-box .check-row{margin-right:0;display:flex}}@media print{body{background:#fff}.no-print,.toast,.modal-backdrop{display:none!important}.main-content{width:100%}.page-content{padding:0}.card{box-shadow:none;break-inside:avoid;border:1px solid #bbb}.button,.filter-grid{display:none!important}.table-wrap{overflow:visible}th{position:static}}
