:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#152439;background:#f3f6fa;font-size:15px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}
[hidden]{display:none!important}.container{max-width:1380px;margin:auto;padding:22px 26px 56px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:31px}
.brand{display:flex;align-items:center;gap:13px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#18375c;color:white;font-size:27px;font-weight:900}
.eyebrow{color:#507090;letter-spacing:.09em;font-size:.72rem;font-weight:800;margin:0 0 2px}
h1{font-size:1.48rem;line-height:1.16;margin:0;font-weight:850}h1 span{color:#1b7e97}
h2{font-size:1.62rem;line-height:1.25;margin:0 0 9px}h3{font-size:1.16rem;margin:0 0 4px}
.muted{color:#62748b;margin:0 0 18px}.auth-card{max-width:465px;margin:42px auto 0;background:white;border:1px solid #dae4ee;padding:34px;border-radius:20px;box-shadow:0 9px 35px #18375c0a}
.auth-card form{display:grid;gap:10px;margin-top:25px}.auth-card .button{margin-top:12px}
label{display:block;font-weight:700;font-size:.88rem;margin-bottom:7px}
input,select,textarea{width:100%;min-height:43px;padding:10px 12px;background:white;color:#192c41;border:1px solid #aabbd0;border-radius:9px}
textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #54a5d2;outline-offset:2px}
.button{border-radius:9px;min-height:41px;border:1px solid transparent;padding:9px 14px;font-weight:760;transition:background .15s}
.button.primary{background:#17587b;color:#fff}.button.primary:hover{background:#0b4768}
.button.secondary{background:#fff;color:#174d72;border-color:#b3c8d9}.button.secondary:hover{background:#eff6fb}
.button.danger{background:#fff;color:#a52636;border-color:#e9b3b7}
.button.danger:hover{background:#fff3f3}.button.text-button{background:transparent;color:#245d83}
.button:disabled{opacity:.5;cursor:wait}.small{min-height:34px;padding:6px 10px;font-size:.8rem}
.feedback{min-height:1.5em;margin:13px 0;color:#2d5f7e;font-weight:620}
.feedback[data-kind="error"]{color:#a52636}.feedback[data-kind="ok"]{color:#146552}
.page-heading{display:flex;align-items:start;justify-content:space-between;gap:18px;margin:8px 0 19px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:15px 0 25px}
.metric{padding:18px 20px;border-radius:13px;background:#e7f0f7;border:1px solid #d3e4f0}
.metric span{display:block;font-size:.84rem;color:#4c6681;font-weight:700}
.metric strong{display:block;font-size:1.85rem;color:#163c62;line-height:1.1;margin-top:5px}
.panel{margin:19px 0;padding:23px;background:white;border:1px solid #d9e3ec;border-radius:15px;box-shadow:0 3px 15px #193b5510}
.panel-heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:13px}
.panel-heading .muted{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.form-grid .wide{grid-column:1/-1}
.one-time{background:#fff8e9;border:1px solid #e5ca91;border-radius:12px;padding:15px;margin-top:16px}
.one-time strong{display:block}.one-time p{margin:7px 0}.one-time output{display:block;padding:12px;background:white;border-radius:7px;border:1px dashed #caa860;font-size:1.1rem;letter-spacing:.06em;font-weight:800;word-break:break-all}
.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.table-scroll{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:740px}
th{color:#526985;font-size:.78rem;text-transform:uppercase;letter-spacing:.025em;background:#f7fafc}
th,td{padding:12px 11px;border-bottom:1px solid #e8eef4;vertical-align:top}
td{font-size:.88rem}td .sub{display:block;color:#74859a;font-size:.79rem;margin-top:4px;word-break:break-word}
.empty{color:#71849b;text-align:center;padding:22px}.status{font-weight:700}
.status.yes{color:#146552}.status.no{color:#9e4850}
footer{margin-top:25px;font-size:.8rem;color:#74859a}
@media(max-width:800px){.container{padding:14px 12px 30px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{flex-direction:column}.auth-card{padding:23px;margin-top:26px}}
@media(max-width:450px){.form-grid{grid-template-columns:1fr}.metrics{gap:8px}.metric{padding:13px}.panel{padding:14px}.brand-mark{width:40px;height:40px}.topbar{align-items:start}}

.app-picker,.catalog-modes{border:1px solid #c5d4e1;border-radius:10px;padding:12px 14px;min-width:0}
.app-picker legend,.catalog-modes legend{font-weight:750;padding:0 6px}
.picker-header{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.picker-header .muted{margin:0}
.app-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:11px;margin-top:13px}
.app-check-option,.catalog-modes label{display:flex;gap:9px;align-items:center;margin:0;padding:9px 11px;border:1px solid #d4e1ec;border-radius:9px;cursor:pointer;font-weight:650}
.app-check-option input,.catalog-modes input{width:18px;height:18px;min-height:0;flex:none;accent-color:#17587b}
.catalog-list{display:grid;gap:8px;margin:10px 0 18px}
.catalog-row{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#f7fafc;border:1px solid #e0e9f2;padding:10px 13px;border-radius:10px}
.catalog-row strong,.catalog-row .sub{display:block}
.catalog-row .sub{font-size:.8rem;color:#62748b;word-break:break-all}
.catalog-add summary{cursor:pointer;font-weight:750;color:#17587b;margin-bottom:13px}
.catalog-modes{display:flex;gap:10px;flex-wrap:wrap}
.catalog-modes label{min-width:110px}
@media(max-width:450px){.app-check-grid{grid-template-columns:1fr 1fr}.catalog-row{align-items:start;flex-direction:column}}

.catalog-add{border-top:1px solid #d8e4ee;padding-top:15px}
.catalog-add summary{display:inline-flex;align-items:center;list-style:none;background:#17587b;
color:#fff;padding:11px 17px;border-radius:9px;border:1px solid #17587b;margin:0 0 16px;font-weight:780}
.catalog-add summary::-webkit-details-marker{display:none}
.catalog-add summary:hover,.catalog-add summary:focus-visible{background:#0b4768;color:#fff}
.catalog-status{display:block;margin-top:5px;font-size:.78rem;font-weight:750}
.catalog-active{color:#146552}.catalog-inactive{color:#a52636}
.picker-explanation{margin:2px 0 6px}
