.auth-panel{max-width:500px;margin:24px auto}.auth-panel form{margin-top:24px}.auth-panel p{font-size:13px;line-height:1.7;color:var(--muted)}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}.admin-toolbar>span{font-size:13px}.filters{display:flex;align-items:center;gap:12px}.filters label{font-size:12px;display:flex;align-items:center;gap:8px}.filters select{margin:0;width:auto}.counts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.counts div{background:white;border:1px solid var(--line);padding:20px;border-radius:10px;font-size:13px}.counts strong{display:block;font-size:27px;margin-top:8px;color:var(--accent)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:740px;font-size:12px}th,td{text-align:left;padding:15px 10px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.8}th{color:var(--muted);font-weight:600}td small{margin-top:3px}td button{padding:8px 12px!important}.pagination{display:flex;justify-content:space-between;margin-top:20px}.badge.PENDING{background:#fff4da;color:#89601b}.badge.REJECTED{background:#ffedeb;color:#a73328}.badge.APPROVED{background:#e9f5ed;color:#297042}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;max-width:700px;width:calc(100vw - 30px);max-height:90vh;overflow:auto;color:#172c3d}dialog::backdrop{background:#102c3d88}dialog dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px}dialog dt,dialog dd{margin:0;white-space:pre-wrap}dialog dd{overflow-wrap:anywhere}dialog h3{font-size:14px}#history{font-size:12px;color:var(--muted);line-height:1.8;padding-left:20px}#decision-form{margin-top:25px}.decision-actions{display:flex;gap:12px}.danger{color:#b33528}button:disabled{opacity:.55;cursor:wait}.error,.notice{margin-bottom:20px}@media(max-width:560px){.counts{gap:8px}.counts div{padding:13px;font-size:11px}.counts strong{font-size:23px}dialog{padding:20px}dialog dl{grid-template-columns:1fr;gap:5px}dialog dd{margin-bottom:12px}.filters{flex-wrap:wrap}}
.ip-panel{margin-top:28px}.ip-panel h2 small{display:block;margin-top:6px;font-size:12px;font-weight:400}.ip-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0}.ip-controls label{font-size:12px}.ip-controls select{width:auto;margin:6px 0}.ip-table small{display:block;overflow-wrap:anywhere}.ip-table input[type=checkbox],.ip-confirm input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:4px 8px 4px 0;accent-color:var(--accent)}.ip-table td:nth-child(2){white-space:nowrap}.ip-state{font-weight:600}.ip-state.AVAILABLE{color:#237a48}.ip-state.RESPONDING{color:#dc2626}.ip-state.VM_REGISTERED{color:#a67c00}.ip-state.ALLOCATED{color:#237a48}.ip-state.ERROR{color:#b33528}#ip-policy-form{margin-top:24px;display:grid;gap:16px;max-width:850px}.ip-confirm{display:flex;align-items:flex-start;font-size:12px;line-height:1.8}#ip-summary,#ip-message{font-size:13px;line-height:1.8}#ip-policy-form>button{justify-self:start}#ip-policy-form>small{line-height:1.7;color:var(--muted)}
.reclaim-panel{margin-top:28px}.reclaim-detail{border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:18px}.reclaim-detail p{font-size:13px;line-height:1.7}.reclaim-detail small{display:block;line-height:1.7;color:var(--muted)}.reclaim-detail button{margin-top:16px}#reclaim-summary{font-size:13px;line-height:1.8}
.vm-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.vm-actions button:disabled{cursor:not-allowed}.vm-actions button{white-space:nowrap}
