:root{--app-bg:#f3f6fb;--app-text:#1e2d42;--brand:#1676e8;--card-border:#e7ebf2;--sidebar-bg:#fff;--topbar-bg:#fff}
[data-bs-theme=dark]{--app-bg:#111b29;--app-text:#e4eaf3;--card-border:#2a3b51;--sidebar-bg:#192638;--topbar-bg:#192638}
html{scroll-padding-top:80px}
body{font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;color:var(--app-text);background:var(--app-bg);font-size:.94rem}
body.app-layout{min-height:100vh}
.app-topbar{min-height:72px;background:var(--topbar-bg);z-index:1040;box-shadow:0 1px 4px rgba(13,33,60,.03)}
.navbar-brand{letter-spacing:-.5px;color:var(--app-text)}.brand-dot{color:var(--brand)}.topbar-symbol,.brand-mark{display:inline-grid;place-items:center;background:linear-gradient(145deg,#2187f5,#0856ba);color:#fff;border-radius:14px}.topbar-symbol{width:36px;height:36px;font-size:1.2rem}.topbar-subtitle{color:#92a0b1;border-left:1px solid var(--card-border);padding-left:1rem;font-size:.78rem}
.clock-chip{font-variant-numeric:tabular-nums;font-size:.8rem;background:var(--app-bg);border:1px solid var(--card-border);border-radius:99px;padding:.55rem .8rem;color:var(--app-text)}
.icon-button{width:39px;height:39px;display:grid;place-items:center}.user-chip{display:flex;align-items:center;gap:.5rem;border:1px solid var(--card-border);border-radius:22px;padding:.26rem .65rem .26rem .28rem;color:var(--app-text)}.user-avatar{width:32px;height:32px;background:#e3efff;color:#1263c5;display:grid;place-items:center;border-radius:50%}.user-dropdown{min-width:220px}
.app-shell{display:flex;min-height:calc(100vh - 72px)}.app-sidebar{width:254px;flex:0 0 254px;background:var(--sidebar-bg);border-right:1px solid var(--card-border)}.app-sidebar .offcanvas-body{min-height:calc(100vh - 72px);width:100%}
.sidebar-section-label{font-weight:800;letter-spacing:.1em;color:#8a99ad;font-size:.65rem;margin:1rem .6rem .6rem}.sidebar-nav .nav-link{color:#61748e;display:flex;align-items:center;gap:.82rem;padding:.82rem .85rem;border-radius:12px;font-weight:600}.sidebar-nav .nav-link:hover{background:#eef5ff;color:#1265d5}.sidebar-nav .nav-link.active{background:linear-gradient(95deg,#1b77ee,#4097fa);color:#fff;box-shadow:0 4px 12px rgba(32,119,233,.22)}.sidebar-nav .nav-link i{font-size:1.16rem;width:22px;text-align:center}.sidebar-bottom{padding:1rem .6rem;border-top:1px solid var(--card-border);font-size:.8rem;color:#7e90a8}.sidebar-status-dot{display:inline-block;width:8px;height:8px;background:#22b47b;border-radius:50%;margin-right:5px}
.app-main{flex:1;min-width:0;max-width:100%;padding:2rem clamp(1rem,3vw,3rem)}.eyebrow{font-size:.69rem;letter-spacing:.12em;color:#2f87df;font-weight:800}.heading-icon{color:var(--brand)}.app-footer{border-top:1px solid var(--card-border)}
.card,.content-card{border:1px solid var(--card-border);border-radius:16px;box-shadow:0 2px 13px rgba(40,59,91,.035)}.card-header{background:transparent;border-color:var(--card-border);padding:1.2rem 1.4rem}.content-card{background:var(--bs-body-bg);padding:1.35rem}.stat-card{height:100%;padding:1.3rem}.stat-icon{height:48px;width:48px;border-radius:14px;display:grid;place-items:center;font-size:1.35rem}.stat-blue{background:#e7f0ff;color:#176de5}.stat-green{background:#e5f8ed;color:#109365}.stat-purple{background:#efeafb;color:#7956d1}.stat-orange{background:#fff2e0;color:#c98216}.stat-number{font-size:clamp(1.5rem,2.4vw,2.15rem);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.table{margin-bottom:0;--bs-table-bg:transparent}.table thead th{background:var(--app-bg);color:#71839a;font-size:.74rem;font-weight:800;letter-spacing:.025em;white-space:nowrap;padding:.95rem .85rem}.table td{vertical-align:middle;padding:.82rem .85rem;border-color:var(--card-border)}.table-responsive{overflow:auto}.table-responsive .table{min-width:650px}.table td.text-break{min-width:160px}.table .status-pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;padding:.3rem .65rem;border-radius:99px;font-weight:700}.status-pill.online{background:#dff9ec;color:#128653}.status-pill.offline{background:#edf0f5;color:#78859a}.status-pill.new{background:#fff0da;color:#ac6716}.status-pill i{font-size:.45rem}
.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;align-items:end}.form-control,.form-select,.input-group-text{border-radius:9px}.form-label{font-size:.81rem;font-weight:700;color:var(--app-text)}.btn{font-weight:600;border-radius:9px}.btn-primary{background:#1a77e9;border-color:#1a77e9}.btn-primary:hover{background:#1162c8}.table-action{white-space:nowrap}
.muted-hint{font-size:.77rem;color:#8492a6}.empty-state{text-align:center;padding:3.5rem 1rem;color:#8a9ab0}.empty-state i{font-size:2.4rem;display:block;margin-bottom:.75rem}.pagination{margin-bottom:0}.page-link{border-radius:8px!important}.record-summary{color:#8190a5;font-size:.82rem}
.auth-layout{min-height:100vh}.auth-backdrop{position:fixed;inset:0;background:radial-gradient(circle at 10% 10%,#c9e2ff 0,transparent 40%),radial-gradient(circle at 90% 90%,#dbe8fc 0,transparent 35%);pointer-events:none}.auth-container{min-height:100vh;display:flex;align-items:center;position:relative}.auth-card{width:100%;max-width:1020px;border-radius:24px}.auth-brand-panel{background:linear-gradient(155deg,#063465,#0b61bc 64%,#2588ee);color:#fff;min-height:540px}.brand-mark{width:64px;height:64px;font-size:2rem;background:rgba(255,255,255,.2)}.auth-form{max-width:390px}.auth-form .input-group-text{background:#f5f8fc;color:#7e90a6}.auth-form .form-control{min-height:49px}.auth-form .btn-lg{min-height:50px}
@media(max-width:991.98px){.app-sidebar{width:268px!important;flex:unset;border-right:0;z-index:1050}.app-sidebar .offcanvas-body{min-height:auto}.app-main{padding:1.5rem 1rem}.auth-brand-panel{min-height:200px}.auth-card{max-width:610px}.auth-form{max-width:100%}}
@media(max-width:575.98px){.app-topbar{min-height:64px}.app-shell{min-height:calc(100vh - 64px)}.page-heading h1{font-size:1.35rem}.app-main{padding:1.2rem .75rem}.card-header,.content-card{padding:1rem}.auth-container{padding:1rem!important}.auth-card{border-radius:18px}.auth-brand-panel{min-height:170px}.auth-form{padding:.3rem}.stat-card{padding:1rem}.stat-number{font-size:1.55rem}}
[data-bs-theme=dark] .sidebar-nav .nav-link{color:#a3b8ce}[data-bs-theme=dark] .sidebar-nav .nav-link:hover{background:#263e59;color:#fff}[data-bs-theme=dark] .stat-blue{background:#173a65;color:#9ec9ff}[data-bs-theme=dark] .stat-green{background:#173e36;color:#9ce9c3}[data-bs-theme=dark] .stat-purple{background:#332c53;color:#c3b6fa}[data-bs-theme=dark] .stat-orange{background:#463720;color:#f7d49d}[data-bs-theme=dark] .auth-form .input-group-text{background:#253449}
.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.wizard-step{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid var(--card-border);border-radius:14px;background:var(--bs-body-bg);color:#8997aa}.wizard-step>span{height:38px;width:38px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--app-bg);font-weight:800}.wizard-step strong,.wizard-step small{display:block}.wizard-step strong{color:var(--app-text);font-size:.85rem}.wizard-step small{font-size:.73rem}.wizard-step.complete>span{background:#dcfce7;color:#15803d}.wizard-step.current{border-color:#86b7fe;box-shadow:0 0 0 2px #86b7fe33}.wizard-step.current>span{background:#247cef;color:#fff}.wizard-progress{height:22px;border-radius:14px}.wizard-progress .progress-bar{transition:width .2s ease}.site-permissions{max-height:220px;overflow-y:auto;background:var(--app-bg);margin:0}
@media(max-width:767.98px){.wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard-step{padding:.75rem;gap:.6rem}.wizard-step>span{height:32px;width:32px}}
.translog-table{min-width:1030px!important}.translog-table td{vertical-align:top}.translog-details{position:relative;min-width:114px}.translog-details summary{list-style:none;cursor:pointer}.translog-details summary::-webkit-details-marker{display:none}.translog-fields{width:min(350px,65vw);max-height:300px;overflow:auto;padding:.75rem;background:var(--bs-body-bg);border:1px solid var(--card-border);border-radius:10px;box-shadow:0 7px 20px #14264220;font-size:.8rem}.translog-fields>div{border-bottom:1px solid var(--card-border);padding:.35rem 0}.translog-fields>div:last-child{border-bottom:none}.translog-fields dt{font-size:.72rem;color:var(--bs-secondary-color)}.translog-fields dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
