@import url('/static/base.css');

.login-page{position:relative;min-height:100vh;background:#eef2f7 url("/static/assets/login-background.jpg") center center / cover no-repeat fixed}.login-page::before{content:none}.login-logo{position:fixed;z-index:2;top:1.25rem;right:1.5rem;width:min(180px,28vw);height:auto}.login-card{margin-right:auto;margin-left:max(1rem,8vw);background:#fff;box-shadow:0 20px 60px rgba(10,27,60,.18)}
.topbar{height:auto;min-height:76px;padding:.65rem max(1rem,calc((100vw - 1540px)/2));gap:1.2rem}.operator-block{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;margin-left:auto}.operator-block form{margin:0}.operator-copy{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;font-size:.82rem}.operator-copy span{color:#bdcae2;font-size:.72rem}.header-logo{width:106px;height:46px;object-fit:contain;background:#fff;border-radius:8px;padding:.25rem}.logout-button{background:transparent;border:1px solid #bdcae2;color:#fff;padding:.55rem .8rem}.logout-button:hover{background:#fff;color:#173b72}
.app-shell{width:min(1540px,calc(100% - 2rem));margin:1.5rem auto 4rem}.hero{margin-bottom:1rem}.hero h1{margin-bottom:0}
.zone{background:#fff;border:1px solid #d6e0ed;border-radius:12px;box-shadow:0 7px 24px rgba(28,47,82,.06);padding:1rem;margin-bottom:1rem}.zone-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.zone-heading h2,.zone>h2{margin:0;font-size:1.25rem}.zone-kicker{margin:0;color:#4270a7;text-transform:uppercase;font-size:.68rem;font-weight:850;letter-spacing:.09em}.zone-filters{border-top:4px solid #3977d8}.zone-actions{border-top:4px solid #344bd0}.zone-creation{border-top:4px solid #10a7a0}.population-zone{padding:0;overflow:hidden}
.filter-grid{display:grid;grid-template-columns:minmax(250px,420px) repeat(3,minmax(150px,190px));gap:.7rem;align-items:end;justify-content:start}.selection-status{background:#edf3fb;border:1px solid #d6e0ed;border-radius:10px;margin-bottom:1rem;padding:.65rem 1rem}
.action-grid{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(220px,1fr) minmax(240px,1.1fr) minmax(220px,1fr) minmax(190px,.8fr);gap:.55rem;align-items:stretch}.action-card{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:.55rem;align-items:end;border:3px solid #344bd0;background:#fff;border-radius:2px;padding:.6rem}.action-card label{min-width:0}.action-buttons{display:grid;grid-template-columns:1fr;gap:.4rem}.action-buttons button,.delete-action button{width:100%;min-height:38px;padding:.5rem .6rem}.action-buttons.single{align-self:end}.action-card .danger{background:#bd171f;border-color:#bd171f;color:#fff}.action-card .danger:hover{background:#981219}.delete-action{grid-template-columns:1fr;align-content:space-between}.delete-action strong{line-height:1.25}.delete-action button{align-self:end}
.compact-heading{padding:.8rem 1rem;margin:0;border-bottom:1px solid #e4eaf2}.population-stats{padding:0;border:0}.creation-grid{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.creation-grid .button{min-width:118px;margin:0;text-align:center}.table-wrap{border-radius:0}#usersTable{font-size:.84rem}#usersTable th,#usersTable td{padding:.42rem .65rem;vertical-align:middle}#usersTable th{padding-top:.58rem;padding-bottom:.58rem}.license-list{display:flex;flex-direction:column;align-items:flex-start;gap:.18rem}.license-list .badge{display:block;margin:0;white-space:normal}
.operator-form{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr)) auto;gap:.75rem;align-items:end}.operator-list{display:grid;gap:.75rem}.operator-row{display:grid;grid-template-columns:1fr 1.35fr .8fr 1.4fr auto auto;gap:.65rem;align-items:end;padding:.8rem;border:1px solid #dce4ef;border-radius:12px;background:#f8faff}.check-label{display:flex;flex-direction:row;align-items:center;white-space:nowrap;padding-bottom:.75rem}.check-label input{min-height:auto}.permissions-table td,.permissions-table th{text-align:center}.permissions-table tbody th{text-align:left}.permissions-table input[type=checkbox]{min-height:auto;width:22px;height:22px}
.graph-wait{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;background:rgba(10,24,52,.58);backdrop-filter:blur(4px)}.graph-wait-card{display:grid;justify-items:center;gap:.7rem;width:min(380px,calc(100% - 2rem));padding:2rem;background:#fff;border-radius:16px;box-shadow:0 28px 90px rgba(0,0,0,.35);text-align:center}.graph-wait-card>span:last-child{color:#68768a}.spinner{width:46px;height:46px;border:5px solid #d8e4f7;border-top-color:#2457d6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.waiting{overflow:hidden}.waiting> :not(.graph-wait){pointer-events:none;user-select:none}
@media(max-width:1320px){.action-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.filter-grid{grid-template-columns:minmax(250px,1.5fr) repeat(3,minmax(150px,1fr))}}
@media(max-width:900px){.filter-grid{grid-template-columns:1fr 1fr}.operator-form,.operator-row{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.login-logo{top:1rem;right:1rem;width:145px}.login-card{margin:8rem 1rem 1rem}.filter-grid,.action-grid,.operator-form,.operator-row{grid-template-columns:1fr}.zone-heading{align-items:stretch;flex-direction:column}.operator-block{margin-left:auto}.operator-copy{display:none}.header-logo{width:88px}.app-shell{width:min(100% - 1rem,1540px)}.zone{border-radius:10px}}
