:root{--navy:#06182b;--navy2:#0b2945;--cyan:#08bde5;--mint:#36e0b1;--ink:#10243b;--muted:#68788c;--bg:#f3f8fb;--line:#dce7ee;--white:#fff;--shadow:0 18px 50px rgba(7,31,54,.10)}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",Tahoma,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:#069cc5;text-decoration:none}
button,input,select,textarea{font:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--mint));color:#03213b;font-weight:800;padding:13px 22px;cursor:pointer}
.btn.secondary{background:#e8f8fb;color:#087d9c}
.btn.small{padding:9px 14px}
.flash{margin:16px auto;max-width:1100px;padding:14px 18px;border-radius:12px}
.flash.success{background:#dff8ed;color:#126a4a}
.flash.error{background:#ffe3e3;color:#9c2525}
.flash.warning{background:#fff4d6;color:#7a5800}
.brand{display:flex;align-items:center;gap:12px;color:white;padding:22px}
.brand img,.login-card img,.install-card img,.onboarding-head img,.apply-intro>img{width:58px;height:58px;object-fit:contain}
.brand span{font-size:20px;font-weight:800}
.brand small{display:block;color:#62d5f2;font-size:11px;letter-spacing:1px}
.sidebar{position:fixed;right:0;top:0;bottom:0;width:250px;background:linear-gradient(180deg,#05172a,#09233b);color:white;z-index:10}
.sidebar nav{display:grid;gap:6px;padding:20px 14px}
.sidebar nav a{color:#c5d7e6;padding:14px 16px;border-radius:12px;font-weight:700}
.sidebar nav a:hover{background:#0f4969;color:white}
.logout{position:absolute;bottom:18px;right:20px;left:20px}
.logout button{width:100%;border:1px solid #28506c;background:transparent;color:#c5d7e6;padding:11px;border-radius:10px}
.admin-main{margin-right:250px;padding:26px 32px;min-height:100vh}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.topbar span{color:#7b8ba0;font-size:12px}
.topbar h1{margin:5px 0;font-size:27px}
.user-chip{padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:white;font-weight:700}
.hero-admin{display:flex;align-items:center;justify-content:space-between;gap:20px;background:radial-gradient(circle at 10% 20%,#0b5875,transparent 35%),linear-gradient(135deg,#092b49,#073755);color:white;padding:38px;border-radius:24px;box-shadow:var(--shadow)}
.hero-admin span{color:#2bcaee;font-weight:800}
.hero-admin h2{font-size:36px;max-width:760px;margin:10px 0}
.hero-admin p{color:#c5d7e6}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}
.stats div,.panel{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 25px rgba(7,31,54,.05)}
.stats div{padding:20px}
.stats strong{display:block;font-size:34px}
.stats span{color:var(--muted)}
.panel{padding:24px;margin-bottom:20px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.panel h2,.panel h3{margin-top:0}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:right;padding:14px;border-bottom:1px solid #edf2f5;white-space:nowrap}
th{color:#75869a;font-size:13px}
.badge{display:inline-block;background:#e7f7fb;color:#087d9c;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.empty{text-align:center;color:var(--muted);padding:30px}
.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.detail-grid aside .panel{margin-bottom:20px}
dl{display:grid;grid-template-columns:150px 1fr;gap:0}
dt,dd{padding:13px;border-bottom:1px solid #edf2f5;margin:0}
dt{color:var(--muted)}
label{display:grid;gap:7px;color:#33495f;font-weight:700}
input,select,textarea{width:100%;border:1px solid #cfdee7;border-radius:10px;background:white;padding:12px;color:#12263c}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(8,189,229,.15);border-color:var(--cyan)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wide{grid-column:1/-1}
.form-panel{max-width:920px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.plan-card{background:white;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}
.plan-card>span{color:#0788a8}
.plan-card strong{font-size:26px}
.plan-card small{font-size:14px}
.apply-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.apply-intro{background:radial-gradient(circle at 20% 90%,#0b5c78,transparent 35%),var(--navy);color:white;padding:70px 8vw;display:flex;flex-direction:column;justify-content:center}
.apply-intro h1{font-size:48px;line-height:1.35;max-width:650px}
.apply-intro p,.apply-intro li{color:#c8d7e3;font-size:18px}
.apply-intro li{margin:14px 0}
.eyebrow{color:#08bddf;font-weight:800}
.apply-form{padding:70px 6vw;background:#f7fbfd;display:flex;flex-direction:column;justify-content:center}
.apply-form h2{font-size:34px;margin-bottom:5px}
.trap{position:absolute;right:-10000px}
.message-card,.login-card,.install-card{width:min(540px,calc(100% - 32px));margin:8vh auto;background:white;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:38px;text-align:center}
.login-card form{display:grid;gap:16px;text-align:right}
.success-mark{width:70px;height:70px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#dff8ed;color:#159466;font-size:36px}
.install-body{background:linear-gradient(135deg,#06182b,#0b4663);min-height:100vh;padding:20px}
.install-card{width:min(850px,calc(100% - 32px));margin:3vh auto}
.onboarding{width:min(980px,calc(100% - 32px));margin:30px auto}
.onboarding-head{text-align:center;margin-bottom:25px}
.onboarding-head h1{font-size:38px;margin-bottom:5px}
fieldset{border:1px solid var(--line);border-radius:12px;padding:18px}
.check{display:inline-flex;grid-auto-flow:column;align-items:center;margin:8px 12px}
.check input{width:auto}
.link-box input{direction:ltr;text-align:left;margin-bottom:10px}
@media(max-width:900px){.sidebar{position:static;width:100%}
.sidebar nav{grid-template-columns:1fr 1fr}
.logout{position:static;padding:14px}
.admin-main{margin-right:0;padding:18px}
.stats,.plans{grid-template-columns:1fr 1fr}
.hero-admin,.topbar{align-items:flex-start}
.hero-admin{flex-direction:column}
.hero-admin h2{font-size:28px}
.detail-grid,.apply-shell{grid-template-columns:1fr}
.apply-intro,.apply-form{padding:45px 24px}
.apply-intro h1{font-size:36px}
}
@media(max-width:600px){.stats,.plans,.form-grid{grid-template-columns:1fr}
.wide{grid-column:auto}
.sidebar nav{grid-template-columns:1fr}
.hero-admin{padding:25px}
.admin-main{padding:12px}
.topbar{flex-direction:column}
.apply-intro h1{font-size:31px}
dl{grid-template-columns:1fr}
dt{padding-bottom:3px}
dd{padding-top:3px}
}
.btn.danger{background:#ffe3e3;color:#a22626}
.status-active{background:#dff8ed;color:#126a4a}
.status-failed,.status-revoked{background:#ffe3e3;color:#9c2525}
.status-expired{background:#edf1f4;color:#596675}
.status-requested,.status-provisioning{background:#fff4d6;color:#7a5800}
.warning-box{border-color:#f0d587;background:#fffdf6}
.warning-box label{margin:14px 0 8px}
.warning-box .btn{margin:0 0 10px 8px}
.demo-invite{width:min(720px,calc(100% - 32px));margin:5vh auto;text-align:center}
.demo-invite-head{margin-bottom:22px}
.demo-invite-head img{width:72px;height:72px;object-fit:contain}
.demo-invite-head span{display:block;color:#08a7ce;font-weight:800}
.demo-invite-head h1{font-size:34px;margin:8px}
.demo-invite .panel{padding:34px}
.demo-invite dl{text-align:right;margin:22px 0}
.security-note{background:#eef8fb;color:#38556b;padding:13px;border-radius:10px}
.legal-page{width:min(820px,calc(100% - 32px));text-align:right;line-height:1.9}
.legal-page h1{text-align:center}
.timeline{display:grid;gap:0}
.timeline>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #edf2f5}
.timeline span{color:#68788c;font-size:13px}
.payment-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.payment-hero{padding:70px 8vw;background:radial-gradient(circle at 18% 85%,#0b5c78,transparent 38%),var(--navy);color:white;display:flex;flex-direction:column;justify-content:center}
.payment-hero>img{width:66px;height:66px;object-fit:contain}
.payment-hero h1{font-size:42px;line-height:1.3;max-width:600px;margin:12px 0}
.payment-hero p{color:#c8d7e3;line-height:1.8;max-width:650px}
.payment-form{padding:70px 6vw;background:#f7fbfd;display:flex;flex-direction:column;justify-content:center}
.payment-form h2{font-size:32px;margin:8px 0 22px}
.invoice{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:28px;padding:24px;border:1px solid rgba(190,227,244,.24);background:rgba(4,30,55,.34);border-radius:18px;max-width:520px}
.invoice span{color:#c8d7e3}.invoice strong{text-align:left}.invoice-total{font-size:18px;color:#64e3bf!important;font-weight:800;padding-top:10px;border-top:1px solid rgba(190,227,244,.24)}
.payment-choice{display:flex;grid-template-columns:28px 1fr;gap:10px;align-items:flex-start;margin:10px 0;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fbfdfe;cursor:pointer}
.payment-choice input{width:auto;margin-top:4px}.payment-choice strong{display:block;color:var(--ink);margin-bottom:4px}.payment-choice small{color:var(--muted);line-height:1.65}.payment-choice b{color:#087d9c}
.inline-actions{display:flex;gap:7px;align-items:center}.inline-actions .btn{padding:8px 12px}
.public-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px 8vw;background:#041426;color:#c7d8e6}.public-footer strong{display:block;color:white;font-size:18px}.public-footer span{font-size:12px;color:#8da7ba}.public-footer nav{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.public-footer a{color:#d8e8f1;font-size:13px;font-weight:700}.public-footer .footer-whatsapp{color:#51e397}
@media(max-width:900px){.payment-shell{grid-template-columns:1fr}.payment-hero,.payment-form{padding:45px 24px}.payment-hero h1{font-size:33px}.public-footer{padding:24px;align-items:flex-start;flex-direction:column}}
.notification-panel .btn{margin:8px 0 8px 8px}.push-status{margin-top:14px;padding:12px;border-radius:10px}.push-status.ok{background:#dff8ed;color:#126a4a}.push-status.error{background:#ffe3e3;color:#9c2525}.danger-panel{border-color:#f0b7b7;background:#fffafa}
