:root{
  --page:#dff5ff;
  --page2:#f7fdff;
  --panel:rgba(255,255,255,.72);
  --panel2:rgba(224,246,255,.72);
  --line:#b9d7ed;
  --text:#08235c;
  --muted:#506182;
  --brand:#0834e8;
  --brand2:#20d8d8;
  --accent:#8a2be2;
  --danger:#e11d48;
  --ok:#059669;
  --warn:#b7791f;
  --shadow:0 28px 80px rgba(28,103,160,.18);
  --radius:28px;
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 14% 18%, rgba(96, 178, 255, .42), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.96), transparent 32%),
    linear-gradient(135deg,#bdeaff 0%, #eaf9ff 43%, #f9fdff 100%);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
button,input,textarea,select{font:inherit}
button{cursor:pointer}.hidden{display:none!important}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:34px}
.login-card{
  width:min(1320px,100%);
  min-height:660px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(160,205,235,.8);
  border-radius:42px;
  overflow:hidden;
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}
.hero{
  padding:56px;
  background:linear-gradient(135deg,rgba(97,184,255,.58),rgba(224,248,255,.62));
  border-right:1px solid rgba(152,203,232,.75);
}
.logo-row{display:flex;align-items:center;gap:20px}
.logo{width:118px;height:90px;object-fit:contain;border-radius:0;background:transparent;padding:0;filter:drop-shadow(0 8px 14px rgba(12,84,140,.18))}
.logo-row strong,.brand strong{display:block;font-size:24px;color:#08235c}
.hero h1{font-size:64px;line-height:.98;margin:52px 0 18px;letter-spacing:-2.2px;color:#073097}
.hero p{color:#324567;font-size:22px;line-height:1.42;max-width:610px}
.chips{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.chip{border:1px solid rgba(76,139,200,.25);background:rgba(255,255,255,.52);padding:11px 17px;border-radius:999px;color:#0b3797;font-size:15px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.login-form{padding:62px;display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.58)}
.login-form h2{font-size:42px;margin:0 0 10px;color:#0a2458;letter-spacing:-1px}.small{color:var(--muted);font-size:15px;line-height:1.45}.field{display:grid;gap:9px;margin:22px 0}.field span{color:#0a2458;font-size:15px;font-weight:650}.field input,.field textarea,.field select{width:100%;border:1px solid #bdd3e7;background:rgba(255,255,255,.64);color:#071b49;border-radius:21px;padding:18px 20px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}.field input:focus,.field textarea:focus,.field select:focus{border-color:#3aa7ff;box-shadow:0 0 0 4px rgba(58,167,255,.14)}.field textarea{min-height:116px;resize:vertical}.btn{border:none;border-radius:20px;padding:16px 18px;font-weight:900;color:white;background:linear-gradient(135deg,#258fff,var(--brand2));box-shadow:0 16px 32px rgba(45,171,230,.25)}.btn.secondary{background:rgba(255,255,255,.6);color:#0b3797;border:1px solid #b9d7ed;box-shadow:none}.btn.danger{background:rgba(225,29,72,.09);color:#be123c;border:1px solid rgba(225,29,72,.22);box-shadow:none}.error{color:#9f1239;background:rgba(225,29,72,.08);border:1px solid rgba(225,29,72,.22);padding:12px;border-radius:14px;margin:12px 0}.okmsg{color:#047857;background:rgba(5,150,105,.08);border:1px solid rgba(5,150,105,.2);padding:12px;border-radius:14px;margin:12px 0}
.app-shell{display:grid;grid-template-columns:286px 1fr;min-height:100vh}.sidebar{border-right:1px solid rgba(159,207,235,.8);background:rgba(255,255,255,.58);padding:24px;position:sticky;top:0;height:100vh;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:14px;margin-bottom:30px}.brand img{width:82px;height:64px;object-fit:contain;background:transparent;border-radius:0;padding:0;filter:drop-shadow(0 7px 10px rgba(12,84,140,.16))}.brand small{color:var(--muted)}.nav{display:grid;gap:8px}.nav button{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:#214177;padding:13px 14px;border-radius:16px}.nav button.active,.nav button:hover{background:rgba(255,255,255,.72);border-color:#b9d7ed;color:#073097}.side-footer{position:absolute;bottom:24px;left:24px;right:24px}.main{padding:30px;max-width:1500px;width:100%;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.topbar h1{margin:0;font-size:34px;letter-spacing:-.8px;color:#08235c}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1.45fr .8fr}.grid.three{grid-template-columns:repeat(3,1fr)}.card{background:rgba(255,255,255,.64);border:1px solid rgba(173,211,234,.9);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;backdrop-filter:blur(14px)}.card h2,.card h3{margin:0 0 12px;color:#08235c}.stat{padding:20px;border-radius:22px;background:rgba(255,255,255,.62);border:1px solid #b9d7ed}.stat b{font-size:30px;display:block;color:#073097}.drop{border:2px dashed #83b9df;background:rgba(255,255,255,.44);border-radius:22px;padding:24px;text-align:center;transition:.2s}.drop:hover{border-color:#258fff}.drop input{display:none}.destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.destinations label,.toggle-row{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.52);border:1px solid #b9d7ed;padding:12px;border-radius:16px}.platform{display:flex;align-items:center;justify-content:space-between;border:1px solid #b9d7ed;background:rgba(255,255,255,.52);border-radius:16px;padding:14px;margin:10px 0}.status{font-size:12px;padding:6px 9px;border-radius:999px;border:1px solid #b9d7ed;color:#31537b}.status.connected,.status.posted{background:rgba(5,150,105,.08);color:#047857;border-color:rgba(5,150,105,.2)}.status.scheduled,.status.posting{background:rgba(180,83,9,.08);color:#92400e;border-color:rgba(180,83,9,.2)}.status.future,.status.failed{background:rgba(225,29,72,.08);color:#be123c;border-color:rgba(225,29,72,.22)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #cde3f4;vertical-align:middle}th{color:#5d6f8d;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.thumb{width:54px;height:68px;border-radius:12px;background:#e8f6ff;object-fit:cover;border:1px solid #b9d7ed}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.pill{border:1px solid #b9d7ed;background:rgba(255,255,255,.52);color:#214177;border-radius:999px;padding:8px 12px}.price-card{position:relative;overflow:hidden}.price-card.featured{border-color:rgba(37,143,255,.55)}.price{font-size:34px;font-weight:900;color:#073097}.list{color:#304a70;line-height:1.9;padding-left:18px}.user-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}.user-form .field{margin:0}.mobile-only{display:none}@media(max-width:980px){.login-card,.app-shell,.grid.two,.grid.three{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.side-footer{position:static;margin-top:24px}.hero,.login-form{padding:34px}.hero h1{font-size:44px}.main{padding:18px}.destinations,.user-form{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.mobile-only{display:block}}

.video-preview{width:100%;max-height:260px;margin:12px 0 16px;border-radius:18px;border:1px solid rgba(30,90,160,.18);background:#d8f0ff;object-fit:contain;box-shadow:0 18px 40px rgba(43,113,188,.12)}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.mini{border:1px solid rgba(25,95,180,.20);background:#eef9ff;color:#0042af;border-radius:999px;padding:7px 10px;font-weight:800;cursor:pointer}
.mini:hover{filter:brightness(.98);transform:translateY(-1px)}
.mini.danger{background:#fff2f2;color:#b00020;border-color:rgba(176,0,32,.18)}

/* V1.4 polish: big sidebar logo, no subtitle text */
.brand{width:100%;margin:0 0 30px;padding:0;display:block!important}
.brand img{display:block;width:100%;height:auto;max-height:116px;object-fit:contain;background:transparent;border-radius:0;padding:0;filter:drop-shadow(0 10px 14px rgba(12,84,140,.18))}
.brand div,.brand small{display:none!important}

/* V1.4 PostPost page horizontal/stacked composer */
.postpost-form{display:grid;grid-template-columns:1fr;gap:18px}
.composer-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:14px}
.posting-card{display:grid;gap:18px}
.posting-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.timing-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.destination-card.disabled,.toggle-row.disabled{opacity:.55;filter:grayscale(.15)}
.grid.four,.pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#postForm section.card:first-child h2{margin-bottom:28px!important}
#postForm section.card:first-child label.drop{display:block!important;margin-top:0!important;margin-bottom:24px!important;clear:both!important}
@media(max-width:1200px){.grid.four,.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.composer-grid,.timing-row,.grid.four,.pricing-grid{grid-template-columns:1fr}}

/* V1.5 account lifecycle + security UI */
.login-card.single{grid-template-columns:1fr;width:min(720px,100%);min-height:auto}
.active-pill{background:rgba(255,255,255,.86)!important;border-color:#75b7e9!important;color:#073097!important;font-weight:900}
a{color:#073097;font-weight:800}
.disabled{opacity:.52;filter:grayscale(.12)}
select{border:1px solid #bdd3e7;background:rgba(255,255,255,.66);color:#071b49;border-radius:14px;padding:8px 10px;outline:none}
.user-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto}
#profileForm .toggle-row{margin:12px 0 18px}
@media(max-width:1200px){.user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.user-form .btn{grid-column:1/-1}}
@media(max-width:760px){.user-form{grid-template-columns:1fr}table{font-size:13px}.actions{min-width:170px}}

/* V1.9 profile page polish */
.profile-grid{align-items:start}
.profile-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.profile-summary div{background:rgba(255,255,255,.52);border:1px solid #b9d7ed;border-radius:18px;padding:14px 16px}
.profile-summary strong{display:block;color:#073097;font-size:20px;margin-top:4px;text-transform:capitalize}
.status-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.compact-list{margin-top:4px;margin-bottom:0}
.soft-separator{border:none;border-top:1px solid #cde3f4;margin:26px 0}
@media(max-width:760px){.profile-summary{grid-template-columns:1fr}}


.connection-grid{display:grid;gap:14px;margin-top:18px}
.platform-card{border:1px solid #b9d7ed;background:rgba(255,255,255,.52);border-radius:20px;padding:16px;display:grid;gap:12px}
.platform-card.locked{opacity:.72;background:rgba(255,255,255,.34)}
.platform-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.conn-list{display:grid;gap:8px}
.conn-pill{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.65);border:1px solid #cde3f4;border-radius:999px;padding:8px 10px}
.conn-pill strong{flex:1;font-size:14px;color:#0a2458}
.connection-panel{margin:18px 0;padding:18px;border-radius:22px;background:rgba(255,255,255,.48);border:1px solid #b9d7ed}
.page-option{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.62);border:1px solid #cde3f4;border-radius:18px;padding:12px;margin:10px 0}
.page-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eef9ff;border:1px solid #b9d7ed;font-size:22px}


/* PostPost tier grouping + text-only posting patch */
.tiered-destinations { display: grid; gap: 14px; }
.tier-destination-group, .connection-tier-group { border: 1px solid rgba(37,143,255,.18); border-radius: 16px; padding: 12px; background: rgba(37,143,255,.04); }
.tier-group-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.tier-destination-group label { margin-bottom: 8px; }
.post-type-row { margin-bottom: 14px; }
.text-thumb { display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; color:#506182; }
.connection-tier-group + .connection-tier-group { margin-top: 18px; }

.thumb-badge{display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;letter-spacing:.08em;color:#214177;}
.video-thumb{background:linear-gradient(135deg,#e8f6ff,#ffffff);}
.text-thumb{background:#f7fbff;color:#5d6f8d;}


/* PostPost sidebar layout fix */
.sidebar{
  overflow-y:auto;
}

.side-footer{
  position:static;
  margin-top:32px;
}

.nav{
  gap:8px;
}

.nav button{
  min-height:44px;
}


.platform-result{
  white-space:nowrap;
  font-size:13px;
  line-height:1.55;
  color:#304a70;
}
.platform-result span{
  font-weight:800;
}
.platform-result.ok span{
  color:#047857;
}
.platform-result.bad span{
  color:#be123c;
}
.platform-result.pending span{
  color:#92400e;
}
.platform-result small{
  color:#5d6f8d;
  font-weight:600;
}


/* PostPost publishing progress overlay */
.pp-progress-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(7,27,73,.28);
  backdrop-filter:blur(8px);
}
.pp-progress-card{
  width:min(620px,calc(100vw - 36px));
  background:rgba(255,255,255,.94);
  border:1px solid #b9d7ed;
  border-radius:28px;
  box-shadow:0 30px 90px rgba(7,27,73,.24);
  padding:28px;
}
.pp-progress-card h2{
  margin:0 0 8px;
  color:#08235c;
}
.pp-progress-list{
  display:grid;
  gap:10px;
  margin:18px 0;
}
.pp-progress-row{
  display:grid;
  grid-template-columns:28px 1fr auto;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid #cde3f4;
  border-radius:18px;
  background:#f7fbff;
  color:#214177;
}
.pp-progress-row em{
  font-style:normal;
  color:#5d6f8d;
  font-weight:800;
}
.pp-progress-row.done em{
  color:#047857;
}
.pp-progress-row.done .pp-spinner{
  border:none;
  background:rgba(5,150,105,.12);
  position:relative;
}
.pp-progress-row.done .pp-spinner:after{
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#047857;
  font-weight:900;
}
.pp-spinner{
  width:20px;
  height:20px;
  border-radius:999px;
  border:3px solid #cde3f4;
  border-top-color:#258fff;
  animation:ppspin .9s linear infinite;
}
.pp-progress-note{
  padding-top:6px;
}
@keyframes ppspin{to{transform:rotate(360deg)}}
/* Checkout disclosure and affirmative consent */
.billing-disclosure{margin:16px 0;padding:14px 16px;border:1px solid rgba(37,143,255,.35);border-radius:12px;background:rgba(37,143,255,.07);line-height:1.45}
.billing-disclosure p{margin:8px 0 0}
.billing-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0;line-height:1.4;cursor:pointer}
.billing-consent input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}

/* Patch 2.7.1: prevent admin tables and grid children from widening the page */
.app-shell{grid-template-columns:286px minmax(0,1fr);width:100%;max-width:100vw}
.main,.card,.grid>*{min-width:0}
.table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-scroll table{min-width:940px}
@media(max-width:980px){
  .app-shell{grid-template-columns:minmax(0,1fr)}
  .main{width:100%;max-width:100%;overflow-x:hidden}
}
@media(max-width:760px){
  .login-wrap{padding:12px}
  .hero,.login-form{padding:24px}
  .main{padding:12px}
  .card{padding:18px}
  .users-card{padding-left:12px;padding-right:12px}
  .table-scroll{border:1px solid #cde3f4;border-radius:14px}
}
