:root{--navy:#0e3350;--navy2:#164a6c;--gold:#dfb65f;--bg:#f4f7f9;--white:#fff;--text:#193246;--muted:#728594;--line:#e3eaef;--sea:#0b8b77;--bubble:#e1f6ed;--shadow:0 6px 26px rgba(14,51,80,.07)}
*{box-sizing:border-box}html,body{padding:0;margin:0;min-height:100%;font:15px/1.55 system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;color:var(--text);background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:var(--sea);text-decoration:none}h1,h2,h3,p{margin:0}small,.muted{color:var(--muted)}svg{vertical-align:middle}.boot{text-align:center;padding:35vh 15px;font-size:48px;font-weight:900;color:var(--navy)}.boot p{font-size:26px}.shell{display:flex;min-height:100dvh;max-width:1200px;margin:auto;background:#fff;box-shadow:var(--shadow)}.rail{width:280px;flex-shrink:0;background:#f9fbfd;border-left:1px solid var(--line);display:flex;flex-direction:column}.logo{padding:28px 24px 19px;font-weight:900;font-size:25px;display:flex;align-items:center;gap:12px;color:var(--navy)}.mark{background:var(--navy);color:var(--gold);width:47px;height:47px;display:grid;place-items:center;border-radius:15px;font-size:23px}.rail-note{padding:0 24px 26px;font-size:12px}.nav-item{width:calc(100% - 26px);margin:4px 13px;padding:13px 16px;background:transparent;border:0;color:#546a7a;border-radius:12px;text-align:right;display:flex;align-items:center;gap:13px;font-weight:750}.nav-item.active{background:#e7f1f6;color:var(--navy)}.nav-item:hover{background:#edf3f7}.nav-ico{font-size:20px}.rail-foot{margin-top:auto;padding:20px;border-top:1px solid var(--line)}.avatar{width:43px;height:43px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#305b78,#0b8b77);font-weight:900;font-size:19px}.avatar.gold{background:linear-gradient(130deg,#8a6134,#d6a64b)}.account{display:flex;align-items:center;gap:10px}.main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100dvh}.top{padding:20px 27px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;min-height:77px}.top .title{font-size:21px;font-weight:850;flex:1}.btn-icon{border:1px solid var(--line);background:white;border-radius:12px;min-width:42px;height:42px;display:grid;place-items:center;color:var(--navy);font-size:20px}.btn-icon:hover{background:#f0f5f7}.content{padding:22px 26px;flex:1;overflow:auto;max-height:calc(100dvh - 77px)}.content.chat-wrap{padding:0;display:flex;flex-direction:column;overflow:hidden;background:#f2eee5}.pill{font-size:11px;border-radius:99px;background:#e7f3ec;color:#29745e;padding:4px 10px;white-space:nowrap;font-weight:750}.pill.gold{background:#fff2d5;color:#9b6b19}.pill.gray{background:#edf1f4;color:#526576}.hero{background:linear-gradient(110deg,#0c304e,#1c5672);color:#fff;border-radius:20px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px;overflow:hidden;position:relative}.hero:after{content:'✦';font-size:180px;color:#ffffff08;position:absolute;left:14px;top:-80px}.hero h2{font-size:25px;line-height:1.3;margin-bottom:8px}.hero p{font-size:13px;color:#c9dee9;max-width:450px}.hero .spark{font-size:54px;filter:drop-shadow(0 6px 15px #0002)}.section-title{font-weight:850;font-size:17px;margin:8px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:7px}.section-sub{font-size:12px;color:var(--muted);font-weight:400}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:13px}.card,.list-card,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 13px #00000004}.card{padding:20px}.list-card{display:flex;align-items:center;gap:12px;padding:16px 14px;margin-bottom:8px;cursor:pointer;transition:.2s}.list-card:hover{border-color:#add0d3;background:#fbfffe}.list-card .details{flex:1;min-width:0}.list-card h3{font-weight:750;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-card p{color:var(--muted);font-size:12px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-card .stamp{font-size:11px;color:var(--muted)}.circle{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,#ecf5f7,#dae6ef);display:grid;place-items:center;font-size:25px;flex-shrink:0}.circle.amber{background:#fff4db}.circle.green{background:#e3f4ef}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:0 0 20px}.stat{padding:19px;border:1px solid var(--line);border-radius:15px;background:#fff}.stat b{display:block;font-size:25px;color:var(--navy)}.stat small{font-size:12px}.btn{border:0;border-radius:11px;padding:11px 16px;background:var(--navy);color:#fff;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn.secondary{background:#e8f1f4;color:var(--navy)}.btn.gold{background:var(--gold);color:#48371c}.btn.red{background:#feecec;color:#ae3333}.btn.tiny{padding:8px 11px;font-size:12px}.btn.block{width:100%}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 15px}.field{margin-bottom:15px}.field label{display:block;margin-bottom:6px;color:#405a6c;font-weight:700;font-size:13px}.field input,.field textarea,.field select,.search{display:block;width:100%;background:#fbfdfe;color:var(--text);border:1px solid #d5e2e8;border-radius:11px;padding:12px 13px;outline:none}.field input:focus,.field textarea:focus,.field select:focus,.search:focus{border-color:#74b6b4;box-shadow:0 0 0 3px #74b6b424}.field textarea{min-height:90px;resize:vertical}.field small{display:block;margin-top:5px}.panel{padding:22px;margin-bottom:17px}.panel h3{margin-bottom:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tab-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:15px}.tab-chip{border:1px solid var(--line);background:#fff;padding:8px 13px;border-radius:20px;color:var(--muted);font-weight:700}.tab-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.empty{padding:58px 20px;text-align:center;color:var(--muted);border:1px dashed #d0e0e7;border-radius:18px}.empty .emoji{font-size:47px;margin-bottom:8px}.alert{padding:13px 15px;border-radius:12px;background:#fff5dc;color:#93671d;margin-bottom:15px;font-size:13px}.alert.info{background:#eaf3fa;color:#315a75}.alert.danger{background:#fff0ef;color:#a4413b}.chat-head{min-height:69px;background:white;border-bottom:1px solid var(--line);padding:10px 18px;display:flex;align-items:center;gap:10px}.chat-head .details{flex:1;min-width:0}.chat-head strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-head small{display:block}.chat-back{border:0;background:none;color:var(--navy);font-size:24px;padding:0 2px}.chat-messages{flex:1;overflow:auto;padding:24px 15px;position:relative;background-color:#f1eee7;background-image:radial-gradient(#d1d8d4a0 .8px,transparent .8px);background-size:21px 21px}.day-pill{margin:0 auto 22px;width:max-content;border-radius:8px;padding:6px 13px;background:#fffefaee;color:#66727a;box-shadow:0 1px 4px #0001;font-size:12px}.bubble{max-width:min(460px,89%);width:max-content;min-width:125px;border-radius:14px 14px 4px 14px;padding:11px 14px;background:#fff;box-shadow:0 1px 3px #0001;margin-bottom:12px;overflow-wrap:anywhere}.bubble.own{margin-right:auto;background:#dcf3e9;border-radius:14px 14px 14px 4px}.bubble .sender{font-size:12px;font-weight:800;color:var(--sea);margin-bottom:5px}.bubble .msg{white-space:pre-wrap;line-height:1.9}.bubble .when{text-align:left;margin-top:5px;font-size:10px;color:#85939a}.bubble .media{background:#eaf1f6;padding:14px;border-radius:10px;margin:7px 0;display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:14px}.chat-input{background:#fff;border-top:1px solid var(--line);padding:12px 14px;display:flex;gap:9px;align-items:center}.chat-input input{flex:1;border:1px solid var(--line);padding:13px;border-radius:23px;min-width:0;background:#f9fafb}.chat-input .send{width:44px;height:44px;border-radius:50%;background:var(--navy);color:white;border:0;font-size:23px}.chat-notice{padding:11px;text-align:center;background:#f9fbfd;border-top:1px solid var(--line);font-size:12px;color:#71858b}.chat-wrap .chat-messages{min-height:250px}.auth-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;max-width:1180px;margin:auto;box-shadow:var(--shadow)}.auth-graphic{background:linear-gradient(145deg,#0e3350,#16617b);color:#fff;padding:65px;display:flex;flex-direction:column;justify-content:center}.auth-graphic h1{font-size:45px;margin:14px 0}.auth-graphic p{color:#ccdfeb;max-width:380px;line-height:2}.auth-card{padding:55px;display:flex;align-items:center;background:#fff}.auth-card .inside{width:100%;max-width:390px;margin:auto}.auth-card h2{font-size:27px;margin-bottom:4px}.auth-card .caption{color:var(--muted);font-size:13px;margin-bottom:25px}.demo-roles{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:9px 0 15px}.demo-role{background:#f4f8fa;border:1px solid var(--line);border-radius:12px;padding:12px 10px;font-weight:700;color:var(--navy)}.demo-role:hover{border-color:#80bcc7}.separator{display:flex;align-items:center;gap:12px;color:#96a3ac;margin:20px 0}.separator:before,.separator:after{content:'';height:1px;flex:1;background:var(--line)}.form-note{font-size:12px;color:var(--muted);line-height:1.8}.inline-input{display:flex;gap:8px}.inline-input>*:first-child{flex:1}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px;min-width:440px}.data-table th{text-align:right;color:var(--muted);font-weight:800;background:#f7fafc}.data-table td,.data-table th{padding:12px 10px;border-bottom:1px solid var(--line)}.data-table tr:last-child td{border-bottom:0}.list-divider{margin:17px 0;border:0;border-top:1px solid var(--line)}.bottom-nav{display:none}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%) translateY(50px);background:#243c4d;color:#fff;padding:11px 20px;border-radius:12px;z-index:1000;opacity:0;pointer-events:none;transition:.25s;max-width:90%;text-align:center;box-shadow:0 6px 24px #0003}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.course-accent{height:5px;background:linear-gradient(90deg,var(--navy),var(--gold));border-radius:3px;margin:-20px -20px 17px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--sea);display:inline-block;margin-left:4px}.footer-tip{padding:12px;border-radius:12px;background:#f0f6f9;color:var(--muted);font-size:12px;margin-top:14px}hr{border:0;border-top:1px solid var(--line);margin:15px 0}
@media(max-width:800px){.rail{display:none}.shell{box-shadow:none}.main{min-height:100dvh;padding-bottom:65px}.top{padding:11px 15px;min-height:60px}.top .title{font-size:18px}.content{padding:17px 15px;max-height:calc(100dvh - 125px)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;justify-content:space-around;z-index:50;height:calc(64px + env(safe-area-inset-bottom));border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:transparent;color:#79909d;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;gap:0;min-width:62px}.bottom-nav button.active{color:var(--navy);font-weight:900}.bottom-nav button span{font-size:22px}.hero{padding:20px}.hero h2{font-size:20px}.hero .spark{font-size:38px}.cards{grid-template-columns:1fr}.chat-wrap{max-height:calc(100dvh - 130px)}.chat-head{padding:7px 12px}.chat-messages{padding:16px 11px}.auth-page{display:block;min-height:100dvh}.auth-graphic{padding:30px 25px}.auth-graphic h1{font-size:30px;margin:2px 0}.auth-graphic p{font-size:12px}.auth-card{padding:24px 20px}.two{grid-template-columns:1fr}.panel{padding:16px}.list-card{padding:13px 10px}.chat-input{padding:8px}.tab-chip{font-size:12px;padding:8px 11px}#toast{bottom:85px}}

.center-picker{max-width:140px;background:#f7fafc;border:1px solid var(--line);border-radius:9px;padding:7px;color:var(--navy);font-size:12px} [hidden]{display:none!important}
@media(max-width:800px){.center-picker{max-width:94px;font-size:10px}.top{gap:6px}.pill.gold{font-size:10px}}
/* CoursApp 0.2 — familiar training-messenger UI, original brand identity */
:root{--brand:#138A6D;--wa-dark:#182126;--wa-secondary:#647076;--wa-border:#edf0ee;--wa-chat:#eae6dd;--wa-light:#d9f9d3}
body{background:#fff;color:var(--wa-dark);font-family:system-ui,-apple-system,'Segoe UI',Tahoma,Arial,sans-serif}
.shell{max-width:1350px;background:#fff;box-shadow:0 2px 25px #0000000b}
.rail{background:#f8faf9;border-left:1px solid var(--wa-border)}
.nav-item.active{background:#dbf3e9;color:var(--brand)}.nav-item{border-radius:14px;color:#364e48}
.nav-item svg{vertical-align:middle}
.brand-image{object-fit:contain;border-radius:50%;background:white}
.brand-placeholder{border-radius:50%;display:inline-grid;place-items:center;background:var(--brand);color:#fff;font-size:26px;font-weight:900;flex-shrink:0}
.wa-top{height:72px;display:flex;align-items:center;justify-content:space-between;background:white;padding:12px 22px;direction:ltr;border-bottom:0}
.wa-top .top-left{display:flex;align-items:center;gap:15px;direction:ltr}
.wa-top .top-right{font-size:28px;font-weight:700;color:#0a1315;direction:rtl}
.icon-button{display:inline-grid;place-items:center;border:0;background:transparent;width:36px;height:36px;border-radius:50%;color:#3c484b;cursor:pointer;flex-shrink:0;padding:5px}
.icon-button:hover,.wa-info-list button:hover{background:#f0f3f2}
.home-content{padding:4px 0 70px!important;position:relative;background:white;max-height:calc(100dvh - 130px);overflow:auto}
.wa-search{background:#f5f5f5;border-radius:28px;display:flex;align-items:center;gap:12px;margin:8px 17px 10px;padding:0 15px;color:#626e72;height:49px}
.wa-search input{border:0;background:transparent;outline:0;min-width:0;flex:1;color:#343b3c;font-size:15px;font-family:inherit;direction:rtl}
.wa-filters{display:flex;align-items:center;gap:9px;overflow:auto;padding:1px 18px 11px}
.wa-filter{border:0;border-radius:19px;background:#f3f4f3;color:#52605b;padding:6px 16px;font-size:13px;white-space:nowrap}.wa-filter.active{background:#dcfce6;color:#10784e;font-weight:700}
.wa-chat-row,.wa-status-row{display:flex;align-items:center;gap:13px;padding:12px 19px;min-height:82px;cursor:pointer;direction:rtl;text-align:right;transition:background .15s}
.wa-chat-row:hover,.wa-status-row:hover{background:#f5f7f6}
.chat-group-avatar{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#d1f3dc,#bed6dd);display:inline-grid;place-items:center;flex-shrink:0;font-size:27px;color:#286454;overflow:hidden}
.chat-group-avatar.small{width:43px;height:43px;font-size:23px}
.wa-chat-details{flex:1;min-width:0;border-bottom:1px solid #f1f1f1;padding:8px 0 12px}
.wa-chat-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wa-chat-line b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650}
.wa-chat-line small{font-size:11px;color:var(--brand)}
.wa-chat-details p{font-size:13px;color:#6b7478;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:5px 0 0}
.wa-floating{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:20px;border:0;background:var(--brand);color:white;border-radius:16px;height:54px;width:54px;font-size:32px;box-shadow:0 4px 15px #0002}
.bottom-nav{background:#fff;border-top:1px solid #e8e8e8;box-shadow:0 -2px 8px #00000006}
.bottom-nav button{font-size:11px!important;color:#222a2b!important;gap:4px!important;min-width:22%!important;font-weight:650!important}
.bottom-nav button .nav-icon{display:grid;place-items:center;min-width:60px;border-radius:24px;transition:background .15s;padding:3px 17px}
.bottom-nav button.active .nav-icon{background:#e9e9e8;color:var(--brand)}
.bottom-nav button svg{width:25px;height:25px}
.chat-wrap{background:var(--wa-chat)!important}
.wa-chat-head{min-height:64px;padding:8px 12px;direction:rtl;background:#fff;gap:6px}
.wa-chat-head .chat-back{order:0;display:grid;place-items:center;width:30px;flex:0 0 auto}
.wa-head-avatar,.wa-head-details{border:0;background:transparent;text-align:right;padding:0;cursor:pointer}
.wa-head-details{flex:1;min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:1px}
.wa-head-details strong{font-size:17px;font-weight:650;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.wa-head-details small{font-size:11px;color:#7a8182;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-messages{background-color:#f3efe7!important;background-image:radial-gradient(#d2cdbf91 .75px,transparent .75px),radial-gradient(#e2d9c9a9 1.2px,transparent 1.2px)!important;background-size:17px 17px,39px 39px!important;padding:16px 13px!important}
.day-pill{background:#fffefa;border-radius:7px;box-shadow:0 1px 2px #0001;color:#667072;max-width:85%;text-align:center;margin-bottom:18px}
.bubble{border-radius:10px 10px 3px 10px;max-width:min(520px,90%);background:white;padding:9px 11px;margin-left:auto;margin-right:0;box-shadow:0 1px 2px #0002}
.bubble.own{background:var(--wa-light)!important;margin-left:0!important;margin-right:auto!important;border-radius:10px 10px 10px 3px}
.bubble .sender{color:#04876b;font-weight:720}.bubble .msg{font-size:15px;line-height:1.85;white-space:pre-wrap}.bubble .when{color:#87918a;font-size:10px}
.highlight-message{outline:3px solid #ffd253;outline-offset:2px}
.wa-composer{display:flex;align-items:center;background:var(--wa-chat);border:0;padding:8px 9px;gap:6px;direction:rtl}
.wa-input-wrap{background:#fff;flex:1;display:flex;align-items:center;gap:2px;border-radius:29px;padding:4px 6px;min-width:0;min-height:46px}
.wa-input-wrap input{border:0;background:transparent;border-radius:0;outline:none;font-size:15px;direction:rtl;flex:1;min-width:35px;padding:8px 4px}
.wa-attach{display:inline-grid;place-items:center;color:#777f81;width:34px;height:37px;cursor:pointer}
.wa-attach.hidden{display:none}
.wa-send,.wa-record{border:0;display:grid;place-items:center;width:45px;height:45px;min-width:45px;border-radius:50%;background:var(--brand);color:#fff;cursor:pointer}
.wa-record{background:#f7f7f7;color:#566264}
.wa-locked{background:#f7faf7;border-top:1px solid #e4e7df;padding:12px 5px}
.wa-section-title{font-size:20px;font-weight:720;padding:16px 17px 20px}
.wa-section-title small{display:block;color:#84918e;font-size:12px;font-weight:450;margin-top:4px}
.wa-feed-card{background:#fff;border-radius:13px;border:1px solid #e4e9e6;padding:15px;margin:0 14px 12px;box-shadow:0 1px 4px #00000007}
.feed-header{display:flex;align-items:center;gap:10px;margin-bottom:15px}.feed-header div{display:flex;flex-direction:column}.feed-header small{color:#76827c;font-size:11px}.wa-feed-card p{white-space:pre-wrap;line-height:1.9}
.media-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}.media-form-bottom input{max-width:100%}
.wa-status-row{border-top:1px solid #f2f4f2}.status-avatar{border:3px solid var(--brand);border-radius:50%;padding:2px;width:60px;height:60px;display:inline-grid;place-items:center}.status-avatar .brand-placeholder{width:47px!important;height:47px!important}
.wa-tool-row{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;border-bottom:1px solid #f2f3f2}.wa-tool-icon{font-size:26px;width:43px;text-align:center}.wa-tool-row p{color:#6a7973;font-size:12px;margin:4px 0 0}.wa-chevron{margin-right:auto;color:#aaa;font-size:23px}
.wa-group-info-head{text-align:center;background:#fff;padding:22px 14px 30px;position:relative}.wa-group-info-head .chat-back{position:absolute;top:17px;right:14px}.big-course-avatar{font-size:72px;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;background:#e4f7ed;margin:8px auto 20px}.wa-group-info-head h2{font-size:22px;line-height:1.5}.wa-group-info-head p{color:#74807a;margin-top:4px}
.wa-info-list{background:white;margin:10px 0}.wa-info-list button{border:0;background:#fff;width:100%;display:flex;align-items:center;gap:17px;padding:17px;text-align:right;color:#273834;border-bottom:1px solid #f2f2f2}.wa-info-list svg{color:#6f7874}
.wa-participants{max-height:380px;overflow:auto}.participant{display:flex;align-items:center;gap:12px;padding:9px 3px}.participant span:not(.wa-avatar){display:flex;flex-direction:column;font-size:13px}.participant small{font-size:11px;color:#8a928c;margin-top:3px}.wa-avatar{display:inline-grid;place-items:center;background:var(--avatar-bg);border-radius:50%;flex-shrink:0;overflow:hidden}
.onboard-card{max-width:680px;margin:20px auto;background:#fff;padding:20px;border-radius:16px}.onboard-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:25px}.onboard-hero h2{font-size:21px}.onboard-hero p{color:#6d7d74;font-size:13px}.avatar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:15px 0;margin-bottom:14px}.avatar-grid.compact{grid-template-columns:repeat(8,1fr)}.avatar-pick{border:2px solid transparent;border-radius:50%;padding:1px;background:none;display:grid;place-items:center}.avatar-pick.chosen{border-color:var(--brand);background:#d1f6e8}
.search-kicker{padding:13px 20px;color:#627367;font-size:12px;font-weight:700;background:#f4f8f5}.search-hit{padding:12px 18px;display:flex;flex-direction:column;gap:4px;width:100%;text-align:right;border:0;border-bottom:1px solid #eee;background:#fff;color:#26312b}.search-hit span{color:#61726a;font-size:12px;max-height:40px;overflow:hidden}
.btn:not(.secondary):not(.red):not(.gold),.tab-chip.active{background:var(--brand)}
@media(min-width:801px){.home-content{max-height:calc(100dvh - 80px)}.wa-floating{left:calc(50% - 300px);bottom:25px}.bottom-nav{display:none}.wa-top{border-bottom:1px solid #f5f5f5}.wa-search{max-width:760px}.wa-chat-row{max-width:800px}}
@media(max-width:800px){.main{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.main:has(.chat-wrap){padding-bottom:0}.content:not(.chat-wrap){max-height:calc(100dvh - 138px)}.content.chat-wrap{max-height:calc(100dvh - 2px);height:100dvh}.wa-chat-head{padding:9px 8px}.wa-head-details strong{font-size:15px}.chat-messages{flex:1;min-height:100px!important}.wa-top{height:69px;min-height:69px;padding:6px 17px}.wa-top .top-right{font-size:26px}.bottom-nav{height:calc(69px + env(safe-area-inset-bottom));padding:4px 0 env(safe-area-inset-bottom)}.bottom-nav button{font-size:10px!important;flex:1}.wa-floating{bottom:calc(84px + env(safe-area-inset-bottom))}.avatar-grid{grid-template-columns:repeat(6,1fr)}.avatar-grid.compact{grid-template-columns:repeat(6,1fr)}.wa-section-title{font-size:18px}.chat-head .icon-button{width:30px}.wa-composer{padding-bottom:calc(7px + env(safe-area-inset-bottom))}}
.bottom-nav button > span:last-child{font-size:10px!important;line-height:1.3;white-space:nowrap}
.shell:has(.chat-wrap) .bottom-nav{display:none!important}
.shell:has(.chat-wrap) .main{padding-bottom:0!important;height:100dvh}
.shell:has(.chat-wrap) .chat-wrap{max-height:100dvh!important;height:100dvh!important;overflow:hidden}
.shell:has(.chat-wrap) .chat-messages{min-height:0!important}
.wa-chat-row{position:relative}
.wa-chat-details{border-bottom:1px solid #f2f3f1}
.wa-react-picker{position:relative;margin:5px 0 0;font-size:11px;width:max-content;max-width:100%;color:#6b7771}
.wa-react-picker summary{list-style:none;cursor:pointer;background:#ffffffb5;padding:2px 8px;border-radius:15px}
.wa-react-picker summary::-webkit-details-marker{display:none}
.wa-react-choices{background:#fff;border:1px solid #dfe4dc;box-shadow:0 4px 13px #0002;border-radius:25px;display:flex;gap:3px;padding:4px;position:relative;z-index:2;flex-wrap:wrap}
.wa-react-choices button{border:0;background:transparent;border-radius:50%;width:30px;height:30px;font-size:17px}
.wa-react-choices button:hover{background:#ebf8ed}
.wa-story-overlay{position:fixed;inset:0;background:#101b20;color:white;z-index:100;display:flex;flex-direction:column;direction:rtl}
.wa-story-progress{display:flex;gap:4px;padding:8px 9px 0;direction:rtl}
.wa-story-progress span{height:3px;border-radius:5px;background:#ffffff55;flex:1}
.wa-story-progress span.done{background:#fff}
.wa-story-header{display:flex;align-items:center;gap:10px;padding:9px 15px;min-height:64px}
.wa-story-header>div{display:flex;flex-direction:column;flex:1}.wa-story-header small{font-size:11px;color:#bec9c7}
.wa-story-header button{border:0;color:#fff;font-size:23px;background:transparent;padding:7px}
.wa-story-main{display:flex;align-items:center;justify-content:center;flex-direction:column;flex:1;gap:18px;padding:20px;min-height:0;background:linear-gradient(150deg,#195e50,#152e46)}
.wa-story-main img,.wa-story-main video{max-width:100%;max-height:65dvh;object-fit:contain;border-radius:12px}
.wa-story-main audio{width:100%}.wa-story-text{white-space:pre-wrap;font-size:21px;line-height:1.8;text-align:center;max-height:35dvh;overflow:auto}
.wa-story-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 22px calc(18px + env(safe-area-inset-bottom));direction:ltr}.wa-story-nav button{background:#ffffff2c;color:white;border:0;border-radius:50%;width:42px;height:42px}
@media(max-width:800px){.auth-page{background:#fff;box-shadow:none}.auth-graphic{background:#fff!important;color:#152b25!important;align-items:center;text-align:center;padding:26px 20px 6px}.auth-graphic h1{font-size:28px}.auth-graphic p{color:#60756e!important;font-size:13px}.auth-card{padding:20px 24px 35px;align-items:start}.auth-card .inside{text-align:center}.auth-card .field{text-align:right}.auth-card .field label{text-align:right}.auth-graphic .mark{background:#e2f6e8!important;color:var(--brand)}.auth-card .btn.block{border-radius:26px}.auth-card .tab-row{justify-content:center}}

/* CoursApp v0.3 certificate workflow */
.wa-certificate-banner{background:#fffdf2;border:1px solid #efe4be;border-radius:13px;margin:8px 3px 12px;padding:13px;color:#3e3c32;box-shadow:0 2px 6px #00000008}
.wa-certificate-banner p{font-size:13px;line-height:1.7;margin:7px 0}
.wa-certificate-banner .actions{display:flex;gap:6px;flex-wrap:wrap}
.wa-certificate-instructions{border-right:4px solid #bda04e}
.wa-certificate-instructions .preserve{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}
.certificate-result{border-bottom:1px solid #eceeec;padding:14px 2px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.certificate-result>b{min-width:130px;flex:1;font-size:14px;overflow-wrap:anywhere}
.certificate-result>small{color:#68746e}
.certificate-result .btn{margin-inline-start:auto}


/* CoursApp mobile viewport and accessibility hardening */
html,body,#app,.shell,.main{max-width:100%;min-width:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;-webkit-text-size-adjust:100%;overflow-x:hidden}
.chat-head,.wa-chat-head{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:hidden;padding-top:max(8px,env(safe-area-inset-top))}
.wa-head-details,.details,.wa-chat-details,.chat-input,.wa-input-wrap{min-width:0;max-width:100%}
.wa-head-details strong,.wa-chat-details b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}
.chat-messages{min-width:0;max-width:100%;overflow-x:hidden}
.bubble{overflow-wrap:anywhere;max-width:min(88%,520px)}
.bubble .msg{white-space:pre-wrap;unicode-bidi:plaintext;direction:inherit;font-size:15px;line-height:1.55}
.bubble .msg strong{font-weight:700}
.bubble .msg code{background:#d4e0db;padding:1px 3px;border-radius:3px}
.wa-group-info-head .big-course-avatar img,.chat-group-avatar img,.wa-head-avatar img,.circle img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.coursapp-group-actions{display:flex;gap:7px;flex-wrap:wrap;background:var(--wa-chat,#eae6dd);padding:5px 12px;max-width:100%;box-sizing:border-box}
.coursapp-group-actions button{font-size:12px;min-height:32px;flex:1}
.coursapp-emoji-picker{position:absolute;bottom:100%;right:0;left:0;z-index:30;background:var(--wa-dark,#182126);padding:7px;max-height:185px;overflow:auto;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;border-radius:12px 12px 0 0;box-shadow:0 -4px 18px #0002}
.coursapp-emoji-picker button{min-width:0;min-height:38px;font-size:23px;background:transparent;border:0;cursor:pointer;color:white}
.wa-composer{position:relative}
@media(max-width:800px){
 .main{width:100vw;max-width:100vw;min-width:0;overflow-x:hidden}
 .main:has(.chat-wrap){height:100dvh;max-height:100dvh}
 .wa-chat-head{padding-left:8px;padding-right:8px;gap:5px;flex-shrink:0}
 .wa-chat-head .wa-head-details{flex:1}
 .wa-chat-head .icon-button{width:34px;min-width:34px;padding:5px}
 .bottom-nav{max-width:100vw}
 .chat-messages{flex:1;min-height:0}
 .wa-composer{max-width:100%;padding-bottom:max(6px,env(safe-area-inset-bottom))}
 .wa-composer input{min-width:0;width:100%;font-size:16px}
 .coursapp-group-actions{flex-shrink:0}
 .top{padding-top:max(7px,env(safe-area-inset-top))}
}

.coursapp-fullscreen{position:fixed;inset:0;min-width:100vw;min-height:100dvh;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:12px;box-sizing:border-box;border:0;background:#0c1118;color:white;z-index:9999}
.coursapp-fullscreen::backdrop{background:rgba(0,0,0,.95)}
.coursapp-fullscreen img,.coursapp-fullscreen video,.coursapp-fullscreen audio{object-fit:contain;width:100%;height:auto;max-width:100%;max-height:calc(100dvh - 74px)}
