:root{
  --idz-bg:#020711;--idz-navy:#07162b;--idz-surface:rgba(10,28,54,.48);--idz-surface-strong:rgba(9,27,52,.7);
  --idz-line:rgba(136,211,255,.16);--idz-line-active:rgba(62,220,255,.5);--idz-cyan:#49d9ef;--idz-blue:#1689ff;
  --idz-violet:#7568ff;--idz-gold:#f2bd49;--idz-white:#f5f9ff;--idz-muted:#9db0c9;--idz-danger:#ff6577;
  --idz-success:#39d49a;--idz-radius:18px;--idz-radius-sm:12px;--idz-space:clamp(14px,2vw,22px);
  --idz-glass:linear-gradient(145deg,rgba(20,48,84,.5),rgba(5,18,38,.35));
  --idz-shadow:0 18px 50px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.07);
}
html{background:var(--idz-bg)}body{background:radial-gradient(circle at 18% 9%,rgba(22,137,255,.13),transparent 32%),radial-gradient(circle at 82% 76%,rgba(117,104,255,.08),transparent 34%),linear-gradient(160deg,#020711 0%,#061329 58%,#020813 100%);color:var(--idz-white)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(73,217,239,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(73,217,239,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 82%)}
#particles-canvas{opacity:.7!important;filter:drop-shadow(0 0 5px rgba(73,217,239,.34))}.bg-orbs{opacity:.72}.orb{filter:blur(110px)!important;animation-duration:32s!important}
.glass-panel,.modal-card,.admin-card,.dashboard-card,.module-card,.lesson-card,.settings-card,.hero-card,.pricebox,.faq details{background:var(--idz-glass)!important;border:1px solid var(--idz-line)!important;box-shadow:var(--idz-shadow)!important;backdrop-filter:blur(16px) saturate(125%)!important;-webkit-backdrop-filter:blur(16px) saturate(125%)!important;position:relative}
.glass-panel::before,.modal-card::before,.admin-card::before,.hero-card::before{content:"";position:absolute;inset:0 12% auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);pointer-events:none}
nav{background:rgba(2,10,23,.64)!important;border-bottom:1px solid var(--idz-line)!important;backdrop-filter:blur(16px) saturate(130%)!important}.nav-wrap{min-height:68px!important}.official-brand-logo{object-fit:contain!important;background-size:contain!important;background-position:left center!important;box-shadow:none!important;filter:drop-shadow(0 7px 18px rgba(0,0,0,.26))!important}
.btn,.btn-outline,button.btn,button.btn-outline{position:relative;isolation:isolate;overflow:hidden;border-radius:13px!important;transform:translateZ(0);transition:transform .2s ease,border-color .2s ease,filter .2s ease!important}.btn{border:1px solid rgba(145,235,255,.52)!important;background:linear-gradient(120deg,#0878dd,#32cde8 56%,#138bcf)!important;color:#02101d!important;font-weight:850!important;box-shadow:0 9px 24px rgba(20,160,230,.2),inset 0 1px rgba(255,255,255,.35)!important}.btn-outline{background:rgba(8,31,59,.48)!important;border:1px solid var(--idz-line)!important;color:var(--idz-white)!important;box-shadow:inset 0 1px rgba(255,255,255,.055)!important}.btn::before,.btn-outline::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:-65%;width:42%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transition:left .55s ease}.btn:hover::before,.btn-outline:hover::before{left:125%}.btn:hover,.btn-outline:hover{transform:translateY(-1px) scale(1.01)!important;border-color:var(--idz-line-active)!important;filter:brightness(1.06)}.btn:active,.btn-outline:active{transform:scale(.98)!important}
input,textarea,select{max-width:100%;border-radius:12px!important;border:1px solid var(--idz-line)!important;background-color:rgba(3,17,35,.66)!important;color:var(--idz-white)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important}input:focus,textarea:focus,select:focus{border-color:var(--idz-cyan)!important;box-shadow:0 0 0 3px rgba(73,217,239,.11)!important}input[type=checkbox]{width:18px;height:18px;accent-color:var(--idz-cyan)}select option{background:#07172c!important;color:#fff!important}
.modal-overlay{background:rgba(0,4,12,.68)!important;backdrop-filter:blur(6px)!important}.modal-card{padding:clamp(18px,3vw,28px)!important;border-radius:20px!important}.close-btn{background:rgba(255,255,255,.05)!important;border:1px solid var(--idz-line)!important}
#custom-alert-modal .modal-card,#success-modal .modal-card{width:min(calc(100% - 24px),420px)!important;min-height:0!important}.checkout-summary{padding:15px!important;margin-bottom:13px!important;background:rgba(5,23,46,.42)!important}.checkout-methods{margin-bottom:13px!important}.checkout-method{background:rgba(5,24,47,.5)!important;border-color:var(--idz-line)!important}.checkout-panel,.notification-test-card{background:rgba(4,19,39,.32);border-radius:15px}.checkout-panel.active{padding:14px}.checkout-panel-title{margin-bottom:10px!important}.idz-card-grid{gap:10px!important}.idz-secure-note{margin:10px 0!important}
.hero{min-height:min(740px,calc(100svh - 68px))!important;padding:clamp(46px,7vw,88px) 0!important}.hero h1{font-size:clamp(2.4rem,6vw,5rem)!important;line-height:.98!important}.hero-card{padding:clamp(20px,3vw,28px)!important}.section-header{margin-bottom:clamp(20px,3vw,32px)!important}.cards{gap:14px!important}.card{padding:20px!important;min-height:0!important}.card .icon{width:42px!important;height:42px!important;margin-bottom:14px!important}
.student-dashboard-header{display:grid!important;grid-template-columns:1fr auto;gap:15px!important;margin-bottom:16px!important;padding-bottom:16px!important}.student-stat-pill{background:rgba(6,27,53,.46)!important;border:1px solid var(--idz-line)!important}.lms-layout{gap:16px!important}.lms-content{padding:clamp(16px,2.4vw,28px)!important}.lms-sidebar{padding:16px!important}.lms-module-box{background:rgba(5,23,45,.4)!important;border-color:var(--idz-line)!important}.lms-module-header{padding:12px!important}.lms-module-body{padding:7px!important}.lms-lesson-item{padding:10px!important;border-radius:10px!important}.video-frame,.image-frame{border:1px solid rgba(73,217,239,.34)!important;border-radius:17px!important;overflow:hidden;box-shadow:0 16px 38px rgba(0,0,0,.28)!important;aspect-ratio:16/9!important}.lesson-meta-compact details{background:rgba(5,24,48,.42)!important;border-color:var(--idz-line)!important}.lesson-meta-compact summary{display:flex;justify-content:space-between;align-items:center}.lesson-meta-compact summary::after{content:"⌄";color:var(--idz-cyan);transition:transform .2s}.lesson-meta-compact details[open] summary::after{transform:rotate(180deg)}
.idz-stage-zero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr);gap:14px;margin-bottom:16px;padding:17px;border-radius:18px;background:linear-gradient(135deg,rgba(18,66,107,.46),rgba(8,26,53,.36));border:1px solid rgba(73,217,239,.25);box-shadow:var(--idz-shadow)}.idz-stage-zero h3{margin:3px 0 5px;font-size:1.05rem}.idz-stage-zero p{color:var(--idz-muted);font-size:.82rem}.stage-zero-progress{display:grid;align-content:center;gap:8px}.stage-zero-bar{height:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.stage-zero-bar span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--idz-blue),var(--idz-cyan))}.stage-zero-lessons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.stage-zero-lesson{padding:9px;border:1px solid var(--idz-line);border-radius:11px;background:rgba(4,18,37,.36);font-size:.73rem;color:var(--idz-muted)}.stage-zero-lesson strong{display:block;color:var(--idz-white);font-size:.78rem}
.settings-tabs{gap:7px!important;margin-bottom:18px!important}.settings-tab-btn{border:1px solid var(--idz-line)!important;background:rgba(5,24,48,.44)!important;border-radius:11px!important}.settings-panel{padding-top:4px}.google-connection-card{display:flex!important;gap:14px;align-items:center;justify-content:space-between;padding:15px!important;background:rgba(5,24,48,.42)!important;border:1px solid var(--idz-line)!important;border-radius:15px!important}.profile-upload-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.profile-upload-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
#admin-area{max-width:1320px!important}.admin-card{padding:clamp(16px,2.3vw,24px)!important}.admin-grid{gap:14px!important}.gateway-metrics{gap:10px!important}.metric-box{background:rgba(5,24,48,.4)!important;border-color:var(--idz-line)!important}.sales-table{border-collapse:separate!important;border-spacing:0 7px!important}.sales-table th{color:var(--idz-muted)!important;font-size:.7rem!important}.sales-table td{background:rgba(5,23,45,.4)!important;border-top:1px solid var(--idz-line)!important;border-bottom:1px solid var(--idz-line)!important;padding:11px!important}.sales-table td:first-child{border-left:1px solid var(--idz-line);border-radius:11px 0 0 11px}.sales-table td:last-child{border-right:1px solid var(--idz-line);border-radius:0 11px 11px 0}.admin-toolbar{display:flex;gap:8px;overflow-x:auto;padding-bottom:9px}.admin-toolbar-group{display:flex;gap:6px;align-items:center;padding:5px;border:1px solid var(--idz-line);border-radius:13px;background:rgba(4,19,39,.34)}.admin-toolbar-group>span{padding-left:7px;color:var(--idz-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.certificate-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.certificate-step{padding:10px;border:1px solid var(--idz-line);border-radius:11px;background:rgba(5,23,45,.4);font-size:.75rem}.certificate-step.active{border-color:var(--idz-cyan);color:var(--idz-cyan)}
.support-chat-shell{display:grid;grid-template-columns:260px 1fr;min-height:380px;border:1px solid var(--idz-line);border-radius:16px;overflow:hidden}.support-chat-list{padding:12px;border-right:1px solid var(--idz-line);background:rgba(3,16,33,.36)}.support-chat-main{display:grid;grid-template-rows:auto 1fr auto;padding:14px}.support-message{width:max-content;max-width:82%;padding:10px 12px;border-radius:13px;background:rgba(19,69,108,.55)}.refund-warning{padding:12px 14px;border:1px solid rgba(242,189,73,.3);border-radius:13px;background:rgba(242,189,73,.07);color:#f5d990}
.admin-filter-bar{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1fr) minmax(150px,1fr);gap:10px;margin-bottom:14px}.admin-filter-bar .input-group{margin:0}.admin-filter-bar span{display:block;margin-bottom:6px;color:var(--idz-muted);font-size:.68rem;text-transform:uppercase}.content-organizer-actions,.certificate-actions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.admin-mod-box{background:rgba(5,23,45,.4)!important;border-color:var(--idz-line)!important}.admin-mod-header{padding:13px!important}.admin-mod-body{background:rgba(2,15,31,.28)!important}
.idz-toast-stack{position:fixed;right:16px;bottom:16px;z-index:10000;display:grid;gap:8px;width:min(360px,calc(100% - 32px));pointer-events:none}.idz-toast{padding:12px 14px;border:1px solid var(--idz-line);border-left:3px solid var(--idz-cyan);border-radius:12px;background:rgba(5,22,43,.9);box-shadow:var(--idz-shadow);backdrop-filter:blur(12px);animation:idzToastIn .25s ease both}.idz-toast.success{border-left-color:var(--idz-success)}.idz-toast.error{border-left-color:var(--idz-danger)}.idz-toast.warning{border-left-color:var(--idz-gold)}@keyframes idzToastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rgb-detail{background-size:220% 100%!important;background-image:linear-gradient(100deg,var(--idz-blue),var(--idz-cyan),var(--idz-violet),var(--idz-blue))!important;animation:idzRgb 11s linear infinite}@keyframes idzRgb{to{background-position:220% 0}}
@media(max-width:900px){.student-dashboard-header{grid-template-columns:1fr}.idz-stage-zero{grid-template-columns:1fr}.support-chat-shell{grid-template-columns:1fr}.support-chat-list{border-right:0;border-bottom:1px solid var(--idz-line)}.stage-zero-lessons{grid-template-columns:repeat(2,1fr)}.certificate-timeline{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.glass-panel,.modal-card,.admin-card,.hero-card{backdrop-filter:blur(10px) saturate(115%)!important;-webkit-backdrop-filter:blur(10px) saturate(115%)!important}.wrap,#admin-area{width:min(100% - 24px,var(--page-max))!important}.hero{padding:38px 0 48px!important}.student-dashboard-header{padding-inline:0!important}.lms-sidebar{grid-row:2!important}.lms-content{grid-row:1!important}#settings-area>.glass-panel{padding:18px!important}.sales-table td{border:1px solid var(--idz-line)!important;border-radius:10px!important;margin:5px 0}.admin-toolbar{scroll-snap-type:x proximity}.admin-toolbar-group{flex:0 0 auto;scroll-snap-align:start}.admin-filter-bar{grid-template-columns:1fr}.content-organizer-actions>*{flex:1 1 150px}}
@media(max-width:460px){:root{--idz-radius:15px}.stage-zero-lessons{grid-template-columns:1fr}.idz-stage-zero{padding:14px}.checkout-method{min-width:0}.checkout-method small{font-size:.68rem}.checkout-panel.active{padding:11px}.google-connection-card{flex-direction:column!important;align-items:stretch!important}.google-connection-card .btn-outline{width:100%}.certificate-timeline{grid-template-columns:1fr}.support-message{max-width:94%}.idz-toast-stack{right:12px;bottom:12px;width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){#particles-canvas,.orb{display:none!important}.rgb-detail,.idz-toast,.btn::before,.btn-outline::before{animation:none!important}.btn,.btn-outline,.lesson-meta-compact summary::after{transition:none!important}}


/* Functional mobile stabilization — keeps page width fixed by sizing children, not by clipping overflow. */
body.idz-20a :where(
  #app,#public-site,#member-area,#settings-area,#admin-area,
  .wrap,.admin-grid,.admin-card,.glass-panel,.hero-card,
  .gateway-metrics,.table-responsive,.support-chat-shell,.support-chat-main,
  .checkout-panel,.checkout-summary,.notification-test-card,
  .student-manager,.manager-panel,.student-dashboard-header
){min-width:0;max-width:100%}
body.idz-20a :where(
  .admin-grid,.gateway-metrics,.admin-toolbar,.support-chat-shell,
  .idz-card-grid,.checkout-methods,.student-dashboard-header
)>*{min-width:0}
body.idz-20a :where(input,select,textarea){width:100%;min-width:0;max-width:100%;box-sizing:border-box}
body.idz-20a :where(
  .student-dashboard-header,.student-profile-main,.manager-status,
  .certificate-step,.certificate-actions,.checkout-status,
  .support-message,.admin-card,.notification-test-card
){overflow-wrap:anywhere}
body.idz-20a .table-responsive{
  width:100%;max-width:100%;min-width:0;overflow-x:auto;
  overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch
}
body.idz-20a .admin-toolbar{
  width:100%;max-width:100%;min-width:0;overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch
}
body.idz-20a .admin-toolbar-group{flex:0 0 auto;min-width:max-content}
body.idz-20a .modal-overlay{overflow-y:auto;overscroll-behavior:contain}
body.idz-20a .modal-card{
  width:min(100%,calc(100vw - 16px));max-width:calc(100vw - 16px);
  max-height:calc(100dvh - 16px);overflow-y:auto
}
body.idz-20a canvas{pointer-events:none}

@media(max-width:768px){
  body.idz-20a :where(.admin-grid,.gateway-metrics,.checkout-methods,.idz-card-grid){
    grid-template-columns:minmax(0,1fr)!important
  }
  body.idz-20a :where(
    #settings-area [style*="grid-template-columns"],
    #admin-sec-modules [style*="grid-template-columns"],
    #admin-sec-coupons [style*="grid-template-columns"],
    #admin-sec-finance [style*="grid-template-columns"],
    #admin-sec-notifications [style*="grid-template-columns"],
    .notification-test-card [style*="grid-template-columns"]
  ){grid-template-columns:minmax(0,1fr)!important}
  body.idz-20a .admin-card{width:100%;max-width:100%}
  body.idz-20a .admin-filter-bar{grid-template-columns:minmax(0,1fr)!important}
  body.idz-20a .support-chat-shell{grid-template-columns:minmax(0,1fr)!important}
  body.idz-20a .support-chat-list{max-height:42dvh;overflow-y:auto}
  body.idz-20a .certificate-timeline{
    grid-template-columns:minmax(0,1fr)!important;position:relative
  }
  body.idz-20a .certificate-step{width:100%;overflow-wrap:anywhere}
  body.idz-20a .certificate-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  body.idz-20a .certificate-actions>*{width:100%;max-width:100%}
  body.idz-20a :where(.notification-test-card,.checkout-panel,.checkout-summary){
    width:100%;min-width:0;max-width:100%
  }
  body.idz-20a .notification-test-card :where(button,.btn,.btn-outline){width:100%;max-width:100%}
  body.idz-20a .table-responsive .sales-table{min-width:640px}
  body.idz-20a :where(.settings-tabs,.manager-tabs,.profile-tabs){
    display:flex;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch
  }
  body.idz-20a :where(.settings-tabs,.manager-tabs,.profile-tabs)>*{flex:0 0 auto}
  body.idz-20a :where(.content-organizer-actions,.manager-actions){
    display:grid;grid-template-columns:minmax(0,1fr);width:100%
  }
  body.idz-20a :where(.content-organizer-actions,.manager-actions)>*{width:100%;max-width:100%}
  body.idz-20a .modal-overlay{padding:8px}
}

@media(max-width:430px){
  body.idz-20a :where(.glass-panel,.modal-card,.admin-card,.hero-card){
    backdrop-filter:blur(8px) saturate(110%)!important;
    -webkit-backdrop-filter:blur(8px) saturate(110%)!important
  }
  body.idz-20a :where(.certificate-actions,.content-organizer-actions,.manager-actions) .btn,
  body.idz-20a :where(.certificate-actions,.content-organizer-actions,.manager-actions) .btn-outline{
    width:100%;max-width:100%;white-space:normal
  }
  body.idz-20a :where(.student-profile-main,.student-profile-copy,.student-profile-copy h2){
    min-width:0;max-width:100%;overflow-wrap:anywhere
  }
}

/* Certificado físico e tabelas administrativas: os controles ficam dentro do card. */
body.idz-20a .cert-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  width:100%;
  min-width:0;
  max-width:100%;
}
body.idz-20a .cert-actions>*{
  width:100%;
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}
body.idz-20a .cert-request-details,
body.idz-20a .cert-request-details p{
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
}
@media(max-width:700px){
  body.idz-20a .table-responsive .sales-table{
    min-width:0!important;
    max-width:100%;
  }
  body.idz-20a .table-responsive .sales-table td{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
  }
}
