﻿:root{--ink:#102a2b;--muted:#627475;--paper:#f6f1e7;--card:#fffdf8;--teal:#087f75;--teal-dark:#075b55;--coral:#ed6a4c;--gold:#d8a835;--line:#d9d4c9;--danger:#a93636;--shadow:0 20px 60px rgba(16,42,43,.12)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 85% 5%,rgba(216,168,53,.18),transparent 30%),linear-gradient(135deg,#f9f5ed,#f0eee4);font-family:"DM Sans",sans-serif;min-height:100vh}.topbar{min-height:72px;padding:12px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,248,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink)}.brand span{display:grid;place-items:center;width:42px;height:42px;color:#fff;background:var(--teal);border-radius:14px 4px;font-family:"Fraunces",serif;font-weight:700}.brand strong{font-family:"Fraunces",serif;font-size:1.25rem}.topbar nav{display:flex;gap:22px;align-items:center}.topbar nav a{color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600}.topbar nav a:hover{color:var(--teal)}.shell{width:min(1180px,calc(100% - 32px));margin:42px auto 72px;min-height:65vh}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding:54px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--teal);font-size:.74rem}.hero h1,.page-title h1,.auth-card h1{font-family:"Fraunces",serif;line-height:1.02;margin:12px 0 20px}.hero h1{font-size:clamp(3.2rem,7vw,6.8rem);max-width:850px}.hero p{font-size:1.16rem;line-height:1.7;color:var(--muted);max-width:680px}.hero-panel{background:var(--ink);color:#fff;padding:34px;border-radius:8px 38px;box-shadow:var(--shadow);transform:rotate(1deg)}.hero-panel h2{font-family:"Fraunces",serif;font-size:2rem;margin-top:0}.hero-panel ol{padding-left:20px;line-height:2}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:12px 18px;background:var(--teal);color:#fff;text-decoration:none;font:700 .9rem "DM Sans";cursor:pointer}.btn:hover{background:var(--teal-dark)}.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn.coral{background:var(--coral)}.btn.small{padding:8px 12px;font-size:.8rem}.auth-wrap{display:grid;place-items:center;min-height:65vh}.auth-card,.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px}.auth-card{width:min(540px,100%);padding:38px}.auth-card h1{font-size:2.7rem}.field{margin:16px 0}.field label{display:block;font-size:.82rem;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #c7c8c1;border-radius:8px;background:#fff;color:var(--ink);font:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(8,127,117,.15);border-color:var(--teal)}.field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.page-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.page-title h1{font-size:clamp(2.4rem,5vw,4.5rem);margin-bottom:4px}.page-title p,.muted{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.stat{background:var(--card);border:1px solid var(--line);padding:22px;border-radius:14px}.stat strong{display:block;font-family:"Fraunces",serif;font-size:2.2rem}.stat span{color:var(--muted);font-size:.83rem}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.card{padding:24px}.card h2,.card h3{font-family:"Fraunces",serif;margin-top:0}.table-wrap{overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:.88rem}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#faf7f0}tr:last-child td{border-bottom:0}.badge{display:inline-block;border-radius:99px;padding:5px 9px;background:#dff2ec;color:var(--teal-dark);font-size:.73rem;font-weight:700}.badge.warn{background:#fff0cc;color:#815e0b}.badge.locked{background:#eee;color:#666}.alert{padding:14px 17px;border-radius:10px;margin-bottom:18px;background:#e3f3ef;color:var(--teal-dark);border-left:4px solid var(--teal)}.alert.error{background:#fbe7e4;color:var(--danger);border-color:var(--danger)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.result-card{position:relative;overflow:hidden}.result-card.locked .record-body{filter:blur(6px);user-select:none;pointer-events:none}.lock-layer{display:none}.result-card.locked .lock-layer{display:grid;place-items:center;position:absolute;inset:70px 15px 15px;background:rgba(255,253,248,.56);z-index:2;text-align:center;padding:20px}.price{font-family:"Fraunces",serif;font-size:1.5rem}.checkline{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.checkline input{margin-top:4px}.grade-key{background:var(--ink);color:#fff}.grade-key table th,.grade-key table td{color:#fff;border-color:rgba(255,255,255,.15);background:transparent}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-strip div{padding:14px;background:#f3efe5;border-radius:10px}.summary-strip strong{display:block}.empty{padding:42px;text-align:center;color:var(--muted)}footer{padding:30px clamp(20px,5vw,72px);display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}
@media(max-width:850px){.topbar{align-items:flex-start}.topbar nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.topbar nav a{font-size:.75rem}.hero{grid-template-columns:1fr}.hero-panel{transform:none}.stats,.result-grid{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}
@media(max-width:560px){.brand strong{display:none}.shell{margin-top:24px}.hero{padding:20px 0}.hero h1{font-size:3.1rem}.auth-card,.card{padding:20px}.field-row,.stats,.result-grid,.summary-strip{grid-template-columns:1fr}.page-title{display:block}.topbar{padding:10px 16px}.topbar nav a{font-size:.7rem}footer{display:block}}
@media print{.topbar,footer,.actions,.lock-layer{display:none!important}.shell{width:100%;margin:0}.result-card.locked{display:none}.card{box-shadow:none;break-inside:avoid}}

/* Compact professional application layer */
.topbar{min-height:60px;padding:8px clamp(18px,4vw,52px)}
.brand{gap:9px}.brand span{width:36px;height:36px;border-radius:11px 3px;font-size:.88rem}.brand strong{font-size:1.08rem}.topbar nav{gap:7px}.topbar nav a{padding:7px 9px;border-radius:7px;font-size:.79rem}.topbar nav a:hover{background:rgba(8,127,117,.08)}
.shell{width:min(1160px,calc(100% - 28px));margin:26px auto 52px;min-height:70vh}.hero{gap:34px;padding:38px 0}.hero h1{font-size:clamp(2.9rem,6vw,5.4rem);margin:9px 0 14px}.hero p{font-size:1.02rem;line-height:1.58}.hero-panel{padding:26px 28px;border-radius:7px 28px}.hero-panel h2{font-size:1.65rem}.hero-panel ol{line-height:1.75;font-size:.9rem}.actions{margin-top:18px}.btn{padding:10px 14px;border-radius:7px;font-size:.82rem}.btn.small{padding:6px 9px;font-size:.74rem}
.page-title{margin-bottom:18px;align-items:center}.page-title h1{font-size:clamp(2rem,4vw,3.25rem);margin:7px 0 2px}.page-title p{font-size:.88rem}.eyebrow{font-size:.68rem}.stats{gap:11px;margin:16px 0}.stat{padding:15px 18px;border-radius:11px}.stat strong{font-size:1.75rem;line-height:1.1}.stat span{font-size:.75rem}.grid{gap:14px}.card{padding:18px;border-radius:13px;box-shadow:0 10px 32px rgba(16,42,43,.08)}.card h2{font-size:1.28rem;margin-bottom:10px}.card h3{font-size:1.08rem}.card p{margin:8px 0;line-height:1.45}.auth-wrap{min-height:62vh}.auth-card{padding:28px;width:min(460px,100%);border-radius:14px}.auth-card h1{font-size:2.2rem;margin:8px 0 12px}.auth-card p{font-size:.87rem}.field{margin:11px 0}.field label{font-size:.75rem;margin-bottom:5px}.field input,.field select,.field textarea{padding:9px 10px;border-radius:7px;font-size:.86rem}.field-row{gap:11px}
.table-wrap{border-radius:10px}th,td{padding:9px 11px;font-size:.8rem}th{font-size:.67rem}.badge{padding:4px 7px;font-size:.66rem}.result-grid{gap:12px}.summary-strip{gap:8px}.summary-strip div{padding:10px}.checkline{padding:9px 0;font-size:.84rem}footer{padding:20px clamp(18px,4vw,52px)}
.alert{padding:11px 14px;margin-bottom:14px;font-size:.84rem}
.toast-stack{position:fixed;top:72px;right:18px;width:min(390px,calc(100vw - 28px));display:grid;gap:10px;z-index:1000;pointer-events:none}.toast{position:relative;display:grid;grid-template-columns:32px 1fr 24px;gap:10px;align-items:start;overflow:hidden;padding:13px 12px 15px;background:#fffdf8;border:1px solid rgba(16,42,43,.16);border-radius:11px;box-shadow:0 18px 48px rgba(16,42,43,.2);pointer-events:auto;animation:toast-in .3s ease-out both}.toast.error{border-left:4px solid var(--danger)}.toast.success{border-left:4px solid var(--teal)}.toast-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dff2ec;color:var(--teal-dark);font-weight:800}.toast.error .toast-icon{background:#fbe7e4;color:var(--danger)}.toast-copy{display:grid;gap:2px}.toast-copy strong{font-size:.78rem}.toast-copy span{font-size:.76rem;line-height:1.4;color:var(--muted)}.toast-close{border:0;background:transparent;color:#809091;font-size:1.2rem;line-height:1;cursor:pointer;padding:2px}.toast-close:hover{color:var(--ink)}.toast-progress{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--teal);transform-origin:left;animation:toast-countdown 10s linear forwards}.toast.error .toast-progress{background:var(--danger)}.toast.leaving{animation:toast-out .32s ease-in forwards}@keyframes toast-in{from{opacity:0;transform:translateY(-10px) translateX(18px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateX(24px)}}@keyframes toast-countdown{to{transform:scaleX(0)}}
@media(max-width:850px){.topbar nav{gap:2px}.topbar nav a{padding:6px}.shell{margin-top:18px}.card{padding:15px}}
@media(max-width:560px){.topbar{min-height:54px}.toast-stack{top:62px;right:14px}.hero h1{font-size:2.75rem}.hero{padding:12px 0 26px}.stats{grid-template-columns:repeat(2,1fr)}.auth-card{padding:21px}.result-grid{grid-template-columns:1fr}}.table-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 9px}.table-tools form,.table-tools>label{position:relative;display:flex;align-items:center;gap:8px}.table-tools input[type=search]{width:min(290px,62vw);padding:8px 10px 8px 31px;border:1px solid #c7c8c1;border-radius:7px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23627475' stroke-width='2'%3E%3Ccircle cx='6' cy='6' r='4'/%3E%3Cpath d='m9 9 4 4'/%3E%3C/svg%3E") no-repeat 10px center;font:inherit;font-size:.78rem}.search-hint{font-size:.66rem;color:var(--muted)}.table-meta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.72rem}.pager{display:flex;align-items:center;gap:6px}.pager a,.pager button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:6px;padding:6px 8px;text-decoration:none;font:600 .68rem "DM Sans";cursor:pointer}.pager button:disabled{opacity:.4;cursor:default}.pager strong{min-width:42px;text-align:center;font-size:.68rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:560px){.table-tools{align-items:flex-start;flex-direction:column}.table-tools input[type=search]{width:calc(100vw - 28px)}.table-meta{width:100%;justify-content:space-between}}
.file-note{display:block;margin-top:6px;color:var(--muted);font-size:.68rem;line-height:1.35}.file-note.error{color:var(--danger);font-weight:700}

.table-wrap{transition:opacity .18s ease}.table-wrap.is-loading{opacity:.48;pointer-events:none}
.transcript-viewer-card{margin:18px 0 28px;padding:0;overflow:hidden;background:#152d2e;border-color:#152d2e}.transcript-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;color:#fff}.transcript-viewer-head h2{margin:3px 0 2px;color:#fff}.transcript-viewer-head p{margin:0;color:rgba(255,255,255,.7);font-size:.8rem}.transcript-viewer-head .eyebrow{color:#e7bd56}.transcript-viewer-head .actions{margin:0}.transcript-viewer-head .btn{background:#fff;color:var(--ink)}.transcript-frame{position:relative;height:min(78vh,850px);min-height:580px;background:#d8d8d5;border-top:1px solid rgba(255,255,255,.14)}.transcript-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}.transcript-load{position:absolute;inset:50% auto auto 50%;z-index:2;transform:translate(-50%,-50%);border:0;border-radius:8px;padding:12px 18px;background:var(--teal);color:#fff;font:700 .84rem "DM Sans";cursor:pointer;box-shadow:0 12px 28px rgba(16,42,43,.24)}.transcript-load:hover{background:var(--teal-dark)}@media(max-width:650px){.transcript-viewer-head{align-items:flex-start;flex-direction:column}.transcript-frame{height:72vh;min-height:480px}}
.student-dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);align-items:start}.transcript-access-card{position:sticky;top:80px;overflow:hidden;background:linear-gradient(145deg,#102a2b,#174548);color:#fff;border:0;box-shadow:0 22px 52px rgba(16,42,43,.22)}.transcript-access-card:after{content:"";position:absolute;width:230px;height:230px;right:-95px;bottom:-115px;border:1px solid rgba(216,168,53,.28);border-radius:50%;box-shadow:0 0 0 34px rgba(216,168,53,.06),0 0 0 68px rgba(216,168,53,.035)}.transcript-access-card>*{position:relative;z-index:1}.transcript-access-card .eyebrow{color:#e7bd56}.transcript-access-card h2{margin:8px 0;font-size:1.65rem}.transcript-access-card p{max-width:440px;color:rgba(255,255,255,.74);font-size:.86rem;line-height:1.55}.transcript-access-card small{display:block;margin-top:12px;color:rgba(255,255,255,.55);font-size:.7rem}.document-mark{display:grid;place-items:center;width:54px;height:66px;margin-bottom:20px;border:1px solid rgba(255,255,255,.35);border-radius:5px 13px 5px 5px;background:rgba(255,255,255,.08)}.document-mark span{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:#e7bd56}.access-status{display:flex;align-items:baseline;gap:8px;margin:20px 0;padding:13px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.access-status strong{font-family:"Fraunces",serif;font-size:1.45rem}.access-status span{color:rgba(255,255,255,.65);font-size:.76rem}.transcript-actions{display:flex;gap:9px;flex-wrap:wrap}.transcript-access-card .btn{background:#fff;color:var(--ink)}.transcript-access-card .btn.secondary{border-color:rgba(255,255,255,.45);background:transparent;color:#fff}.modal-open{overflow:hidden}.transcript-modal{position:fixed;inset:0;z-index:2000;padding:20px}.transcript-modal-backdrop{position:absolute;inset:0;background:rgba(7,24,25,.78);backdrop-filter:blur(8px)}.transcript-modal-panel{position:relative;display:grid;grid-template-rows:auto 1fr;width:min(1060px,100%);height:calc(100vh - 40px);margin:auto;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:#d8d8d5;box-shadow:0 28px 90px rgba(0,0,0,.45)}.transcript-modal-panel header{display:flex;align-items:center;justify-content:space-between;padding:13px 17px;background:#102a2b;color:#fff}.transcript-modal-panel header h2{margin:3px 0 0;font-family:"Fraunces",serif;font-size:1.2rem}.transcript-modal-panel header .eyebrow{color:#e7bd56}.transcript-modal-panel iframe{width:100%;height:100%;border:0;background:#d8d8d5}.transcript-modal-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.45rem;cursor:pointer}.transcript-modal-close:hover{background:rgba(255,255,255,.16)}@media(max-width:850px){.student-dashboard-grid{grid-template-columns:1fr}.transcript-access-card{position:static}}@media(max-width:600px){.transcript-modal{padding:0}.transcript-modal-panel{height:100vh;border:0;border-radius:0}.transcript-actions{display:grid}.transcript-actions .btn{width:100%}}
.student-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px}.student-dashboard-grid>.card{height:100%;padding:18px 20px}.student-dashboard-grid>.card:first-child{display:flex;flex-direction:column}.student-dashboard-grid>.card:first-child form{display:flex;flex:1;flex-direction:column}.student-dashboard-grid>.card:first-child form>.actions{margin-top:auto;padding-top:12px}.student-dashboard-grid .checkline{padding:8px 0}.student-dashboard-grid h2{margin:6px 0 8px}.transcript-access-card{position:relative;top:auto;display:flex;flex-direction:column;min-height:0}.document-mark{width:46px;height:54px;margin-bottom:12px}.transcript-access-card p{margin:5px 0;line-height:1.45}.access-status{margin:13px 0;padding:10px 0}.transcript-actions{margin-top:auto;padding-top:10px}.transcript-access-card small{margin-top:8px}@media(max-width:850px){.student-dashboard-grid{grid-template-columns:1fr}.student-dashboard-grid>.card{height:auto}.transcript-actions{margin-top:10px}}
.student-payment-actions{gap:8px}.payment-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.72fr);gap:26px;align-items:center;min-height:68vh}.payment-intro{padding:26px}.payment-intro h1{max-width:640px;margin:10px 0 14px;font:700 clamp(2.7rem,5vw,5rem)/1 "Fraunces",serif}.payment-intro>p{max-width:610px;color:var(--muted);font-size:1rem;line-height:1.65}.payment-flow{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.payment-flow span{padding:8px 10px;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.55);font-size:.72rem;font-weight:700}.payment-card{padding:22px}.payment-person{display:flex;align-items:center;gap:11px;padding-bottom:14px;border-bottom:1px solid var(--line)}.payment-person>div:last-child{display:grid;gap:2px}.payment-person span{color:var(--muted);font-size:.73rem}.payment-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px 4px;background:var(--teal);color:#fff;font-family:"Fraunces",serif;font-size:1.2rem}.payment-amount{display:grid;gap:2px;padding:18px 0}.payment-amount span,.payment-records>span{color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.payment-amount strong{font:700 2.35rem "Fraunces",serif}.payment-records{padding:13px 14px;border-radius:9px;background:#f3efe5}.payment-records ul{margin:8px 0 0;padding-left:18px;color:var(--ink);font-size:.78rem;line-height:1.65}.checkout-form{margin-top:14px}.payment-warning{display:grid;gap:2px;margin-bottom:11px;padding:10px 11px;border-left:3px solid var(--coral);border-radius:6px;background:#fff0e9}.payment-warning strong{font-size:.76rem}.payment-warning span{color:#865346;font-size:.7rem;line-height:1.4}.payment-submit{width:100%}.verify-form{margin-top:8px}.verify-form .btn{width:100%}.payment-reference{display:block;margin-top:12px;text-align:center;color:var(--muted);font-size:.65rem}@media(max-width:850px){.payment-shell{grid-template-columns:1fr;gap:12px;min-height:0}.payment-intro{padding:10px 0}.payment-intro h1{font-size:2.7rem}.payment-card{padding:18px}}
.btn:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.5)}
.glass-form{padding:15px 17px}.glass-form .field{margin:8px 0}.glass-form .field-row{gap:9px}.glass-form .field input,.glass-form .field select{padding:8px 9px}.sample-link{font-size:.86rem;padding:8px 11px;border-radius:7px;background:rgba(8,127,117,.1);text-decoration:none}.sms-prefix-field{max-width:390px;margin:0 0 12px}.sms-prefix-field select{width:100%;padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit;font-size:.78rem}
.dashboard-glass{position:relative;display:flex;justify-content:space-between;gap:28px;overflow:hidden;padding:28px;border:1px solid rgba(255,255,255,.64);border-radius:22px;box-shadow:0 20px 60px rgba(16,42,43,.13);backdrop-filter:blur(18px)}.dashboard-super{background:linear-gradient(135deg,rgba(13,63,68,.95),rgba(8,127,117,.78));color:#fff}.dashboard-officer{background:linear-gradient(135deg,rgba(255,253,248,.86),rgba(224,242,236,.82))}.dashboard-glass h1{max-width:760px;margin:8px 0;font:700 clamp(2.2rem,4vw,4rem)/1 "Fraunces",serif}.dashboard-glass p{max-width:680px;margin:0;line-height:1.55;opacity:.78}.dashboard-super .eyebrow{color:#f1c85b}.dashboard-role{align-self:flex-start;display:grid;gap:4px;min-width:190px;padding:14px;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:rgba(255,255,255,.1)}.dashboard-role span{font-size:.65rem;letter-spacing:.14em}.dashboard-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-action{display:grid;gap:8px;min-height:120px;padding:18px;border:1px solid rgba(255,255,255,.68);border-radius:14px;background:rgba(255,253,248,.72);box-shadow:0 10px 30px rgba(16,42,43,.08);backdrop-filter:blur(14px);color:var(--ink);text-decoration:none}.dashboard-action span{color:var(--teal);font-size:.68rem;font-weight:800}.dashboard-action strong{font-family:"Fraunces",serif;font-size:1.18rem}.glass-form,.upload-card,.sms-recipient-card{background:rgba(255,253,248,.78);backdrop-filter:blur(16px)}.sample-link{display:inline-flex;margin:5px 0 10px;border:0;background:none;color:var(--teal);font-weight:700;font-size:.76rem;text-decoration:underline;cursor:pointer}.sms-control-strip{display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;margin-bottom:18px;padding:18px 20px;border-radius:16px;border:1px solid var(--line);background:rgba(255,253,248,.78);backdrop-filter:blur(14px)}.sms-control-strip.locked{border-color:#e2b8a9;background:rgba(255,240,233,.8)}.sms-control-strip h2{margin:3px 0}.sms-control-strip p{margin:0;color:var(--muted);font-size:.8rem}.sms-switch{display:flex;align-items:center;gap:8px;font-size:.72rem}.sms-switch input{width:18px;height:18px}.sms-list-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.sms-list-head h2{margin-bottom:2px}@media(max-width:850px){.dashboard-glass{display:grid}.dashboard-role{min-width:0}.dashboard-actions{grid-template-columns:1fr 1fr}.sms-control-strip{grid-template-columns:1fr}}@media(max-width:560px){.dashboard-actions{grid-template-columns:1fr}.dashboard-glass{padding:20px}.sms-list-head{align-items:flex-start;flex-direction:column}}
.page-title h1{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.08}.page-title p{font-size:.82rem}.dashboard-glass{padding:21px 23px;gap:20px;border-radius:17px}.dashboard-glass h1{max-width:720px;margin:6px 0;font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.08}.dashboard-glass p{font-size:.84rem;line-height:1.48}.dashboard-role{min-width:170px;padding:11px 12px}.dashboard-role strong{font-size:.85rem}.dashboard-stats .stat strong,.stats .stat strong{font-size:1.5rem}.dashboard-action{min-height:94px;padding:14px;gap:5px}.dashboard-action strong{font-size:1rem}.dashboard-action small{font-size:.7rem}.card h2{font-size:1.12rem}.card h3{font-size:.98rem}.payment-intro h1{font-size:clamp(2rem,3.6vw,3.25rem)}@media(max-width:560px){.page-title h1{font-size:1.75rem}.dashboard-glass h1{font-size:1.8rem}.dashboard-glass{padding:17px}.payment-intro h1{font-size:2.1rem}}

.modal-open { overflow: hidden; }
.app-modal[hidden] { display: none !important; }
.app-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; }
.app-modal__backdrop { position: absolute; inset: 0; background: rgba(8,31,32,.62); backdrop-filter: blur(10px); }
.app-modal__card { position: relative; width: min(560px,100%); max-height: calc(100vh - 40px); overflow: auto; padding: 24px; border: 1px solid rgba(255,255,255,.72); border-radius: 22px; background: rgba(250,248,241,.92); box-shadow: 0 28px 80px rgba(8,31,32,.28); backdrop-filter: blur(22px); }
.app-modal__card--wide { width: min(1120px,100%); height: min(86vh,900px); padding: 14px; }
.app-modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.app-modal__head h2 { margin: 0; font-size: clamp(1.25rem,2vw,1.75rem); }
.app-modal__close { flex: 0 0 auto; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #123b3c; color: #fff; font-size: 1.35rem; line-height: 1; cursor: pointer; }
.app-modal iframe { display: block; width: 100%; height: calc(100% - 58px); min-height: 520px; border: 0; border-radius: 14px; background: #fff; }
.modal-launchers { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.modalized-form { margin: 0; box-shadow: none !important; border: 0 !important; background: transparent !important; padding: 0 !important; }
.sms-wallet { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 18px; }
.sms-wallet > div { padding: 14px 16px; border: 1px solid rgba(18,59,60,.12); border-radius: 16px; background: rgba(255,255,255,.62); }
.sms-wallet strong { display: block; margin-top: 3px; font-size: 1.25rem; color: #123b3c; }
@media (max-width:720px) { .app-modal { padding: 10px; } .app-modal__card { padding: 18px; border-radius: 17px; } .app-modal__card--wide { height: calc(100vh - 20px); } .app-modal iframe { min-height: 420px; } .sms-wallet { grid-template-columns: 1fr; } }

.pager strong{min-width:86px}.pager button:disabled{display:inline-flex;align-items:center;opacity:.42}.payment-caution{display:grid;gap:3px;margin:12px 0;padding:11px 13px;border:1px solid rgba(215,93,65,.28);border-radius:10px;background:#fff2ed;color:#7c2f20}.payment-caution strong{font-size:.8rem}.payment-caution span{font-size:.7rem;line-height:1.4}.sms-checkout-total{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:end;margin:12px 0;padding:12px;border-radius:12px;background:rgba(16,42,43,.06)}.sms-checkout-total span,.sms-checkout-total small{font-size:.7rem;color:var(--muted)}.sms-checkout-total strong{grid-row:1/3;grid-column:2;font-size:1.15rem;color:var(--teal-dark)}.sms-purchase-history{margin-bottom:0}.inline-form{display:inline-flex;margin:0}.paid-label{font-weight:700;color:var(--teal)}@media(max-width:560px){.pager strong{min-width:74px}.pager a,.pager button{padding:6px}.sms-purchase-history .table-wrap{overflow-x:auto}}

.sms-recipient-filter{display:grid;grid-template-columns:1fr minmax(230px,320px);gap:24px;align-items:end}.sms-recipient-filter h2,.sms-selection-head h2{margin:4px 0}.sms-recipient-filter p{margin:0}.sms-recipient-filter .field{margin:0}.sms-selection-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.sms-selection-head .field{width:min(360px,100%);margin:0}.sms-selection-status{display:flex;gap:7px;align-items:center;margin:14px 0;padding:10px 12px;border-radius:10px;background:rgba(8,127,117,.08);font-size:.75rem}.sms-selection-status strong{color:var(--teal-dark)}.sms-individual-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.sms-individual-controls[hidden]{display:none}.sms-individual-controls .sample-link{margin:0;padding:7px 10px;border-radius:7px;background:rgba(8,127,117,.1);text-decoration:none}.sms-individual-controls .danger-link{color:var(--danger);background:rgba(190,57,44,.08)}.sms-send-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted)}.sms-recipient-card .table-tools{margin-top:12px}@media(max-width:700px){.sms-recipient-filter{grid-template-columns:1fr}.sms-selection-head{align-items:flex-start;flex-direction:column}.sms-selection-head .field{width:100%}.sms-selection-status,.sms-send-bar{align-items:flex-start;flex-direction:column}}

.pdf-modal-actions{display:flex;align-items:center;gap:9px}.pdf-modal-actions .btn{white-space:nowrap}

.sms-message-compose{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(220px,.8fr) minmax(300px,1.5fr);gap:12px;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.58)}.sms-message-compose .field{margin:0}.sms-message-preview textarea{width:100%;resize:none;background:#f3f4ef;color:var(--ink);font:600 .72rem/1.5 "DM Sans";cursor:not-allowed}.sms-message-preview small{display:block;margin-top:5px;color:var(--muted);font-size:.66rem}.sms-switch+.sms-switch{margin-top:9px}@media(max-width:900px){.sms-message-compose{grid-template-columns:1fr 1fr}.sms-message-preview{grid-column:1/-1}}@media(max-width:600px){.sms-message-compose{grid-template-columns:1fr}.sms-message-preview{grid-column:auto}}

.sms-provider-fields{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.sms-provider-fields small{display:block;margin-top:5px;color:var(--muted);font-size:.65rem}
