:root{--ink:#15251f;--muted:#65746d;--line:#dce5df;--cream:#f5f7f2;--paper:#fffefa;--green:#0d7445;--green-dark:#075a35;--green-soft:#e1f1e8;--amber:#e7a52d;--red:#b74b43;--blue:#2374ab}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}
.public-shell{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(217,234,223,.9),transparent 34%),var(--cream)}
.public-nav,.public-hero,.how-section,.public-footer{width:min(1180px,calc(100% - 40px));margin-inline:auto}.public-nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(21,37,31,.12)}
.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.4px}.brand b{color:var(--green)}.brand-mark{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--green);color:#fff;box-shadow:0 7px 20px rgba(13,116,69,.24)}.brand-light b{color:#90d2ae}.brand-light .brand-mark{background:#8dd2aa;color:#123d29;box-shadow:none}.staff-link{font-size:14px;font-weight:700;display:flex;gap:8px;align-items:center}.staff-link span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%}
.public-hero{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding:68px 0 86px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{content:"";width:26px;height:2px;background:var(--green)}.hero-copy h1{margin:22px 0;max-width:600px;font:400 clamp(54px,6vw,88px)/.98 Georgia,serif;letter-spacing:-.055em}.hero-copy h1 em{color:var(--green);font-weight:400}.hero-copy>p{max-width:570px;color:var(--muted);font-size:18px;line-height:1.7}.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.trust-pill{display:flex;align-items:center;gap:8px;padding:9px 12px;background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:999px;color:#53615b;font-size:12px;font-weight:700}.dot{width:7px;height:7px;border-radius:50%;background:currentColor}.dot.green{color:var(--green)}.dot.blue{color:var(--blue)}.dot.amber{color:var(--amber)}
.payment-card-wrap{position:relative}.payment-card-glow{position:absolute;inset:12% -16%;background:radial-gradient(circle,rgba(13,116,69,.2),transparent 62%);filter:blur(24px)}.payment-card{position:relative;max-width:480px;margin-left:auto;background:var(--paper);padding:34px;border:1px solid rgba(21,37,31,.12);border-radius:28px;box-shadow:0 32px 80px rgba(36,62,48,.14)}.card-kicker{margin:0 0 8px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.payment-card h2{margin:0;font:400 34px Georgia,serif;letter-spacing:-.035em}.payment-card>p{color:var(--muted);font-size:14px;line-height:1.6}.field-label{display:block;margin:24px 0 9px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.input-wrap{position:relative}.input-wrap input{width:100%;height:54px;padding:0 48px 0 16px;border:1px solid #cfdad3;border-radius:14px;background:#fff;color:var(--ink);outline:none}.input-wrap input:focus,.login-label input:focus,.form-grid input:focus,.form-grid select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(13,116,69,.1)}.input-wrap span{position:absolute;right:15px;top:14px;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;color:var(--green);background:var(--green-soft);font-weight:900}.primary-btn{display:grid;place-items:center;width:100%;min-height:52px;margin-top:14px;border:0;border-radius:14px;background:var(--green);color:#fff;font-weight:800;box-shadow:0 10px 22px rgba(13,116,69,.2)}.primary-btn:hover{background:var(--green-dark);transform:translateY(-1px)}button:disabled{opacity:.55;cursor:wait}.secure-note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px!important;color:#7a8781!important;font-size:11px!important}.form-message{margin-top:14px;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.5}.form-message.error{background:#fff0ed;color:#91382f}.form-message.success{background:var(--green-soft);color:var(--green-dark)}.invoice-preview{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfcf9}.invoice-top{display:flex;justify-content:space-between;align-items:start;gap:16px}.invoice-preview strong,.invoice-preview small{display:block}.invoice-preview small{margin-top:4px;color:var(--muted)}.amount{color:var(--green);font-size:23px;font-weight:900;letter-spacing:-.04em}
.how-section{margin-bottom:76px;padding:70px 0 38px;border-top:1px solid rgba(21,37,31,.12);display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.how-section h2{margin:15px 0 0;font:400 42px/1 Georgia,serif;letter-spacing:-.04em}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{padding:8px 10px}.step>span{color:var(--green);font:italic 22px Georgia,serif}.step h3{margin:30px 0 9px;font-size:16px}.step p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.public-footer{padding:28px 0 40px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.public-footer p{margin:0;color:var(--muted);font-size:12px}
.signin-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 50% 0,#dceee4,transparent 45%),var(--cream)}.signin-card{width:min(450px,100%);padding:38px;border:1px solid var(--line);border-radius:22px;background:#fff;text-align:center;box-shadow:0 24px 70px rgba(36,62,48,.12)}.signin-card .brand{margin-bottom:30px}.signin-card h1{margin:0;font:400 35px Georgia,serif}.signin-card>p{color:var(--muted);line-height:1.65}.login-label{display:grid;gap:7px;margin-top:16px;color:var(--muted);font-size:11px;font-weight:800;text-align:left;text-transform:uppercase;letter-spacing:.05em}.login-label input{height:46px;padding:0 12px;border:1px solid var(--line);border-radius:10px;outline:none}.back-link{display:inline-block;margin-top:18px;color:var(--muted);font-size:12px}.link-button{margin-top:22px}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:235px minmax(0,1fr);background:#f4f6f3}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 20px 20px;background:#103d2b;color:#eff8f2}.sidebar-nav{display:grid;gap:7px;margin-top:46px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:11px;color:#c7d8cf;font-size:13px;font-weight:700}.nav-item span{width:24px;text-align:center}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.1);color:#fff}.sidebar-bottom{margin-top:auto}.router-card{padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.055)}.router-card p{margin:0;color:#9fb6aa;font-size:11px}.router-card strong{display:flex;gap:8px;align-items:center;margin-top:7px;font-size:12px}.pulse{width:7px;height:7px;border-radius:50%;background:#72d69d;box-shadow:0 0 0 4px rgba(114,214,157,.12)}.logout-btn{width:100%;margin-top:10px;padding:10px;border:0;border-radius:10px;background:transparent;color:#b8cbc1;font-size:11px;font-weight:800}.logout-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.admin-main{min-width:0}.admin-header{min-height:82px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.8);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.admin-header p,.admin-header h1{margin:0}.admin-header p{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.admin-header h1{margin-top:5px;font:400 25px Georgia,serif}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:900}.content{padding:28px 34px 44px}.setup-banner{margin-bottom:14px;padding:13px 16px;border:1px solid #efdda9;border-radius:12px;background:#fff7df;color:#6f571f;font-size:11px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:14px}.toolbar h2{margin:0;font:400 29px Georgia,serif}.toolbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.toolbar-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.btn{min-height:40px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:12px;font-weight:800}.btn:hover{border-color:#b9c9bf;background:#fbfcfa}.btn.green{color:#fff;background:var(--green);border-color:var(--green)}.btn.green:hover{background:var(--green-dark)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{min-width:0;padding:19px;border:1px solid var(--line);border-radius:15px;background:#fff}.stat-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.stat-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--green-soft);color:var(--green)}.stat-value{margin:16px 0 5px;font-size:27px;font-weight:900;letter-spacing:-.045em;white-space:nowrap}.stat-foot{color:var(--muted);font-size:11px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:14px;margin-top:14px}.panel{min-width:0;border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 19px;border-bottom:1px solid #edf1ee}.panel-head h3{margin:0;font-size:14px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.count-pill{padding:6px 9px;border-radius:999px;background:#f0f4f1;color:var(--muted);font-size:9px;font-weight:800}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{padding:11px 15px;text-align:left;color:#87928c;background:#fafbf9;font-size:9px;text-transform:uppercase;letter-spacing:.08em}td{padding:13px 15px;border-top:1px solid #eef1ef;font-size:11px;white-space:nowrap}.person{display:flex;align-items:center;gap:9px}.person-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;color:var(--green);background:var(--green-soft);font-weight:900}.person strong,.person small,td>small{display:block}.person small,td>small{margin-top:3px;color:var(--muted);font-size:9px}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status.active,.status.paid{color:var(--green);background:#e7f5ed}.status.past_due,.status.overdue{color:#a8453d;background:#ffefed}.status.suspended{color:#8b6a24;background:#fff4d9}.status.pending{color:var(--blue);background:#eaf4fb}.small-action{padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:9px;font-weight:800}.small-action:hover{border-color:var(--green);color:var(--green)}.activity{padding:5px 18px 15px}.activity-item{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #eef1ef}.activity-item:last-child{border-bottom:0}.activity-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#f1f5f2;color:var(--green)}.activity-item strong,.activity-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.activity-item small{margin-top:4px;color:var(--muted);font-size:9px}.activity-amount{text-align:right;font-size:10px;font-weight:900}.activity-amount small{color:var(--green);font-size:8px}.empty{padding:25px!important;color:var(--muted);text-align:center;font-size:11px}.new-subscriber{margin:14px 0}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;padding:18px}.form-grid label{display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.form-grid input,.form-grid select{height:42px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;outline:none}.form-actions{display:flex;align-items:end}.close-btn{border:0;background:#f2f5f2;border-radius:50%;width:32px;height:32px;font-size:18px}.settings-panel{margin-top:14px}.password-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.security-note{margin:0;padding:0 18px 18px;color:var(--muted);font-size:10px}.toast{position:fixed;z-index:50;right:24px;bottom:24px;max-width:380px;padding:13px 16px;border-radius:12px;background:#153b2b;color:#fff;box-shadow:0 14px 40px rgba(0,0,0,.2);font-size:12px}.toast.error{background:#8d342e}
@media(max-width:1080px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.public-hero{grid-template-columns:1fr;gap:45px;padding-top:55px}.payment-card{margin:0;max-width:600px}.how-section{grid-template-columns:1fr;gap:35px}.admin-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:25px 12px;align-items:center}.sidebar .brand span:last-child,.nav-item:not(.active),.nav-item.active{font-size:0}.nav-item span{font-size:16px}.router-card{display:none}.content{padding:24px 18px}.admin-header{padding:0 18px}.toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{justify-content:flex-start}}
@media(max-width:620px){.public-nav,.public-hero,.how-section,.public-footer{width:min(100% - 28px,1180px)}.public-hero{padding:44px 0 65px}.hero-copy h1{font-size:52px}.payment-card{padding:25px 20px;border-radius:22px}.steps{grid-template-columns:1fr}.step h3{margin-top:12px}.public-footer{align-items:flex-start;flex-direction:column}.admin-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:14px 18px;flex-direction:row;justify-content:space-between}.sidebar-nav,.sidebar-bottom{margin:0}.sidebar-nav{display:none}.admin-header h1{font-size:20px}.stats{grid-template-columns:1fr 1fr}.stat-card{padding:14px}.stat-value{font-size:20px}.form-grid{grid-template-columns:1fr}.toolbar-actions{width:100%}.toolbar-actions .btn{flex:1}.dashboard-grid{display:block}.dashboard-grid .panel{margin-top:14px}}

/* ISP operations modules */
.sidebar-nav{gap:3px;margin-top:28px}.nav-item{padding:9px 13px;border-radius:10px;font-size:12px}.router-card{padding:12px 15px}.logout-btn{margin-top:7px;padding:8px}.admin-section{display:none}.admin-section.active{display:block}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-title h2{margin:0;font:400 30px Georgia,serif}.section-title p{margin:6px 0 0;color:var(--muted);font-size:13px}.setup-banner a{text-decoration:underline;font-weight:800}.stats-six{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-icon.warn{background:#fff0e1;color:#b26822}.overview-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.form-panel,.list-panel{margin-top:14px}.button-link{display:inline-flex;align-items:center}.table-tools{padding:12px 15px;border-bottom:1px solid var(--line);background:#fafbf9}.table-search{width:min(420px,100%);height:38px;padding:0 12px;border:1px solid var(--line);border-radius:9px;outline:none}.finance-stats{grid-template-columns:repeat(3,1fr);margin-bottom:14px}.eyebrow-text{color:var(--green)!important;font-size:10px!important;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.form-grid .wide-field{grid-column:span 2}.form-grid input[readonly]{background:#f5f7f5;color:#6f7d76}.form-grid .check-label{display:flex;align-items:center;gap:9px;height:42px;margin-top:18px}.check-label input{width:16px;height:16px}.row-actions{display:flex;gap:6px}.small-action.danger:hover{border-color:var(--red);color:var(--red)}.status.void{color:#8b6a24;background:#fff4d9}.activity{max-height:480px;overflow:auto}.mini-chart{height:290px;padding:25px 20px 18px;display:flex;align-items:flex-end;justify-content:space-around;gap:9px;overflow-x:auto}.bar-column{height:100%;min-width:48px;display:grid;grid-template-rows:22px 1fr 18px;gap:6px;text-align:center}.bar-value{font-size:8px;color:var(--muted)}.bar-track{height:100%;display:flex;align-items:flex-end;justify-content:center;border-radius:8px;background:#f1f5f2;overflow:hidden}.bar-track i{display:block;width:100%;min-height:2px;border-radius:7px 7px 0 0;background:linear-gradient(#39b779,var(--green))}.bar-column small{font-size:8px;color:var(--muted)}
@media(max-width:1080px){.stats-six{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}}
@media(max-width:820px){.sidebar-nav{margin-top:20px}.nav-item{padding:8px}.section-title{align-items:flex-start;flex-direction:column}.form-grid .wide-field{grid-column:span 2}}
@media(max-width:620px){.admin-shell{display:block}.sidebar{display:block;height:auto;padding:14px 14px 8px}.sidebar>.brand{margin-left:5px}.sidebar-nav{display:flex;margin-top:12px;overflow-x:auto;padding-bottom:7px}.nav-item,.nav-item:not(.active),.nav-item.active{flex:0 0 auto;font-size:10px}.nav-item span{font-size:13px}.sidebar-bottom{display:none}.form-grid .wide-field{grid-column:span 1}.section-title h2{font-size:26px}.finance-stats{grid-template-columns:1fr}.stats-six{grid-template-columns:1fr 1fr}}
