:root{--navy:#071b3a;--navy2:#0d2e63;--teal:#21b7b5;--gold:#f8c94a;--bg:#f4f7fb;--text:#102033;--muted:#64748b;--white:#fff;--line:#e1e8f0;--success:#12a150;--danger:#d93f3f;--warning:#d99b21}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:inherit}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 75% 25%,rgba(248,201,74,.28),transparent 30%),radial-gradient(circle at 15% 80%,rgba(33,183,181,.20),transparent 30%),linear-gradient(135deg,var(--navy),#0b3a7e);padding:28px}.login-card{width:min(440px,100%);background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-radius:30px;padding:34px;box-shadow:0 40px 90px rgba(0,0,0,.28);animation:loginRise .6s ease both}.login-card h1{margin:14px 0 8px;color:var(--navy)}.login-logo-wrap,.admin-logo-wrap{display:inline-grid;place-items:center;background:linear-gradient(135deg,#fff,#eef8fb);border:1px solid rgba(7,27,58,.08);box-shadow:0 14px 34px rgba(7,27,58,.16)}.login-logo-wrap{width:62px;height:62px;border-radius:20px}.login-logo{width:44px;height:44px;object-fit:contain}.admin-logo-wrap{width:48px;height:48px;border-radius:16px;flex:0 0 auto}.admin-logo{width:34px;height:34px;object-fit:contain}.brand-mark{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:var(--gold);display:inline-grid;place-items:center;font-weight:900;font-size:24px}.form-control{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;margin:8px 0 16px;transition:border-color .22s ease,box-shadow .22s ease}.form-control:focus{outline:none;border-color:rgba(33,183,181,.7);box-shadow:0 0 0 4px rgba(33,183,181,.12)}.btn{border:0;border-radius:14px;padding:13px 18px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block;transition:transform .22s ease,box-shadow .22s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--gold),#ffd96f);color:#261d00;box-shadow:0 14px 28px rgba(248,201,74,.28)}.btn-primary:hover{box-shadow:0 20px 38px rgba(248,201,74,.38)}.btn-primary::before{content:"";position:absolute;top:-80%;left:-40%;width:40%;height:260%;background:rgba(255,255,255,.55);transform:rotate(25deg) translateX(-170%);transition:transform .75s ease}.btn-primary:hover::before{transform:rotate(25deg) translateX(520%)}.w-100{width:100%}.alert{padding:14px 16px;border-radius:16px;margin-bottom:18px}.alert-success{background:#e3f8ed;color:#086935}.alert-danger{background:#ffe5e5;color:#9e1e1e}.alert-warning{background:#fff3d1;color:#895b00}.admin-body{display:flex;min-height:100vh}.admin-sidebar{width:278px;background:#06142b;color:#dce8ff;position:fixed;left:0;top:0;bottom:0;padding:22px;overflow:auto}.admin-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;color:white}.admin-brand small{display:block;color:#9fb0cc}.admin-sidebar nav{display:grid;gap:8px}.admin-sidebar nav a{padding:12px 14px;border-radius:14px;text-decoration:none;color:#dce8ff;font-weight:700;transition:background .22s ease,transform .22s ease,color .22s ease}.admin-sidebar nav a:hover{background:rgba(255,255,255,.1);transform:translateX(4px);color:#fff}.admin-main{margin-left:278px;flex:1}.admin-topbar{background:white;border-bottom:1px solid var(--line);padding:22px 30px;display:flex;justify-content:space-between;gap:18px;align-items:center;position:sticky;top:0;z-index:5;box-shadow:0 8px 24px rgba(17,40,78,.04)}.admin-topbar h1{margin:0;color:var(--navy)}.admin-topbar p{margin:4px 0 0;color:var(--muted)}.admin-profile{text-align:right}.admin-profile span{display:block;color:var(--muted);font-size:13px}.admin-content{padding:30px}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.dash-card{background:white;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 14px 40px rgba(17,40,78,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.dash-card:hover{transform:translateY(-6px);box-shadow:0 24px 54px rgba(17,40,78,.12);border-color:rgba(33,183,181,.28)}.dash-card span{color:var(--muted);font-weight:700}.dash-card strong{display:block;font-size:32px;color:var(--navy);margin-top:8px}.panel{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 14px 40px rgba(17,40,78,.06);margin-bottom:24px}.panel-header{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}.panel-header h2{margin:0;color:var(--navy)}.table-responsive{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.admin-table th{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.admin-table tr:hover td{background:#fbfdff}.badge{display:inline-block;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.badge-success{background:#def7e9;color:#086935}.badge-warning{background:#fff3d1;color:#895b00}.badge-danger{background:#ffe1e1;color:#9e1e1e}.badge-muted{background:#edf1f6;color:#64748b}.meta{color:var(--muted);font-size:14px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick-link{display:block;padding:18px;border-radius:18px;background:#f8fafc;border:1px solid var(--line);text-decoration:none;font-weight:800;color:var(--navy);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.quick-link:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(17,40,78,.08);border-color:rgba(33,183,181,.3)}@keyframes loginRise{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:980px){.admin-sidebar{position:static;width:100%}.admin-body{display:block}.admin-main{margin-left:0}.dashboard-grid,.quick-grid{grid-template-columns:1fr}.admin-topbar{position:static;display:block}.admin-profile{text-align:left;margin-top:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Sprint 2 Control Center operations */
.action-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn-small{padding:8px 12px;border-radius:11px;font-size:13px}.btn-dark{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;box-shadow:0 12px 26px rgba(7,27,58,.18)}.btn-light{background:#f8fafc;color:var(--navy);border:1px solid var(--line)}.btn-danger{background:#ffe1e1;color:#9e1e1e;border:1px solid #ffcaca}.btn-success{background:#def7e9;color:#086935;border:1px solid #bdebcf}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-form-grid .full{grid-column:1/-1}label{font-weight:800;color:var(--navy);font-size:14px}.form-help{display:block;color:var(--muted);font-size:13px;margin-top:-10px;margin-bottom:12px}.select-control{appearance:none;background:#fff}.thumb{width:58px;height:58px;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#f8fafc}.cover-thumb{width:120px;height:58px;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#f8fafc}.empty-state{text-align:center;padding:34px;background:#f8fafc;border:1px dashed var(--line);border-radius:22px;color:var(--muted)}.split-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.mini-stat{display:inline-flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);font-weight:800;font-size:13px}.card-preview{max-width:420px;border-radius:28px;background:linear-gradient(145deg,#071b3a,#0d2e63 65%,#21b7b5);color:white;padding:26px;box-shadow:0 30px 70px rgba(7,27,58,.28);position:relative;overflow:hidden}.card-preview::before{content:"";position:absolute;right:-54px;top:-54px;width:190px;height:190px;border-radius:50%;background:rgba(248,201,74,.24)}.card-preview .card-top{display:flex;justify-content:space-between;align-items:center;gap:14px;position:relative}.card-preview h2{margin:20px 0 4px}.card-preview p{margin:4px 0;color:#dce8ff}.qr-box{background:#fff;padding:10px;border-radius:18px;display:inline-block}.qr-box img{display:block;width:160px;height:160px}.print-note{color:var(--muted);font-size:13px}.danger-zone{border-color:#ffcaca;background:#fff8f8}.inline-form{display:inline}.search-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.search-bar .form-control{max-width:320px;margin:0}.message-box{white-space:pre-line;line-height:1.6;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:16px}.admin-table .nowrap{white-space:nowrap}.section-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.section-tabs a{padding:10px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:800;background:#fff;color:var(--navy)}.section-tabs a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
@media(max-width:980px){.admin-form-grid,.split-grid{grid-template-columns:1fr}.action-row{align-items:stretch}.action-row .btn{width:auto}.qr-box img{width:130px;height:130px}}
@media print{.admin-sidebar,.admin-topbar,.action-row,.print-note{display:none!important}.admin-main{margin:0!important}.admin-content{padding:0!important}.panel{box-shadow:none;border:0}.card-preview{box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Sprint 4 Digital Privilege Card System */
.vpn-card-stage{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:26px;align-items:start}.premium-member-card{width:100%;border-radius:32px;overflow:hidden;background:linear-gradient(145deg,#06142b 0%,#0d2e63 62%,#1db9b6 100%);color:#fff;box-shadow:0 34px 90px rgba(7,27,58,.32);position:relative;border:1px solid rgba(255,255,255,.16)}.premium-member-card::before{content:"";position:absolute;inset:-70px -90px auto auto;width:230px;height:230px;background:radial-gradient(circle,rgba(248,201,74,.40),transparent 66%);border-radius:50%}.premium-member-card::after{content:"";position:absolute;left:-50px;bottom:-80px;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 66%);border-radius:50%}.premium-card-inner{position:relative;z-index:1;padding:26px}.premium-card-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.premium-card-brand{display:flex;gap:12px;align-items:center}.premium-card-logo{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.95);padding:8px;object-fit:contain}.premium-card-brand strong{display:block;font-size:16px}.premium-card-brand small{display:block;color:#dce8ff}.premium-status{padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}.premium-status.active{background:rgba(18,161,80,.22);color:#dfffee}.premium-status.expired,.premium-status.suspended,.premium-status.cancelled{background:rgba(217,63,63,.2);color:#ffe5e5}.member-identity{display:flex;gap:16px;align-items:center;margin-bottom:20px}.member-avatar{width:78px;height:78px;border-radius:24px;object-fit:cover;background:#fff;border:3px solid rgba(255,255,255,.24)}.member-identity h2{margin:0 0 4px;font-size:24px}.member-identity p{margin:0;color:#dce8ff}.card-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.card-data-box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:13px}.card-data-box span{display:block;color:#c7d8f3;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.card-data-box strong{display:block;margin-top:4px}.card-qr-row{display:flex;justify-content:space-between;gap:18px;align-items:end}.card-qr{background:#fff;border-radius:18px;padding:10px;box-shadow:0 12px 34px rgba(0,0,0,.12)}.card-qr img{display:block;width:132px;height:132px}.validity-strip{color:#dce8ff}.validity-strip strong{display:block;color:#fff;font-size:18px}.renewal-history{display:grid;gap:10px}.renewal-item{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdff}.status-actions{display:grid;gap:10px}.status-actions .inline-form{display:block}.status-actions button{width:100%}.card-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-list{display:grid;gap:10px}.info-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.info-row span{color:var(--muted)}.info-row strong{text-align:right}.copy-field{display:flex;gap:8px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:10px 12px;word-break:break-all}.copy-field code{flex:1;font-family:ui-monospace,Menlo,monospace;color:var(--navy)}
@media(max-width:980px){.vpn-card-stage{grid-template-columns:1fr}.card-tools-grid{grid-template-columns:1fr}.card-qr-row{align-items:start;flex-direction:column}.card-data-grid{grid-template-columns:1fr}}
@media print{.premium-member-card{max-width:440px;box-shadow:none!important}.vpn-card-stage{display:block}.panel:not(.print-card-panel),.admin-sidebar,.admin-topbar,.action-row,.print-note,.status-actions,.card-tools-grid{display:none!important}}

/* Sprint 5 Partner Network Enhancement */
.admin-gallery-grid,.branch-admin-grid,.request-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-gallery-card,.branch-admin-card,.request-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:0 14px 34px rgba(17,40,78,.06)}.admin-gallery-card img{width:100%;height:180px;object-fit:cover;border-radius:18px;margin-bottom:14px;background:#f8fafc}.two-mini{display:grid;grid-template-columns:1fr 1fr;gap:12px}.request-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.request-card-head strong,.request-card-head span{display:block}.request-card-head span{color:var(--muted);font-size:13px;margin-top:4px}.request-update-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.certificate-sheet{background:#f7f9fc;border-radius:30px;padding:28px;overflow:auto}.certificate-border{width:min(980px,100%);margin:0 auto;background:linear-gradient(180deg,#fff,#fbfdff);border:8px solid #071b3a;outline:2px solid #f8c94a;outline-offset:-18px;border-radius:28px;padding:46px;text-align:center;position:relative;box-shadow:0 30px 80px rgba(7,27,58,.12)}.certificate-border:before{content:"";position:absolute;inset:18px;border:1px dashed rgba(7,27,58,.18);border-radius:18px;pointer-events:none}.certificate-top{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--navy)}.certificate-top img{width:68px;height:68px;object-fit:contain}.certificate-top strong{display:block;font-size:22px}.certificate-top span{display:block;color:var(--muted);font-weight:700}.certificate-title{text-transform:uppercase;letter-spacing:.14em;color:#a87500;font-weight:900;margin:34px 0 16px}.certificate-intro{color:var(--muted);font-weight:700;margin:10px 0}.certificate-border h1{font-size:44px;line-height:1.1;color:var(--navy);margin:8px 0 12px}.certificate-level{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 18px;font-weight:900;margin:10px auto 18px}.certificate-text{max-width:700px;margin:0 auto 26px;color:#334155}.certificate-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0;text-align:left}.certificate-meta-grid div{background:#f6f8fb;border:1px solid var(--line);border-radius:16px;padding:14px}.certificate-meta-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.certificate-meta-grid strong{display:block;color:var(--navy);margin-top:4px}.certificate-footer-row{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-top:30px}.signature-box{text-align:left;border-top:2px solid #071b3a;padding-top:10px;min-width:260px}.signature-box span,.cert-qr small{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.signature-box strong{display:block;color:var(--navy);margin-top:4px}.cert-qr img{width:120px;height:120px;background:#fff;border-radius:12px}.no-print{display:flex}.full{grid-column:1/-1}.level-community{background:#e8f0ff;color:#174ea6}.level-silver{background:#f1f3f4;color:#4b5563}.level-gold{background:#fff2c2;color:#8a5a00}.level-platinum{background:#ede9fe;color:#5b21b6}
@media(max-width:1100px){.admin-gallery-grid,.branch-admin-grid,.request-grid{grid-template-columns:1fr 1fr}.certificate-meta-grid{grid-template-columns:1fr 1fr}.certificate-border h1{font-size:34px}}@media(max-width:720px){.admin-gallery-grid,.branch-admin-grid,.request-grid,.two-mini,.certificate-meta-grid{grid-template-columns:1fr}.certificate-footer-row,.certificate-top{flex-direction:column;align-items:center;text-align:center}.signature-box{text-align:center}.certificate-border{padding:30px 20px}.certificate-sheet{padding:10px}}
@media print{.no-print,.admin-sidebar,.admin-topbar{display:none!important}.admin-main{margin-left:0!important}.admin-content{padding:0!important}.print-cert-panel{box-shadow:none!important;border:0!important;padding:0!important}.certificate-sheet{background:#fff;padding:0}.certificate-border{box-shadow:none!important;border-radius:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Sprint 6: Reports, Analytics & Backup Enhancements */
.report-hero,
.backup-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: linear-gradient(135deg, rgba(16, 32, 70, 0.98), rgba(31, 72, 143, 0.92));
    color: #fff;
    overflow: hidden;
    position: relative;
}
.report-hero:after,
.backup-hero:after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: rgba(255, 212, 94, 0.16);
    right: -70px;
    top: -80px;
}
.report-hero h2,
.backup-hero h2 {
    margin: 6px 0;
    font-size: 30px;
    color: #fff;
}
.report-hero .meta,
.backup-hero .meta { color: rgba(255,255,255,.78); }
.kicker {
    display: inline-flex;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: #ffe39a;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.report-metric { position: relative; overflow: hidden; }
.report-metric:after {
    content: "";
    position: absolute;
    right: -24px;
    top: -24px;
    width: 70px;
    height: 70px;
    border-radius: 999px;
    background: rgba(27, 76, 169, .08);
}
.report-metric small {
    display: block;
    margin-top: 8px;
    color: #6b7280;
    font-size: 12px;
}
.analytics-bars { display: grid; gap: 16px; }
.bar-row {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 16px;
    align-items: start;
    padding: 12px;
    border: 1px solid #edf0f7;
    border-radius: 16px;
    background: #fbfcff;
}
.bar-row > strong { color: #182b55; font-size: 13px; }
.bar-stack { display: grid; gap: 8px; }
.bar-item { display: grid; grid-template-columns: 80px 1fr 34px; gap: 10px; align-items: center; font-size: 12px; color: #5d6780; }
.bar-track { height: 9px; border-radius: 999px; background: #e9edf6; overflow: hidden; }
.bar-track i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #1b4ca9, #f5b942); transition: width .6s ease; }
.bar-item b { color: #182b55; }
.report-links .quick-link small { display: block; margin-top: 7px; color: #6b7280; font-weight: 500; }
.notice-panel {
    border-left: 5px solid #f5b942;
    background: #fff9e9;
    color: #4b3a07;
}
.notice-panel code {
    background: rgba(0,0,0,.08);
    padding: 2px 6px;
    border-radius: 6px;
}
.nowrap { white-space: nowrap; }
@media (max-width: 800px) {
    .report-hero,
    .backup-hero { flex-direction: column; align-items: flex-start; }
    .bar-row { grid-template-columns: 1fr; }
    .bar-item { grid-template-columns: 64px 1fr 28px; }
}
