/* ==========================================================
   OTTPROVIDERS CONTROL V3.0.1 — POLISH & FIX PACK
   Fixes CRM default panel, login layout, readable scale,
   pricing catalogue, and ticket preview dashboard.
   ========================================================== */
:root{
  --v301-blue:#1677ff;--v301-green:#22c55e;--v301-orange:#ff8a1f;--v301-purple:#8b5cf6;
  --v301-ink:#10213e;--v301-text:#344664;--v301-muted:#7386a3;--v301-line:#e1e9f3;
  --v301-soft:#f5f8fd;--v301-card:#fff;--v301-navy:#0b1f3a;
  --v301-shadow:0 10px 30px rgba(17,42,78,.065);--v301-shadow-lg:0 22px 54px rgba(17,42,78,.11)
}

/* Global readability: previous layers had many 8–10px labels. */
body.v30-ui,body.app-body{font-size:14px!important;line-height:1.55!important;background:var(--v301-soft)!important}
.app-nav>a,.app-nav .v281-support-main>a{font-size:13px!important;font-weight:650!important}
.app-brand strong{font-size:15px!important}.app-brand small{font-size:9px!important}
.page-heading h1,.v29-page-head h1,.v281-support-heading h1,.v301-page-head h1{font-size:30px!important}
.page-heading p,.v29-page-head p,.v281-support-heading p,.v301-page-head p{font-size:13px!important}
.eyebrow,.v29-eyebrow{font-size:10px!important}.card-head h2,.v29-panel header h2,.v26-section-head h2{font-size:16px!important}
.card-head p,.v29-panel header p,.v26-section-head p{font-size:11.5px!important}
label{font-size:11.5px!important}input,select,textarea,.form-control{font-size:13px!important}
.btn{font-size:12px!important}.badge{font-size:10px!important}.subline,small,.text-muted{font-size:11px}
table th{font-size:10.5px!important}table td{font-size:12.5px!important}.v29-tabs a,.v2-filter-pill{font-size:11px!important}

/* Shell closer to approved mockup. */
.app-sidebar{width:248px!important;padding:18px 12px!important;background:linear-gradient(180deg,#0d2341 0%,#07182e 100%)!important}
.app-shell{margin-left:248px!important}.app-header{height:70px!important;padding:0 26px!important}.app-main{padding:28px 28px 42px!important}
.card,.v29-panel,.modal-card{border-color:var(--v301-line)!important;box-shadow:var(--v301-shadow)!important}

/* CRM client: profile is always visually primary. */
.v29-client-hero{padding:22px!important;border-radius:18px!important;box-shadow:var(--v301-shadow)!important}
.v29-client-main h1{font-size:28px!important}.v29-client-main p{font-size:12px!important}.v29-client-avatar{width:58px!important;height:58px!important;border-radius:16px!important}
.v29-client-kpis article{min-height:110px!important}.v29-client-kpis article>span{font-size:12px!important}.v29-client-kpis article>strong{font-size:25px!important}
.v29-tabs{margin:16px 0!important;padding:6px!important;background:#eef3fa!important;border:1px solid #e2e9f2!important}
.v29-tabs a{min-height:38px!important;padding:8px 12px!important}.v29-tabs a.active{background:#fff!important;box-shadow:0 4px 14px rgba(20,52,91,.09)!important}
.v29-crm-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr)!important;gap:16px!important}
.v29-form-pad{padding:22px!important}.v29-info-list span{font-size:11px!important}.v29-info-list strong{font-size:12.5px!important}
.v29-timeline-mini strong{font-size:11.5px!important}.v29-timeline-mini small{font-size:10px!important}
.v29-timeline-full strong{font-size:12.5px!important}.v29-timeline-full small,.v29-timeline-full time{font-size:10.5px!important}

/* Dashboard ticket queue preview. */
.v301-ticket-preview{padding:8px 14px 4px}.v301-ticket-preview>a{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px solid #edf2f7;color:var(--v301-text)}
.v301-ticket-preview>a:hover{color:var(--v301-blue)}.v301-ticket-number{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#edf5ff;color:#1677ff;font-size:10px;font-weight:800}
.v301-ticket-preview strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--v301-ink)}.v301-ticket-preview small{display:block;margin-top:2px;font-size:10px;color:var(--v301-muted)}
.v301-support-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:4px;border-top:1px solid #e9eef5;background:#e9eef5}.v301-support-footer span{padding:10px;background:#fafcff;text-align:center;color:var(--v301-muted);font-size:10px}.v301-support-footer b{display:block;color:var(--v301-ink);font-size:14px}

/* Pricing catalogue */
.v301-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.v301-page-head h1{margin:4px 0 5px;color:var(--v301-ink);font-weight:830;letter-spacing:-.045em}.v301-page-head p{margin:0;color:var(--v301-muted)}
.v301-pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.v301-pricing-card{position:relative;display:flex;min-height:350px;padding:22px;overflow:hidden;flex-direction:column;border:1px solid var(--v301-line);border-radius:20px;background:#fff;box-shadow:var(--v301-shadow);transition:.18s ease}
.v301-pricing-card:before{position:absolute;top:-80px;right:-70px;width:180px;height:180px;border-radius:50%;content:"";opacity:.13;background:currentColor}.v301-pricing-card:hover{transform:translateY(-4px);box-shadow:var(--v301-shadow-lg)}
.v301-price-blue{color:var(--v301-blue)}.v301-price-green{color:var(--v301-green)}.v301-price-orange{color:var(--v301-orange)}.v301-price-purple{color:var(--v301-purple)}.v301-price-slate{color:#667892}
.v301-pricing-card.is-hidden{background:#fbfcfe}.v301-pricing-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.v301-pricing-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;color:currentColor;background:color-mix(in srgb,currentColor 12%,#fff);font-size:20px}.v301-duration{padding:5px 9px;border-radius:999px;background:#f1f5fa;color:#657892;font-size:10px;font-weight:750}
.v301-plan-kicker{display:block;color:currentColor;font-size:9px;font-weight:850;letter-spacing:.14em}.v301-pricing-card h2{margin:7px 0 14px;color:var(--v301-ink);font-size:20px;font-weight:820;letter-spacing:-.035em}.v301-price{display:flex;align-items:flex-end;gap:6px;margin-bottom:17px}.v301-price strong{color:var(--v301-ink);font-size:30px;line-height:1;font-weight:850;letter-spacing:-.05em}.v301-price span{padding-bottom:3px;color:var(--v301-muted);font-size:10px}.v301-pricing-card p{margin:0 0 20px;color:#60738e;font-size:11.5px;line-height:1.65}.v301-description-empty{font-style:italic;color:#9aa8ba!important}.v301-card-actions{margin-top:auto}.v301-client-pricing .btn-wide{margin-top:auto}.v301-client-pricing .v301-pricing-card{min-height:370px}.v301-product-modal{width:min(760px,calc(100vw - 30px))!important}

/* LOGIN — repair full-screen composition. */
body.login-page{min-height:100vh!important;margin:0!important;padding:clamp(24px,4vw,54px)!important;display:flex!important;align-items:center!important;justify-content:center!important;background:radial-gradient(circle at 85% 10%,rgba(22,119,255,.07),transparent 28%),#f4f7fc!important;box-sizing:border-box!important}
.login-shell{width:min(1180px,100%)!important;min-height:680px!important;height:auto!important;margin:auto!important;display:grid!important;grid-template-columns:minmax(470px,1.05fr) minmax(430px,.95fr)!important;overflow:hidden!important;border:1px solid #dfe7f2!important;border-radius:26px!important;background:#fff!important;box-shadow:0 30px 90px rgba(9,31,62,.14)!important}
.login-visual{min-height:680px!important;padding:56px!important;background:radial-gradient(circle at 15% 8%,rgba(38,132,255,.32),transparent 32%),linear-gradient(145deg,#0d2442,#07182e)!important}.login-visual h1{max-width:500px!important;font-size:42px!important;line-height:1.08!important}.login-visual p{max-width:480px!important;font-size:13px!important;line-height:1.75!important}.login-panel{min-height:680px!important;padding:54px!important;display:grid!important;place-items:center!important;background:#fff!important}.login-card{width:min(430px,100%)!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.login-card h2{font-size:30px!important}.login-card>p{font-size:12.5px!important}.login-card label{margin-top:17px!important;font-size:11px!important}.login-card input{min-height:48px!important;font-size:13px!important}.login-card .btn{min-height:48px!important;font-size:12px!important}.login-help{display:block;margin-top:16px;text-align:center;font-size:10px!important}

/* Forms/tables/cards — uniform polish across admin/client pages. */
.form-grid{gap:15px!important}.table-wrap{border-radius:0 0 16px 16px!important}.table-wrap table tbody tr:hover td{background:#f8fbff!important}.modal-card header h2{font-size:18px!important}.modal-card header p{font-size:11px!important}
.alert{font-size:12px!important}.empty-state strong{font-size:13px!important}.empty-state span{font-size:11px!important}

@media(max-width:1180px){.v301-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v29-crm-grid{grid-template-columns:1fr!important}}
@media(max-width:900px){.app-sidebar{width:245px!important}.app-shell{margin-left:0!important}.login-shell{grid-template-columns:1fr!important;max-width:650px!important}.login-visual{display:none!important}.login-panel{min-height:620px!important;padding:42px 30px!important}.v301-page-head{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){body.login-page{padding:0!important}.login-shell{width:100%!important;min-height:100vh!important;border:0!important;border-radius:0!important}.login-panel{min-height:100vh!important;padding:34px 22px!important}.v301-pricing-grid{grid-template-columns:1fr}.v301-pricing-card{min-height:auto}.app-main{padding:22px 16px 34px!important}.v301-support-footer{grid-template-columns:1fr 1fr 1fr}}

/* Client product detail aligns with pricing language. */
.product-detail-layout{gap:18px!important}.product-detail-main,.checkout-card{border-radius:20px!important;box-shadow:var(--v301-shadow)!important}.product-detail-main{padding:28px!important}.product-detail-main .product-icon{width:58px!important;height:58px!important;border-radius:16px!important;font-size:20px!important}.product-detail-main h2{font-size:25px!important}.product-detail-main p{font-size:12.5px!important;line-height:1.7!important}.checkout-card{padding:24px!important}.checkout-price strong{font-size:31px!important}.checkout-price span{font-size:11px!important}.checkout-card li{font-size:11.5px!important}

/* Dashboard polish closer to mockup 2. */
.v29-kpi-grid{gap:14px!important}.v29-kpi-card{min-height:126px!important;border-radius:18px!important;box-shadow:var(--v301-shadow)!important}.v29-kpi-card>span:not(.v30-kpi-icon){font-size:12px!important}.v29-kpi-card>strong{font-size:27px!important}.v29-kpi-card>small{font-size:10.5px!important}.v30-kpi-icon{width:48px!important;height:48px!important;border-radius:14px!important}.v30-secondary-strip article{min-height:48px!important}.v30-secondary-strip span{font-size:10.5px!important}.v30-secondary-strip strong{font-size:13px!important}
.v29-dashboard-grid{gap:16px!important}.v29-list a,.v29-list-row{min-height:49px!important}.v29-list strong{font-size:11.5px!important}.v29-list small{font-size:10px!important}.v29-billing-grid span{font-size:10px!important}.v29-billing-grid strong{font-size:18px!important}

/* Client area dashboard/services readability. */
.v26-dashboard-card h2,.v25-dashboard-section h2{font-size:17px!important}.v26-dashboard-services strong,.v25-service-mini strong{font-size:12px!important}.v26-dashboard-services small,.v25-service-mini small{font-size:10.5px!important}.v25-service-row-card h2{font-size:17px!important}.v25-service-row-card p{font-size:11px!important}.v25-service-row-facts small{font-size:9.5px!important}.v25-service-row-facts strong{font-size:11.5px!important}

/* Auth brand gets the same premium treatment as the rest of the application. */
.login-visual .app-brand{margin:0!important}.login-visual .app-brand strong{font-size:16px!important}.login-visual .app-brand small{font-size:9px!important;color:#55a7ff!important}.visual-trust{gap:18px!important}.visual-trust span{font-size:11px!important}
