*{box-sizing:border-box;margin:0;padding:0}:root{color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:system-ui,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body{background:#f5f5f5;margin:0;padding:0}#root{background:#f5f5f5;width:100%;min-height:100vh}a{color:#08c;font-weight:500;text-decoration:none;transition:color .2s}a:hover{color:#06a}button{cursor:pointer;font-family:inherit}input,table{font-family:inherit}h1,h2,h3,h4,h5,h6{color:#333;font-weight:600}:root{color:#243142;background:#eef3f8}*{box-sizing:border-box}.login-page,.dashboard{color:#243142;background:#eef3f8;min-height:100vh}.login-page{place-items:center;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #d7e0ea;border-radius:8px;gap:18px;width:min(430px,100%);padding:28px;display:grid;box-shadow:0 12px 30px #162b441f}.login-brand,.header-left,.header-right,.logo,.row-actions,.audit-meta{align-items:center;gap:10px;display:flex}.login-panel h1,.dashboard-title{color:#16263a;margin:0}.login-panel p{color:#68788a;margin:4px 0 0}.logo-icon{color:#fff;background:#135f9f;border-radius:8px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.logo span{font-size:1.05rem;font-weight:800}.header{z-index:20;background:#fff;border-bottom:1px solid #d8e2ec;grid-template-columns:minmax(220px,320px) 1fr auto;align-items:center;gap:18px;min-height:68px;margin-left:72px;padding:14px 24px;display:grid;position:sticky;top:0;box-shadow:0 2px 10px #11273e0f}.header-search{width:100%;max-width:520px}.dashboard-container{width:calc(100% - 72px);max-width:1440px;margin:0 auto 0 72px;padding:24px}.dashboard-menu-open .header{margin-left:260px}.dashboard-menu-open .dashboard-container{width:calc(100% - 260px);margin-left:260px}.dashboard-title{margin-bottom:18px;font-size:1.75rem}.side-menu{z-index:40;color:#fff;background:#17385c;width:72px;padding:14px 10px;transition:width .16s,padding .16s;position:fixed;inset:0 auto 0 0;box-shadow:4px 0 16px #14233429}.side-menu-open{width:260px;padding:18px}.side-menu-header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.side-menu:not(.side-menu-open) .logo,.side-menu:not(.side-menu-open) .nav-label{display:none}.side-menu:not(.side-menu-open) .side-menu-header{justify-content:center}.side-menu button{color:#d9e7f4;background:0 0;border-color:#0000;justify-content:flex-start;gap:10px;width:100%;margin-bottom:8px;transition:background .12s,color .12s,border-color .12s}.side-menu:not(.side-menu-open) button{justify-content:center;padding-left:0;padding-right:0}.side-menu button:hover,.side-menu .nav-active{color:#fff;background:#ffffff1a}.side-menu .nav-active{background:#1266a859;border-color:#7ebae7b8}.nav-short{background:#ffffff1f;border-radius:6px;place-items:center;width:28px;min-width:28px;height:28px;font-size:.78rem;font-weight:900;display:inline-grid}.side-menu-toggle{flex-direction:column;gap:4px;min-width:42px;max-width:42px;padding:8px}.side-menu-toggle span{background:currentColor;border-radius:999px;width:16px;height:2px;transition:opacity .12s,transform .12s;display:block}.side-menu-open .side-menu-toggle span:first-child{transform:translateY(6px)rotate(45deg)}.side-menu-open .side-menu-toggle span:nth-child(2){opacity:0}.side-menu-open .side-menu-toggle span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}label{color:#46596e;gap:6px;font-size:.9rem;font-weight:700;display:grid}input,select,textarea{color:#1f2d3d;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #c7d3df;border-radius:6px;padding:9px 11px}textarea{resize:vertical}.checkbox-label{grid-template-columns:auto 1fr;grid-auto-flow:column;justify-content:start;align-items:center}.checkbox-label input{width:auto;min-height:auto}button,.row-actions a,.primary-button{color:#203247;min-height:38px;font:inherit;cursor:pointer;background:#fff;border:1px solid #b9c7d5;border-radius:6px;justify-content:center;align-items:center;padding:9px 12px;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}button:hover,.row-actions a:hover{background:#edf4fa}button:disabled{cursor:not-allowed;opacity:.55}.primary-button{color:#fff;background:#1266a8;border-color:#1266a8}.primary-button:hover{background:#0e548b}.alert{border-radius:6px;margin-bottom:14px;padding:12px 14px;font-weight:800}.alert-error{color:#9f1d1d;background:#fff1f1;border:1px solid #e3a7a7}.alert-success{color:#236735;background:#edf9f1;border:1px solid #96cba5}.stats-section{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.stat-card,.dashboard-section{background:#fff;border:1px solid #d8e2ec;border-radius:8px;box-shadow:0 1px 3px #14233214}.stat-card{gap:8px;padding:16px;display:grid}.stat-card span,.section-header span,.audit-main span,.audit-meta,.pool-card small{color:#65778c;font-weight:700}.stat-card strong{color:#1266a8;font-size:2rem;line-height:1}.dashboard-section{margin-bottom:18px;padding:18px}.section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-header h2{color:#16263a;margin:0;font-size:1.15rem}.request-form,.pool-form,.network-form{gap:14px;display:grid}.form-row,.pool-form,.network-form{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row,.pool-form,.network-form,.pool-detail-grid{gap:12px;display:grid}.secondary-section{margin-top:26px}.pool-detail-grid{grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);align-items:start}.table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:780px}.data-table th,.data-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e5ebf0;padding:11px 10px}.data-table th{color:#435367;text-transform:uppercase;background:#f6f9fc;font-size:.78rem}.no-data{color:#748194;text-align:center;font-style:italic}.row-actions{flex-wrap:wrap}.status{border-radius:999px;align-items:center;padding:5px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.status-active,.status-approved,.status-completed,.status-provisioned{color:#1d6b3a;background:#e8f6ee}.status-pending,.status-provisioning{color:#8a5a00;background:#fff5df}.status-revoked,.status-rejected,.status-failed{color:#9d2525;background:#fdecec}.status-inactive,.status-unknown{color:#4d5965;background:#eef0f3}.pool-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.pool-card{text-align:left;background:#fbfdff;justify-content:stretch;gap:8px;min-height:112px;padding:14px;display:grid}.pool-card strong{color:#16263a;font-size:1rem}.pool-card span{color:#1266a8;font-weight:800}.pool-card-active{border-color:#1266a8;box-shadow:inset 0 0 0 1px #1266a8}.sort-dropdown{width:min(220px,100%)}.ip-list{flex-wrap:wrap;gap:8px;display:flex}.ip-list span{color:#29445f;background:#edf4fa;border-radius:999px;padding:6px 10px;font-weight:800}.audit-list{gap:12px;display:grid}.audit-card{background:#fbfdff;border:1px solid #dfe7ef;border-radius:8px;gap:10px;padding:14px;display:grid}.audit-main{justify-content:space-between;gap:12px;display:flex}.audit-main strong{color:#16263a}.audit-meta{flex-wrap:wrap;align-items:flex-start;font-size:.88rem}.metadata-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.metadata-grid div{background:#eef4f9;border-radius:6px;gap:4px;padding:9px;display:grid}.metadata-grid span{color:#65778c;text-transform:uppercase;font-size:.8rem;font-weight:800}.metadata-grid strong{overflow-wrap:anywhere;color:#203247;font-size:.9rem}@media (width<=980px){.header{grid-template-columns:1fr;margin-left:72px}.dashboard-menu-open .header{margin-left:72px}.dashboard-menu-open .dashboard-container,.dashboard-container{width:calc(100% - 72px);margin-left:72px}.side-menu{width:72px}.side-menu-open{width:min(260px,100% - 72px)}.header-left,.header-right,.section-header{flex-wrap:wrap;align-items:stretch}.stats-section{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row,.pool-form,.network-form,.pool-detail-grid{grid-template-columns:1fr}}@media (width<=620px){.dashboard-container,.header{padding:14px}.stats-section{grid-template-columns:1fr}.dashboard-section,.login-panel{padding:14px}}.app{background:#f5f5f5;width:100%;min-height:100vh}
