:root{--simos-mobile-navy:#0b2748;--simos-mobile-navy-2:#153b63;--simos-mobile-green:#0b6b57;--simos-mobile-green-soft:#e8f5f0;--simos-mobile-bg:#f4f7fb;--simos-mobile-card:#fff;--simos-mobile-text:#17324d;--simos-mobile-muted:#667b8f;--simos-mobile-line:#dce6ef;--simos-mobile-danger:#b42318;--simos-mobile-warning:#b54708;--simos-mobile-shadow:0 12px 34px rgba(11,39,72,.08)}
.simos-mobile-root [hidden]{display:none!important}
body.simos-mobile-app-page{background:var(--simos-mobile-bg)!important;color:var(--simos-mobile-text)!important;overscroll-behavior-y:none}
body.simos-mobile-app-page .site-header,body.simos-mobile-app-page .site-footer,body.simos-mobile-app-page header.wp-block-template-part,body.simos-mobile-app-page footer.wp-block-template-part{display:none!important}
body.simos-mobile-app-page .simos-mobile-login-shell{min-height:100dvh;background:linear-gradient(180deg,#edf4fa 0,#f8fbfd 100%);padding:max(14px,env(safe-area-inset-top)) 12px max(20px,env(safe-area-inset-bottom));box-sizing:border-box}
body.simos-mobile-app-page .simos-mobile-login-shell .simos-wrap{max-width:860px!important;margin:0 auto!important}
.simos-mobile-root{min-height:100dvh;background:var(--simos-mobile-bg);padding-bottom:calc(82px + env(safe-area-inset-bottom));font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--simos-mobile-text)}
.simos-mobile-root *{box-sizing:border-box}
.simos-mobile-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:rgba(244,247,251,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,230,239,.8)}
.simos-mobile-brand{display:flex;align-items:center;gap:10px;min-width:0;color:var(--simos-mobile-text)!important;text-decoration:none!important}.simos-mobile-logo{width:38px!important;height:38px!important;object-fit:contain;flex:0 0 38px}.simos-mobile-brand span{display:flex;flex-direction:column;min-width:0}.simos-mobile-brand strong{font-size:14px;line-height:1.15}.simos-mobile-brand small{font-size:10.5px;color:var(--simos-mobile-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px;margin-top:2px}.simos-mobile-icon-button{border:1px solid var(--simos-mobile-line);background:#fff;color:var(--simos-mobile-navy);width:40px;height:40px;border-radius:13px;display:grid;place-items:center;box-shadow:0 3px 10px rgba(11,39,72,.04)}
.simos-mobile-main{width:min(100%,720px);margin:0 auto;padding:16px 14px 28px}.simos-mobile-hero{background:linear-gradient(135deg,var(--simos-mobile-navy),var(--simos-mobile-navy-2));border-radius:24px;padding:21px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 16px 35px rgba(11,39,72,.18)}.simos-mobile-hero p{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#bdebdc}.simos-mobile-hero h1{margin:0;font-size:clamp(23px,6vw,31px);line-height:1.1;color:#fff}.simos-mobile-hero span{display:block;margin-top:8px;font-size:13px;color:#d7e5f1}.simos-mobile-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--simos-mobile-navy)!important;text-decoration:none!important;font-weight:900;font-size:20px;border:3px solid rgba(255,255,255,.22)}.simos-mobile-avatar.is-large{width:52px;height:52px;flex-basis:52px}
.simos-mobile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.simos-mobile-stats.is-compact{margin:14px 0 22px}.simos-mobile-stat{min-height:96px;background:var(--simos-mobile-card);border:1px solid var(--simos-mobile-line);border-radius:18px;padding:16px 14px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;overflow:hidden;box-shadow:0 4px 14px rgba(11,39,72,.035)}.simos-mobile-stat strong{display:block;font-size:24px;line-height:1;color:var(--simos-mobile-navy);margin:0 0 8px}.simos-mobile-stat span{display:block;width:100%;font-size:11px;line-height:1.35;color:var(--simos-mobile-muted);font-weight:700;word-break:break-word}.simos-mobile-stat.is-attention strong{color:var(--simos-mobile-warning)}.simos-mobile-stat.is-danger strong{color:var(--simos-mobile-danger)}
.simos-mobile-section{margin-top:24px}.simos-mobile-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 2px 10px}.simos-mobile-section-head small,.simos-mobile-page-head small{display:block;color:var(--simos-mobile-green);font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.simos-mobile-section-head h2{font-size:18px;line-height:1.2;margin:2px 0 0;color:var(--simos-mobile-text)}.simos-mobile-section-head>a{font-size:12px;font-weight:800;color:var(--simos-mobile-green)!important;text-decoration:none!important}
.simos-mobile-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.simos-mobile-quick{min-height:58px;background:var(--simos-mobile-card);border:1px solid var(--simos-mobile-line);border-radius:16px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none!important;color:var(--simos-mobile-text)!important;font-size:13px;font-weight:800}.simos-mobile-quick b{color:var(--simos-mobile-green);font-size:21px}
.simos-mobile-list,.simos-mobile-menu-list{display:grid;gap:8px}.simos-mobile-list-row,.simos-mobile-reminder,.simos-mobile-child,.simos-mobile-menu-card{background:#fff;border:1px solid var(--simos-mobile-line);border-radius:17px;padding:13px 14px;display:flex;align-items:center;gap:12px;text-decoration:none!important;color:var(--simos-mobile-text)!important}.simos-mobile-list-row time{font-size:13px;font-weight:900;color:var(--simos-mobile-green);width:42px;flex:0 0 42px}.simos-mobile-list-row>span:not(.simos-mobile-dot),.simos-mobile-reminder>span:nth-child(2),.simos-mobile-child>span:first-child,.simos-mobile-menu-card>span{display:flex;flex:1;min-width:0;flex-direction:column}.simos-mobile-list-row strong,.simos-mobile-reminder strong,.simos-mobile-child strong,.simos-mobile-menu-card strong{font-size:13px;line-height:1.3}.simos-mobile-list-row small,.simos-mobile-reminder small,.simos-mobile-child small,.simos-mobile-menu-card small{font-size:11px;line-height:1.35;color:var(--simos-mobile-muted);margin-top:3px}.simos-mobile-list-row>b,.simos-mobile-reminder>b,.simos-mobile-child>b,.simos-mobile-menu-card>b{margin-left:auto;color:#8da0b3;font-size:18px}.simos-mobile-list-row.is-danger{border-color:#f4c7c3;background:#fff9f8}.simos-mobile-dot{width:8px;height:8px;border-radius:50%;background:var(--simos-mobile-green);flex:0 0 8px}.simos-mobile-list-row.is-danger .simos-mobile-dot{background:var(--simos-mobile-danger)}
.simos-mobile-priority{width:5px;align-self:stretch;min-height:38px;border-radius:8px;background:#95a6b7;flex:0 0 5px}.simos-mobile-reminder.is-penting .simos-mobile-priority,.simos-mobile-reminder.is-important .simos-mobile-priority{background:#e08a00}.simos-mobile-reminder.is-mendesak .simos-mobile-priority,.simos-mobile-reminder.is-urgent .simos-mobile-priority{background:var(--simos-mobile-danger)}
.simos-mobile-child-kpi{flex:0 0 auto!important;align-items:center}.simos-mobile-child-kpi b{font-size:18px;color:var(--simos-mobile-navy)}.simos-mobile-child-kpi small{margin:0}
.simos-mobile-news{display:grid;grid-template-columns:1fr;gap:10px}.simos-mobile-news-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;background:#fff;border:1px solid var(--simos-mobile-line);border-radius:18px;overflow:hidden;text-decoration:none!important;color:var(--simos-mobile-text)!important;min-height:88px}.simos-mobile-news-card img,.simos-mobile-news-fallback{width:88px;height:100%;min-height:88px;object-fit:cover;background:linear-gradient(145deg,#dfeaf4,#edf6f2);display:grid;place-items:center;color:var(--simos-mobile-green)}.simos-mobile-news-card>span:last-child{padding:11px 12px 11px 0;min-width:0}.simos-mobile-news-card small{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--simos-mobile-green);font-weight:800}.simos-mobile-news-card strong{display:block;font-size:13px;line-height:1.3;margin-top:3px}.simos-mobile-news-card p{font-size:11px;line-height:1.4;color:var(--simos-mobile-muted);margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.simos-mobile-page-head{padding:8px 2px 14px}.simos-mobile-page-head h1{font-size:28px;line-height:1.1;margin:4px 0 7px;color:var(--simos-mobile-navy)}.simos-mobile-page-head p{font-size:13px;line-height:1.5;color:var(--simos-mobile-muted);margin:0}.simos-mobile-menu-card{min-height:64px}.simos-mobile-menu-card.is-full{border-color:#bdd3e6;background:#f9fcff}.simos-mobile-menu-card.is-danger{color:var(--simos-mobile-danger)!important}.simos-mobile-menu-card.is-button{width:100%;font:inherit;text-align:left;cursor:pointer}.simos-mobile-info{margin-top:16px;padding:16px;border-radius:18px;background:var(--simos-mobile-green-soft);border:1px solid #cbe7dc}.simos-mobile-info strong{font-size:13px;color:var(--simos-mobile-green)}.simos-mobile-info p{font-size:12px;line-height:1.5;color:#536f66;margin:5px 0 0}.simos-mobile-empty{background:#fff;border:1px dashed var(--simos-mobile-line);border-radius:16px;padding:20px;text-align:center;color:var(--simos-mobile-muted);font-size:12px}
.simos-mobile-profile-card{display:flex;align-items:center;gap:13px;background:linear-gradient(145deg,#fff,#f8fbfd);border:1px solid var(--simos-mobile-line);border-radius:20px;padding:15px;margin-bottom:12px}.simos-mobile-profile-card>span{display:flex;flex-direction:column}.simos-mobile-profile-card strong{font-size:15px}.simos-mobile-profile-card small{font-size:11px;color:var(--simos-mobile-muted);margin-top:3px}.simos-mobile-footer{text-align:center;padding:28px 12px 10px;display:flex;flex-direction:column;gap:3px;color:#8092a3;font-size:10px}.simos-mobile-footer strong{color:#607589}
.simos-mobile-bottom{position:fixed;z-index:50;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,720px);height:calc(68px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-top:1px solid var(--simos-mobile-line);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));box-shadow:0 -8px 30px rgba(11,39,72,.06)}.simos-mobile-bottom button{position:relative;border:0;background:transparent;color:#7a8fa1;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 1px;min-width:0}.simos-mobile-bottom .dashicons{font-size:21px;width:21px;height:21px}.simos-mobile-bottom small{font-size:9.5px;font-weight:750;white-space:nowrap}.simos-mobile-bottom button.is-active{color:var(--simos-mobile-green);background:#edf7f3}.simos-mobile-bottom i{position:absolute;top:3px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:10px;background:var(--simos-mobile-danger);color:#fff;font-size:9px;line-height:16px;font-style:normal;font-weight:900}
.simos-mobile-offline{position:sticky;z-index:60;top:0;background:#9a3412;color:#fff;text-align:center;padding:7px 12px;font-size:11px;font-weight:800}.simos-mobile-toast{position:fixed;z-index:80;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - 30px);padding:10px 14px;border-radius:13px;background:#17324d;color:#fff;font-size:11.5px;font-weight:700;box-shadow:var(--simos-mobile-shadow);text-align:center}.simos-mobile-install{position:fixed;z-index:70;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 24px),560px);background:#fff;border:1px solid #cfdce7;border-radius:18px;padding:13px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;box-shadow:0 18px 50px rgba(11,39,72,.18)}.simos-mobile-install>div{display:flex;flex-direction:column}.simos-mobile-install strong{font-size:12px}.simos-mobile-install small{font-size:10px;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-install button{border:0;border-radius:11px;padding:9px 12px;background:var(--simos-mobile-green);color:#fff;font-weight:800;font-size:11px}.simos-mobile-install button.is-close{background:#eef3f7;color:#5c7287;font-size:16px;padding:7px 10px}
.simos-mobile-session{position:fixed;z-index:100;inset:0;background:rgba(3,15,28,.55);display:grid;place-items:center;padding:20px}.simos-mobile-session>div{width:min(100%,380px);background:#fff;border-radius:22px;padding:22px;box-shadow:0 25px 70px rgba(0,0,0,.24)}.simos-mobile-session strong{font-size:17px}.simos-mobile-session p{font-size:13px;color:var(--simos-mobile-muted);line-height:1.5}.simos-mobile-session button{border:0;border-radius:12px;background:var(--simos-mobile-green);color:#fff;font-weight:800;padding:11px 16px}
.simos-mobile-loading{padding-top:8px}.simos-mobile-skeleton{height:88px;border-radius:20px;margin-bottom:10px;background:linear-gradient(90deg,#e8eef4 25%,#f7f9fb 50%,#e8eef4 75%);background-size:200% 100%;animation:simos-mobile-shimmer 1.3s infinite}.simos-mobile-skeleton.is-title{height:135px}@keyframes simos-mobile-shimmer{to{background-position:-200% 0}}.simos-mobile-error{text-align:center;padding:50px 18px}.simos-mobile-error .dashicons{font-size:38px;width:38px;height:38px;color:var(--simos-mobile-warning)}.simos-mobile-error h2{font-size:20px;margin:12px 0 5px}.simos-mobile-error p{font-size:13px;color:var(--simos-mobile-muted)}.simos-mobile-security-gate{max-width:480px;margin:16vh auto 0;padding:24px;border-radius:22px}
@media (min-width:721px){.simos-mobile-root{border-left:1px solid var(--simos-mobile-line);border-right:1px solid var(--simos-mobile-line);width:720px;margin:0 auto;box-shadow:0 0 60px rgba(11,39,72,.08)}.simos-mobile-topbar{width:720px;margin:0 auto}.simos-mobile-bottom{border-left:1px solid var(--simos-mobile-line);border-right:1px solid var(--simos-mobile-line)}}
@media (max-width:390px){.simos-mobile-main{padding-left:11px;padding-right:11px}.simos-mobile-stats{gap:8px}.simos-mobile-stat{padding:14px 11px;min-height:92px}.simos-mobile-stat strong{font-size:21px}.simos-mobile-stat span{font-size:10.5px;line-height:1.32}.simos-mobile-brand small{max-width:185px}.simos-mobile-hero{padding:18px}.simos-mobile-bottom small{font-size:8.7px}}
@media (prefers-reduced-motion:reduce){.simos-mobile-skeleton{animation:none}*{scroll-behavior:auto!important}}

/* v0.11.30 — Teacher Daily Actions */
.simos-mobile-quick.is-button,.simos-mobile-list-row.is-button{width:100%;font:inherit;text-align:left;cursor:pointer}.simos-mobile-list-row.is-button{appearance:none}
.simos-mobile-back{border:0;background:transparent;color:var(--simos-mobile-green);font:inherit;font-size:12px;font-weight:850;padding:4px 0 10px;display:inline-flex;align-items:center;gap:5px}.simos-mobile-back .dashicons{font-size:17px;width:17px;height:17px}
.simos-mobile-loading-inline{padding-top:8px}.simos-mobile-full-button{display:block!important;text-align:center;margin-top:12px;text-decoration:none!important}
.simos-mobile-kbm-list{display:grid;gap:11px}.simos-mobile-kbm-card{background:#fff;border:1px solid var(--simos-mobile-line);border-radius:20px;padding:16px;box-shadow:0 5px 18px rgba(11,39,72,.04)}.simos-mobile-kbm-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.simos-mobile-kbm-card-head time{font-size:15px;font-weight:900;color:var(--simos-mobile-green)}.simos-mobile-kbm-card h2{font-size:18px;line-height:1.2;margin:9px 0 4px;color:var(--simos-mobile-navy)}.simos-mobile-kbm-card p{font-size:12px;line-height:1.45;color:var(--simos-mobile-muted);margin:0 0 13px}.simos-mobile-kbm-card>.simos-button{width:100%;margin-top:13px}
.simos-mobile-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:850;background:#edf2f6;color:#607589}.simos-mobile-status.is-open{background:#e8f5f0;color:var(--simos-mobile-green)}.simos-mobile-status.is-done{background:#eaf0f7;color:var(--simos-mobile-navy)}.simos-mobile-status.is-planned{background:#fff4e5;color:#9a5b00}
.simos-mobile-progress>span{display:block;height:7px;border-radius:999px;background:#edf2f6;overflow:hidden}.simos-mobile-progress i{display:block;height:100%;border-radius:999px;background:var(--simos-mobile-green)}.simos-mobile-progress small{display:block;margin-top:5px;font-size:10px;color:var(--simos-mobile-muted);font-weight:750}
.simos-mobile-kbm-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.simos-mobile-kbm-summary>div{background:#fff;border:1px solid var(--simos-mobile-line);border-radius:17px;padding:13px}.simos-mobile-kbm-summary span{display:block;font-size:10px;color:var(--simos-mobile-muted);font-weight:750}.simos-mobile-kbm-summary strong{display:block;font-size:16px;color:var(--simos-mobile-navy);margin-top:4px}.simos-mobile-kbm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.simos-mobile-kbm-actions:has(> :only-child){grid-template-columns:1fr}.simos-mobile-kbm-actions .simos-button{margin:0;width:100%}.simos-mobile-action-primary{background:var(--simos-mobile-green)!important}
.simos-mobile-section-head .simos-mobile-text-action{border:0;background:transparent;color:var(--simos-mobile-green);font:inherit;font-size:11px;font-weight:850;padding:6px 0;white-space:nowrap}
.simos-mobile-attendance-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 10px}.simos-mobile-attendance-stats span{background:#fff;border:1px solid var(--simos-mobile-line);border-radius:13px;padding:9px 10px;font-size:10px;color:var(--simos-mobile-muted);text-align:center}.simos-mobile-attendance-stats b{display:block;font-size:16px;color:var(--simos-mobile-navy);margin-bottom:1px}
.simos-mobile-attendance-list{display:grid;gap:8px}.simos-mobile-attendance-row{background:#fff;border:1px solid var(--simos-mobile-line);border-radius:17px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(126px,42%);gap:9px 10px;align-items:center}.simos-mobile-attendance-person{min-width:0}.simos-mobile-attendance-person strong{display:block;font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simos-mobile-attendance-person small{display:block;font-size:10px;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-attendance-row select,.simos-mobile-attendance-row input{width:100%;border:1px solid #cfdbe6;border-radius:11px;background:#fff;color:var(--simos-mobile-text);font:inherit;font-size:12px;min-height:40px;padding:8px}.simos-mobile-attendance-row[data-status="present"] select{border-color:#a9d8c9;background:#f2fbf7;color:#075b49}.simos-mobile-attendance-row[data-status="absent"] select{border-color:#efb9b5;background:#fff7f6;color:var(--simos-mobile-danger)}.simos-mobile-attendance-row[data-status="sick"] select,.simos-mobile-attendance-row[data-status="permit"] select{border-color:#f1d29a;background:#fffaf0;color:#8a5200}
.simos-mobile-attendance-extra{grid-column:1/-1;display:grid;grid-template-columns:128px minmax(0,1fr);gap:8px}.simos-mobile-attendance-extra label{font-size:9.5px;color:var(--simos-mobile-muted);font-weight:750}.simos-mobile-attendance-extra label:first-child{display:none}.simos-mobile-attendance-extra.is-late label:first-child{display:block}.simos-mobile-attendance-extra input{margin-top:4px}.simos-mobile-attendance-extra:not(.is-late) label:last-child{grid-column:1/-1}
.simos-mobile-savebar{position:sticky;bottom:calc(68px + env(safe-area-inset-bottom));z-index:30;margin:14px -2px -6px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border:1px solid var(--simos-mobile-line);border-radius:17px;padding:10px;display:flex;align-items:center;gap:10px;box-shadow:0 12px 32px rgba(11,39,72,.12)}.simos-mobile-savebar>span{display:flex;flex:1;min-width:0;flex-direction:column}.simos-mobile-savebar strong{font-size:11px}.simos-mobile-savebar small{font-size:9.5px;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-savebar .simos-button{margin:0;white-space:nowrap}.simos-mobile-savebar button:disabled{opacity:.6;cursor:wait}
@media (max-width:380px){.simos-mobile-attendance-row{grid-template-columns:minmax(0,1fr) 122px}.simos-mobile-attendance-extra{grid-template-columns:112px minmax(0,1fr)}.simos-mobile-savebar{align-items:stretch}.simos-mobile-savebar>span{display:none}.simos-mobile-savebar .simos-button{width:100%}}


/* v0.11.31 — Student Daily Learning */
.simos-mobile-student-kbm{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;background:#fff;border:1px solid var(--simos-mobile-line);border-radius:16px;padding:12px}.simos-mobile-student-kbm time{font-size:14px;font-weight:900;color:var(--simos-mobile-green)}.simos-mobile-student-kbm strong,.simos-mobile-student-kbm small{display:block}.simos-mobile-student-kbm strong{font-size:12.5px}.simos-mobile-student-kbm small{font-size:10px;color:var(--simos-mobile-muted);margin-top:2px}
.simos-mobile-course-list{display:grid;gap:9px}.simos-mobile-course-card{appearance:none;width:100%;border:1px solid var(--simos-mobile-line);background:#fff;border-radius:18px;padding:14px;text-align:left;font:inherit;cursor:pointer;box-shadow:0 4px 16px rgba(11,39,72,.035)}.simos-mobile-course-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.simos-mobile-course-head>span{min-width:0}.simos-mobile-course-head small,.simos-mobile-course-head strong{display:block}.simos-mobile-course-head small{font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--simos-mobile-muted);font-weight:800}.simos-mobile-course-head strong{font-size:13px;line-height:1.35;margin-top:4px;color:var(--simos-mobile-navy)}.simos-mobile-course-head>b{font-size:20px;color:var(--simos-mobile-green);white-space:nowrap}.simos-mobile-course-card .simos-mobile-progress{display:block;margin-top:10px}
.simos-mobile-path-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.simos-mobile-path-summary>div{background:#fff;border:1px solid var(--simos-mobile-line);border-radius:16px;padding:12px;text-align:center}.simos-mobile-path-summary strong{display:block;font-size:20px;color:var(--simos-mobile-navy)}.simos-mobile-path-summary span{display:block;font-size:9.5px;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-current{background:linear-gradient(135deg,#0b2748,#154d69);color:#fff;border-radius:19px;padding:16px;margin-bottom:12px}.simos-mobile-current small,.simos-mobile-current strong{display:block}.simos-mobile-current small{font-size:9.5px;opacity:.75;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.simos-mobile-current strong{font-size:15px;line-height:1.35;margin-top:5px}
.simos-mobile-path{position:relative;display:grid;gap:9px}.simos-mobile-path-item{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;background:#fff;border:1px solid var(--simos-mobile-line);border-radius:18px;padding:12px}.simos-mobile-path-item.is-completed{border-color:#b8dfd2;background:#f7fcfa}.simos-mobile-path-item.is-locked{opacity:.74;background:#f7f9fb}.simos-mobile-path-item.is-overdue{border-color:#edc4be}.simos-mobile-path-step{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#eaf0f5;color:var(--simos-mobile-navy);font-size:11px;font-weight:900}.simos-mobile-path-item.is-completed .simos-mobile-path-step{background:#dff4ec;color:#08705a}.simos-mobile-path-item.is-overdue .simos-mobile-path-step{background:#fff0ed;color:var(--simos-mobile-danger)}.simos-mobile-path-body>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.simos-mobile-path-body small{font-size:9px;color:var(--simos-mobile-muted);font-weight:800}.simos-mobile-path-body>strong{display:block;font-size:13px;line-height:1.35;margin-top:4px}.simos-mobile-path-body p{font-size:10px;color:var(--simos-mobile-muted);line-height:1.45;margin:6px 0 0}.simos-mobile-path-body p.is-lock{color:#805c20}.simos-mobile-path-action{display:block!important;text-align:center;margin-top:9px;text-decoration:none!important;padding:9px 12px!important;font-size:10.5px!important}
.simos-mobile-task-row{appearance:none;width:100%;font:inherit;text-align:left;border:1px solid var(--simos-mobile-line);background:#fff;border-radius:15px;padding:11px 12px;display:flex;align-items:center;gap:10px;cursor:pointer}.simos-mobile-task-row>span{flex:1;min-width:0}.simos-mobile-task-row small,.simos-mobile-task-row strong,.simos-mobile-task-row em{display:block}.simos-mobile-task-row small{font-size:9px;color:var(--simos-mobile-muted);font-weight:800}.simos-mobile-task-row strong{font-size:12px;margin-top:2px}.simos-mobile-task-row em{font-size:9.5px;color:var(--simos-mobile-muted);font-style:normal;margin-top:3px}.simos-mobile-task-row.is-danger{border-color:#efc2bc;background:#fffafa}
.simos-mobile-task-list,.simos-mobile-feedback-list{display:grid;gap:10px}.simos-mobile-task-card,.simos-mobile-feedback-card{background:#fff;border:1px solid var(--simos-mobile-line);border-radius:19px;padding:15px}.simos-mobile-task-card.is-danger{border-color:#efc2bc}.simos-mobile-task-card.is-locked{background:#f7f9fb}.simos-mobile-task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.simos-mobile-task-head>span:first-child{min-width:0}.simos-mobile-task-head small,.simos-mobile-feedback-card>small{display:block;font-size:9px;color:var(--simos-mobile-muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.simos-mobile-task-head h2,.simos-mobile-feedback-card h2{font-size:15px;line-height:1.3;margin:4px 0 0}.simos-mobile-task-card>p{font-size:11px;line-height:1.5;color:var(--simos-mobile-muted);margin:10px 0}.simos-mobile-task-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.simos-mobile-task-meta span{background:#f7f9fb;border-radius:12px;padding:9px;font-size:10px;color:var(--simos-mobile-text)}.simos-mobile-task-meta b{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--simos-mobile-muted);margin-bottom:2px}.simos-mobile-feedback,.simos-mobile-remedial{margin-top:10px;border-radius:13px;padding:11px}.simos-mobile-feedback{background:#edf8f4}.simos-mobile-remedial{background:#fff7e8}.simos-mobile-feedback small,.simos-mobile-remedial small{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:var(--simos-mobile-muted)}.simos-mobile-feedback strong{display:block;font-size:12px;color:#075b49;margin-top:3px}.simos-mobile-feedback p,.simos-mobile-remedial p{font-size:10.5px;line-height:1.5;margin:5px 0 0}.simos-mobile-lock-note{margin-top:10px;border-radius:12px;padding:10px;background:#f1f4f7;color:#6d7d8b;font-size:10.5px;font-weight:700}
@media (max-width:370px){.simos-mobile-path-summary{gap:5px}.simos-mobile-path-summary>div{padding:10px 6px}.simos-mobile-path-summary strong{font-size:18px}.simos-mobile-task-head{display:block}.simos-mobile-task-head .simos-mobile-status{margin-top:7px}}

/* v0.11.32 — Parent Monitoring */
.simos-mobile-child.is-button{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer}.simos-mobile-parent-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--simos-mobile-line);border-radius:16px;padding:10px 12px;margin-bottom:12px}.simos-mobile-parent-picker>span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--simos-mobile-muted)}.simos-mobile-parent-picker select{max-width:68%;min-height:38px;border:1px solid #cfdbe6;border-radius:11px;background:#fff;color:var(--simos-mobile-text);font:inherit;font-size:11px;padding:7px 9px}.simos-mobile-parent-progress{background:linear-gradient(135deg,#f9fcff,#edf7f3);border:1px solid #cfe1e8;border-radius:18px;padding:14px;margin-top:10px}.simos-mobile-parent-progress>span{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.simos-mobile-parent-progress small{font-size:10px;color:var(--simos-mobile-muted);font-weight:800}.simos-mobile-parent-progress strong{font-size:22px;color:var(--simos-mobile-green)}.simos-mobile-parent-progress .simos-mobile-progress{display:block;margin-top:9px}.simos-mobile-parent-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.simos-mobile-parent-actions button{appearance:none;border:1px solid var(--simos-mobile-line);background:#fff;color:var(--simos-mobile-navy);border-radius:13px;min-height:44px;padding:8px 5px;font:inherit;font-size:10px;font-weight:850;cursor:pointer}.simos-mobile-attention-list{display:grid;gap:8px}.simos-mobile-attention-list>article{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--simos-mobile-line);border-radius:15px;padding:11px 12px}.simos-mobile-attention-list>article.is-high{border-color:#efc2bc;background:#fffafa}.simos-mobile-attention-list>article.is-medium{border-color:#efd6a5;background:#fffaf1}.simos-mobile-attention-list>article>.dashicons{color:var(--simos-mobile-warning);flex:0 0 auto}.simos-mobile-attention-list>article.is-high>.dashicons{color:var(--simos-mobile-danger)}.simos-mobile-attention-list>article>span:not(.dashicons){display:flex;flex-direction:column;min-width:0}.simos-mobile-attention-list strong{font-size:11.5px;line-height:1.35}.simos-mobile-attention-list small{font-size:9.5px;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-empty.is-success{border-color:#b9dfd1;background:#f7fcfa;color:#397364}.simos-mobile-course-card.is-static{cursor:default}.simos-mobile-parent-attendance{display:grid;gap:8px}.simos-mobile-parent-attendance article{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--simos-mobile-line);border-radius:15px;padding:11px}.simos-mobile-parent-attendance time{font-size:9.5px;font-weight:850;color:var(--simos-mobile-muted)}.simos-mobile-parent-attendance article>span{min-width:0}.simos-mobile-parent-attendance strong,.simos-mobile-parent-attendance small{display:block}.simos-mobile-parent-attendance strong{font-size:11.5px}.simos-mobile-parent-attendance small{font-size:9.5px;line-height:1.35;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-parent-attendance article>b{font-size:9.5px;border-radius:999px;padding:5px 8px;white-space:nowrap;background:#edf8f4;color:#08705a}.simos-mobile-parent-attendance article>b.is-attention{background:#fff4df;color:#955b00}.simos-mobile-parent-attendance article>b.is-danger{background:#fff0ed;color:var(--simos-mobile-danger)}.simos-mobile-parent-attendance.is-history{margin-top:8px}
@media (max-width:430px){.simos-mobile-parent-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.simos-mobile-parent-attendance article{grid-template-columns:68px minmax(0,1fr);}.simos-mobile-parent-attendance article>b{grid-column:2;justify-self:start}.simos-mobile-parent-picker{align-items:stretch;flex-direction:column}.simos-mobile-parent-picker select{max-width:none;width:100%}}
.simos-mobile-stats.is-parent{grid-template-columns:repeat(2,minmax(0,1fr))}


/* v0.11.33 — Mobile Communication */
.simos-mobile-primary-action{width:100%;border:0;border-radius:15px;background:var(--simos-mobile-green);color:#fff;min-height:48px;padding:11px 15px;font:inherit;font-size:12px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.simos-mobile-primary-action:disabled{opacity:.55}.simos-mobile-back{border:0;background:transparent;color:var(--simos-mobile-green);font:inherit;font-size:11px;font-weight:850;padding:4px 0;cursor:pointer}.simos-mobile-chat-row{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer}.simos-mobile-chat-row.has-unread{border-color:#a9d6c9;background:#fbfffd}.simos-mobile-chat-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--simos-mobile-navy),#245a84);color:#fff;font-size:13px;font-weight:900}.simos-mobile-chat-row>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column}.simos-mobile-chat-row strong{font-size:12.5px}.simos-mobile-chat-row small{font-size:9.5px;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-chat-row em{font-size:10.5px;font-style:normal;color:#53697c;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simos-mobile-chat-row>b{min-width:22px;height:22px;border-radius:999px;background:var(--simos-mobile-green);color:#fff;display:grid;place-items:center;font-size:9px}.simos-mobile-chat-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--simos-mobile-line);border-radius:15px;padding:9px 11px;margin:12px 0}.simos-mobile-chat-search .dashicons{color:var(--simos-mobile-muted)}.simos-mobile-chat-search input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;width:100%;min-height:34px;font:inherit;font-size:12px;color:var(--simos-mobile-text);padding:0!important}.simos-mobile-chat-thread-page{min-height:calc(100dvh - 165px);display:flex;flex-direction:column}.simos-mobile-chat-thread-head{display:flex;align-items:center;gap:9px;padding-bottom:10px;border-bottom:1px solid var(--simos-mobile-line)}.simos-mobile-chat-thread-head>span:last-child{display:flex;flex-direction:column;min-width:0}.simos-mobile-chat-thread-head strong{font-size:13px}.simos-mobile-chat-thread-head small{font-size:9.5px;color:var(--simos-mobile-muted)}.simos-mobile-chat-messages{display:flex;flex:1;flex-direction:column;gap:7px;overflow:auto;padding:15px 1px 95px;max-height:calc(100dvh - 210px)}.simos-mobile-chat-bubble{max-width:82%;padding:9px 11px;border-radius:15px;box-shadow:0 2px 8px rgba(11,39,72,.05)}.simos-mobile-chat-bubble p{margin:0;font-size:12px;line-height:1.45}.simos-mobile-chat-bubble small{display:block;text-align:right;font-size:8.5px;margin-top:4px;opacity:.7}.simos-mobile-chat-bubble.is-mine{align-self:flex-end;background:var(--simos-mobile-green);color:#fff;border-bottom-right-radius:5px}.simos-mobile-chat-bubble.is-theirs{align-self:flex-start;background:#fff;border:1px solid var(--simos-mobile-line);border-bottom-left-radius:5px}.simos-mobile-chat-compose{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:35;width:min(calc(100% - 24px),696px);display:grid;grid-template-columns:1fr 46px;gap:8px;padding:8px;background:rgba(244,247,251,.96);backdrop-filter:blur(12px);border:1px solid var(--simos-mobile-line);border-radius:17px}.simos-mobile-chat-compose textarea{resize:none;min-height:44px;max-height:110px;border:1px solid #cfdce7;border-radius:12px;padding:10px;font:inherit;font-size:12px;background:#fff;color:var(--simos-mobile-text)}.simos-mobile-chat-compose button{border:0;border-radius:12px;background:var(--simos-mobile-green);color:#fff}.simos-mobile-broadcast-reader{background:#fff;border:1px solid var(--simos-mobile-line);border-radius:18px;padding:17px;margin-bottom:12px}.simos-mobile-broadcast-reader p{font-size:12px;line-height:1.65;margin:0 0 12px}.simos-mobile-broadcast-reader small{font-size:9.5px;color:var(--simos-mobile-muted)}.simos-mobile-notification-row{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer}.simos-mobile-notification-row>.dashicons{color:var(--simos-mobile-green);flex:0 0 auto}.simos-mobile-notification-row>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column}.simos-mobile-notification-row strong{font-size:11.5px}.simos-mobile-notification-row small{font-size:9.5px;line-height:1.35;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-reminder-card{background:#fff;border:1px solid var(--simos-mobile-line);border-left:4px solid #a9b8c2;border-radius:16px;padding:13px}.simos-mobile-reminder-card.is-important{border-left-color:#e6991f;background:#fffbf3}.simos-mobile-reminder-card.is-urgent{border-left-color:#d34c4c;background:#fff8f8}.simos-mobile-reminder-card small{font-size:9px;color:var(--simos-mobile-muted)}.simos-mobile-reminder-card h3{font-size:12.5px;margin:5px 0}.simos-mobile-reminder-card p{font-size:10.5px;line-height:1.5;margin:0}.simos-mobile-reminder-card em{display:block;font-style:normal;font-size:9.5px;font-weight:800;color:var(--simos-mobile-warning);margin-top:8px}.simos-mobile-reminder-card button{margin-top:10px;border:1px solid #bdd8cf;background:#f6fcfa;color:var(--simos-mobile-green);border-radius:10px;padding:7px 10px;font:inherit;font-size:9.5px;font-weight:850;cursor:pointer}


/* v0.11.34 — Web Push & Notification Governance */
.simos-mobile-notification-settings{margin-top:8px}.simos-mobile-push-status{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--simos-mobile-line);border-radius:17px;padding:14px;margin:10px 0 12px}.simos-mobile-push-status>.dashicons{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef3f7;color:#738595}.simos-mobile-push-status.is-on{border-color:#a9d6c9;background:#f9fffc}.simos-mobile-push-status.is-on>.dashicons{background:#e4f6ef;color:var(--simos-mobile-green)}.simos-mobile-push-status>div{display:flex;min-width:0;flex-direction:column}.simos-mobile-push-status strong{font-size:12px}.simos-mobile-push-status small{font-size:9.5px;line-height:1.4;color:var(--simos-mobile-muted);margin-top:3px}.simos-mobile-secondary-action{width:100%;margin-top:9px;border:1px solid #bdd8cf;background:#f6fcfa;color:var(--simos-mobile-green);border-radius:14px;min-height:44px;padding:9px 13px;font:inherit;font-size:11px;font-weight:850;cursor:pointer}.simos-mobile-push-form{display:grid;gap:12px;margin-top:12px}.simos-mobile-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f4}.simos-mobile-toggle-row:last-child{border-bottom:0}.simos-mobile-toggle-row>span{display:flex;flex:1;min-width:0;flex-direction:column}.simos-mobile-toggle-row strong{font-size:11.5px}.simos-mobile-toggle-row small{font-size:9px;line-height:1.35;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-toggle-row input{position:absolute;opacity:0;pointer-events:none}.simos-mobile-toggle-row i{position:relative;display:block;width:42px;height:24px;border-radius:999px;background:#c9d3db;transition:.18s;flex:0 0 42px}.simos-mobile-toggle-row i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.16);transition:.18s}.simos-mobile-toggle-row input:checked+i{background:var(--simos-mobile-green)}.simos-mobile-toggle-row input:checked+i:after{transform:translateX(18px)}.simos-mobile-push-time{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.simos-mobile-push-time label{font-size:9.5px;font-weight:800;color:var(--simos-mobile-muted)}.simos-mobile-push-time input{display:block;width:100%;box-sizing:border-box;margin-top:5px;min-height:40px;border:1px solid #cfdbe6;border-radius:11px;background:#fff;color:var(--simos-mobile-text);font:inherit;font-size:11px;padding:7px 9px}


/* v0.11.35 — Pilot readiness / shared-device hardening */
.simos-mobile-session-lock{position:fixed;inset:0;z-index:10050;background:rgba(7,24,42,.96);display:grid;place-items:center;padding:24px;color:#fff}
.simos-mobile-session-lock[hidden]{display:none}
.simos-mobile-session-lock>div{width:min(100%,420px);text-align:center;background:#102f50;border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.32)}
.simos-mobile-session-lock .dashicons{font-size:34px;width:34px;height:34px;margin-bottom:12px}
.simos-mobile-session-lock strong{display:block;font-size:1.15rem;margin-bottom:8px}
.simos-mobile-session-lock p{margin:0 0 18px;color:#dbe8f2;line-height:1.55}
.simos-mobile-session-lock button{border:0;border-radius:12px;padding:12px 16px;background:#fff;color:#0b2748;font-weight:800}
.simos-mobile-pilot-list{display:grid;gap:10px}
.simos-mobile-pilot-row{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border:1px solid #dbe5ee;border-radius:14px;background:#fff}
.simos-mobile-pilot-row .dashicons{margin-top:1px}
.simos-mobile-pilot-row.is-ok .dashicons{color:#0b6b57}.simos-mobile-pilot-row.is-warn .dashicons{color:#b85c00}
.simos-mobile-pilot-row span:last-child{display:grid;gap:3px}.simos-mobile-pilot-row small{color:#627487;line-height:1.35}

/* v0.11.36 — Credential & Access Hardening */
.simos-mobile-security-list{display:grid;gap:10px}.simos-mobile-security-status{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--simos-mobile-border,#dbe3ea);border-radius:16px;background:#fff}.simos-mobile-security-status .dashicons{margin-top:2px}.simos-mobile-security-status span:last-child{display:grid;gap:3px}.simos-mobile-security-status small{display:block;color:#64748b}.simos-mobile-security-status.is-warn{border-color:#f0c36d;background:#fffbeb}.simos-mobile-security-status.is-ok{border-color:#b7dfca;background:#f4fbf7}.simos-mobile-security-forms{display:grid;gap:16px}.simos-mobile-security-form{display:grid;gap:12px;padding:16px;border:1px solid var(--simos-mobile-border,#dbe3ea);border-radius:18px;background:#fff}.simos-mobile-security-form h3{margin:0}.simos-mobile-security-form label{display:grid;gap:6px;font-weight:700;font-size:13px}.simos-mobile-security-form input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;font:inherit;background:#fff}.simos-mobile-form-help{margin:0;color:#64748b;font-size:12px;line-height:1.5}.simos-mobile-secondary-action.is-danger{border-color:#fecaca;color:#991b1b;background:#fff7f7}


/* v0.11.37-rc1 — Pilot Release Candidate */
.simos-mobile-rc-badge{display:inline-flex;vertical-align:middle;margin-left:5px;padding:2px 6px;border-radius:999px;background:#e8f3ee;color:#0b6b57;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.simos-mobile-release-gate{display:flex;gap:13px;align-items:flex-start;border-radius:18px;padding:16px;margin:6px 0 16px;border:1px solid #d8e2ea;background:#fff}.simos-mobile-release-gate>.dashicons{font-size:25px;width:25px;height:25px}.simos-mobile-release-gate>div{display:grid;gap:4px}.simos-mobile-release-gate small{font-size:8.5px;font-weight:900;letter-spacing:.08em}.simos-mobile-release-gate strong{font-size:14px}.simos-mobile-release-gate p{margin:0;color:#627487;font-size:10.5px;line-height:1.5}.simos-mobile-release-gate.is-ready{border-color:#a9d6c9;background:#f5fcf9}.simos-mobile-release-gate.is-ready>.dashicons{color:#0b6b57}.simos-mobile-release-gate.is-hold{border-color:#efc27a;background:#fffaf1}.simos-mobile-release-gate.is-hold>.dashicons{color:#b85c00}
.simos-mobile-critical-tag{display:inline-flex;margin-left:5px;padding:1px 5px;border-radius:999px;background:#f1f5f9;color:#526579;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.06em;vertical-align:1px}.simos-mobile-pilot-manual-list{display:grid;gap:9px}.simos-mobile-pilot-manual{display:flex;gap:11px;align-items:flex-start;padding:12px 13px;border:1px dashed #c9d6e1;border-radius:14px;background:#fbfdff}.simos-mobile-pilot-manual>.dashicons{color:#587188;margin-top:1px}.simos-mobile-pilot-manual span:last-child{display:grid;gap:3px}.simos-mobile-pilot-manual strong{font-size:11px}.simos-mobile-pilot-manual small{font-size:9px;color:#64778a;line-height:1.4}.simos-mobile-info.is-warning{border-color:#efc27a;background:#fffaf1}


/* v0.11.38-rc2 — controlled pilot operations */
/* v0.11.39-rc3 — session/install hidden-state hotfix */
.simos-mobile-pilot-actions{display:grid;gap:10px;margin-top:14px}
.simos-mobile-pilot-actions a{text-align:center;text-decoration:none}
.simos-mobile-pilot-actions .simos-mobile-primary-action,.simos-mobile-pilot-actions .simos-mobile-secondary-action{width:100%;box-sizing:border-box}
@media (min-width:680px){.simos-mobile-pilot-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v0.12.0-rc1 — School Arrival Pilot */
.simos-mobile-arrival-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:14px 0 18px;padding:16px;border:1px solid #cfe0ec;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(11,39,72,.06)}
.simos-mobile-arrival-card.is-done{border-color:#b9dfd2;background:#f4fbf8}.simos-mobile-arrival-card.is-warning{border-color:#ead9ad;background:#fffaf0}.simos-mobile-arrival-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#e9f4f1;color:#0b6b57}.simos-mobile-arrival-card.is-warning .simos-mobile-arrival-icon{background:#fff0ca;color:#8a5a00}.simos-mobile-arrival-card h2{font-size:1rem;margin:2px 0 3px}.simos-mobile-arrival-card p,.simos-mobile-arrival-card small{margin:0;color:#65788b;font-size:.78rem;line-height:1.4}.simos-mobile-arrival-card .simos-button{white-space:nowrap;padding:10px 14px}
.simos-mobile-arrival-success{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:20px;background:#eef9f5;border:1px solid #b9dfd2;margin-bottom:18px}.simos-mobile-arrival-success>.dashicons{width:44px;height:44px;font-size:30px;display:grid;place-items:center;border-radius:50%;background:#0b6b57;color:#fff}.simos-mobile-arrival-success small{color:#0b6b57;font-weight:800;letter-spacing:.06em}.simos-mobile-arrival-success h2{margin:4px 0;font-size:1.45rem}.simos-mobile-arrival-success p{margin:0;color:#536b7b}.simos-mobile-arrival-success em{display:block;margin-top:8px;font-style:normal;font-size:.75rem;color:#8a5a00}
.simos-mobile-gps-main{width:100%;display:flex;justify-content:center;align-items:center;gap:8px;font-size:1rem;padding:15px 18px;margin:10px 0}.simos-mobile-form-help{font-size:.78rem;line-height:1.5;color:#687d8e;margin:8px 0 16px}
.simos-mobile-tier-list{display:grid;gap:9px}.simos-mobile-tier{display:grid;grid-template-columns:36px 1fr auto;gap:11px;align-items:center;padding:13px;border:1px solid #dbe5ee;border-radius:14px;background:#fff}.simos-mobile-tier>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf3f8;color:#173d5d}.simos-mobile-tier span{display:grid;gap:3px}.simos-mobile-tier span small{font-size:.76rem;color:#697d8e;line-height:1.35}.simos-mobile-tier>em{font-style:normal;font-size:.65rem;font-weight:800;color:#8696a3;text-align:right}.simos-mobile-tier.is-done{border-color:#a9d8c7;background:#f3fbf8}.simos-mobile-tier.is-done>b{background:#0b6b57;color:#fff}.simos-mobile-tier.is-done>em{color:#0b6b57}
.simos-mobile-att-events{display:grid;gap:8px}.simos-mobile-att-event{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 13px;border-radius:13px;background:#f7f9fb;border:1px solid #e1e8ee}.simos-mobile-att-event span{display:grid;gap:3px}.simos-mobile-att-event small{font-size:.73rem;color:#6b7e8e}.simos-mobile-att-event>strong{font-size:.7rem;text-transform:uppercase}.simos-mobile-att-event.is-ok>strong{color:#0b6b57}.simos-mobile-att-event.is-warn>strong{color:#9a6600}
.simos-mobile-att-settings,.simos-mobile-manual-form{display:grid;gap:12px}.simos-mobile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.simos-mobile-att-settings label,.simos-mobile-manual-form label{display:grid;gap:6px;font-size:.74rem;font-weight:700;color:#51697c}.simos-mobile-att-settings input,.simos-mobile-manual-form input,.simos-mobile-manual-form select,.simos-mobile-inline-form input{width:100%;box-sizing:border-box;border:1px solid #cddbe6;border-radius:10px;background:#fff;padding:11px 12px;font:inherit;color:#173d5d}.simos-mobile-inline-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}.simos-mobile-manual-form{padding:14px;border-radius:14px;border:1px solid #dbe5ee;background:#f9fbfd;margin-top:10px}
@media(max-width:520px){.simos-mobile-arrival-card{grid-template-columns:auto 1fr}.simos-mobile-arrival-card>button{grid-column:1/-1;width:100%}.simos-mobile-form-grid{grid-template-columns:1fr}.simos-mobile-tier{grid-template-columns:34px 1fr}.simos-mobile-tier>em{grid-column:2;text-align:left}.simos-mobile-inline-form{grid-template-columns:1fr}.simos-mobile-inline-form button{width:100%}}

/* v0.12.1-rc2: fast morning check-in touch targets. */
.simos-mobile-arrival-card .simos-mobile-fast-checkin{min-height:60px;min-width:132px;padding:13px 18px;border-radius:16px;font-size:1rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 20px rgba(11,107,87,.16)}
.simos-mobile-arrival-card .simos-mobile-fast-checkin .dashicons{font-size:22px;width:22px;height:22px}
.simos-mobile-gps-main{width:100%;min-height:82px;padding:16px 20px!important;border-radius:20px!important;display:flex!important;align-items:center;justify-content:center;gap:13px;font-size:1.08rem!important;font-weight:800!important;touch-action:manipulation}
.simos-mobile-gps-main>.dashicons{font-size:30px;width:30px;height:30px}
.simos-mobile-gps-main>span:last-child{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.simos-mobile-gps-main strong{font-size:1.08rem;letter-spacing:.01em}
.simos-mobile-gps-main small{margin-top:5px;font-size:.74rem;font-weight:600;opacity:.82}
@media(max-width:520px){.simos-mobile-arrival-card .simos-mobile-fast-checkin{grid-column:1/-1;width:100%;min-height:68px;font-size:1.04rem}.simos-mobile-gps-main{min-height:88px}}


/* v0.12.2-rc3: 30%-screen circular one-tap check-in + 3-line success report. */
.simos-mobile-arrival-card.is-checkin-ready{grid-template-columns:1fr;justify-items:center;text-align:center;padding:14px 14px 18px;gap:10px}
.simos-mobile-arrival-ready-head{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;color:var(--simos-mobile-muted)}
.simos-mobile-arrival-ready-head small{font-weight:850;letter-spacing:.055em;color:var(--simos-mobile-green)}
.simos-mobile-arrival-ready-head span{font-size:.74rem;font-weight:750;white-space:nowrap}
.simos-mobile-round-checkin{width:clamp(104px,30vw,156px);height:clamp(104px,30vw,156px);aspect-ratio:1/1;border:0;border-radius:50%;background:linear-gradient(145deg,var(--simos-mobile-green),#0a7c65);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:0 16px 34px rgba(11,107,87,.24);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.simos-mobile-round-checkin .dashicons{width:30px;height:30px;font-size:30px}
.simos-mobile-round-checkin strong{font-size:.98rem;line-height:1;letter-spacing:.035em;color:#fff}
.simos-mobile-round-checkin:active{transform:scale(.97)}
.simos-mobile-round-checkin:focus-visible{outline:4px solid rgba(11,107,87,.22);outline-offset:4px}
.simos-mobile-round-checkin[disabled]{opacity:.72;cursor:wait;transform:none}
.simos-mobile-round-checkin.is-loading{animation:simos-checkin-pulse 1.1s ease-in-out infinite}
@keyframes simos-checkin-pulse{0%,100%{box-shadow:0 12px 28px rgba(11,107,87,.20)}50%{box-shadow:0 18px 42px rgba(11,107,87,.38)}}
.simos-mobile-checkin-stage{display:grid;justify-items:center;gap:10px;padding:8px 0 16px;text-align:center}
.simos-mobile-checkin-stage .simos-mobile-round-checkin.is-detail{width:clamp(116px,30vw,168px);height:clamp(116px,30vw,168px)}
.simos-mobile-checkin-stage p{margin:0;color:var(--simos-mobile-muted);font-size:.78rem;line-height:1.45}
.simos-mobile-arrival-report{width:100%;border:1px solid #b9dfd2;border-radius:16px;background:#f4fbf8;padding:12px 14px;margin:14px 0 18px;display:grid;grid-template-rows:auto auto auto;gap:2px;text-align:left;color:var(--simos-mobile-text);font:inherit;cursor:pointer;box-shadow:0 6px 20px rgba(11,39,72,.045)}
.simos-mobile-arrival-report strong,.simos-mobile-arrival-report span,.simos-mobile-arrival-report small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.28}
.simos-mobile-arrival-report strong{font-size:.76rem;letter-spacing:.055em;color:var(--simos-mobile-green)}
.simos-mobile-arrival-report span{font-size:.88rem;font-weight:800;color:var(--simos-mobile-navy)}
.simos-mobile-arrival-report small{font-size:.72rem;color:var(--simos-mobile-muted)}
@media(max-width:520px){.simos-mobile-arrival-ready-head{padding:0 2px}.simos-mobile-round-checkin{width:30vw;height:30vw;min-width:104px;min-height:104px;max-width:148px;max-height:148px}.simos-mobile-checkin-stage .simos-mobile-round-checkin.is-detail{width:30vw;height:30vw;min-width:112px;min-height:112px;max-width:156px;max-height:156px}}
@media(prefers-reduced-motion:reduce){.simos-mobile-round-checkin.is-loading{animation:none}}

/* v0.12.4-rc5: top-view circular check-in, label-only CTA, better card padding. */
.simos-mobile-arrival-card.is-checkin-ready{padding:18px 16px 24px;gap:16px}
.simos-mobile-round-checkin,
.simos-mobile-checkin-stage .simos-mobile-round-checkin.is-detail{
  width:clamp(188px,46vw,248px);
  height:clamp(188px,46vw,248px);
  min-width:188px;
  min-height:188px;
  max-width:248px;
  max-height:248px;
  aspect-ratio:1/1;
  position:relative;
  border:2px solid #af1117;
  border-radius:50%;
  background:radial-gradient(circle at 32% 24%, #ff7b82 0%, #ff4a53 18%, #f11f2c 46%, #c70d16 73%, #92050a 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:
    0 16px 0 #79070b,
    0 24px 34px rgba(122,9,13,.30),
    inset 0 4px 5px rgba(255,255,255,.26),
    inset 0 -8px 14px rgba(88,0,3,.26);
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .08s ease;
}
.simos-mobile-round-checkin::before{
  content:"";
  position:absolute;
  top:11%;
  left:16%;
  width:68%;
  height:20%;
  border-radius:50%;
  background:linear-gradient(to bottom, rgba(255,255,255,.38), rgba(255,255,255,0));
  pointer-events:none;
}
.simos-mobile-round-checkin .dashicons{display:none!important}
.simos-mobile-round-checkin strong{
  display:block;
  max-width:74%;
  font-size:1.32rem;
  line-height:1.12;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  text-shadow:0 2px 3px rgba(80,0,0,.28);
  color:#fff;
}
@media(hover:hover) and (pointer:fine){
  .simos-mobile-round-checkin:hover{
    border-color:#164ba7;
    background:radial-gradient(circle at 32% 24%, #80bdff 0%, #5aa6ff 18%, #2d78ea 46%, #1a52be 73%, #123a8b 100%);
    box-shadow:0 16px 0 #10306d,0 24px 34px rgba(17,65,148,.30),inset 0 4px 5px rgba(255,255,255,.28),inset 0 -8px 14px rgba(7,33,90,.24);
  }
}
.simos-mobile-round-checkin:focus-visible{outline:5px solid rgba(37,99,217,.25);outline-offset:5px}
.simos-mobile-round-checkin:active{transform:translateY(9px);box-shadow:0 7px 0 #79070b,0 12px 18px rgba(122,9,13,.22),inset 0 4px 4px rgba(255,255,255,.22),inset 0 -6px 10px rgba(88,0,3,.22)}
.simos-mobile-round-checkin[disabled],.simos-mobile-round-checkin.is-loading{transform:none;opacity:.8;cursor:wait}
.simos-mobile-arrival-report{cursor:default}
.simos-mobile-arrival-report strong,.simos-mobile-arrival-report span,.simos-mobile-arrival-report small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.simos-mobile-demo-reset{display:block;margin:10px auto 20px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid #c7d4df;background:#fff;color:#173d5d;font:inherit;font-size:.76rem;font-weight:850;letter-spacing:.04em;cursor:pointer}
.simos-mobile-demo-reset:active{transform:translateY(1px)}
@media(hover:hover) and (pointer:fine){.simos-mobile-demo-reset:hover{border-color:#2563d9;color:#164ba7;background:#f3f7ff}}
@media(max-width:520px){
  .simos-mobile-arrival-card.is-checkin-ready{padding:18px 14px 24px}
  .simos-mobile-round-checkin,
  .simos-mobile-checkin-stage .simos-mobile-round-checkin.is-detail{width:46vw;height:46vw;min-width:188px;min-height:188px;max-width:226px;max-height:226px}
  .simos-mobile-round-checkin strong{font-size:1.22rem;max-width:76%}
}
@media(prefers-reduced-motion:reduce){.simos-mobile-round-checkin{transition:none}}


/* v0.12.5-rc6: daily attendance recap for Homeroom/Management + admin late-test controls. */
.simos-mobile-daily-recap{margin:0 0 14px;padding:16px;border:1px solid #cddfea;border-radius:20px;background:linear-gradient(180deg,#ffffff,#f7fbfd);box-shadow:0 8px 24px rgba(11,39,72,.055)}
.simos-mobile-daily-recap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.simos-mobile-daily-recap-head span{display:grid;gap:3px;min-width:0}.simos-mobile-daily-recap-head small{font-size:.66rem;font-weight:900;letter-spacing:.08em;color:#0b6b57}.simos-mobile-daily-recap-head strong{font-size:1.02rem;line-height:1.2;color:#102f4c}.simos-mobile-daily-recap-head>b{font-size:.68rem;color:#6b7d8d;background:#eef4f7;padding:6px 9px;border-radius:999px;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.simos-mobile-daily-recap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.simos-mobile-daily-recap-grid>span{min-width:0;padding:11px 8px;border-radius:14px;background:#fff;border:1px solid #e0e8ee;text-align:center}.simos-mobile-daily-recap-grid b,.simos-mobile-daily-recap-grid small{display:block}.simos-mobile-daily-recap-grid b{font-size:1.28rem;line-height:1;color:#153b5d;margin-bottom:5px}.simos-mobile-daily-recap-grid small{font-size:.64rem;font-weight:800;line-height:1.2;color:#718392;word-break:break-word}.simos-mobile-daily-recap-grid .is-late b{color:#b56c00}.simos-mobile-daily-recap-grid .is-missing b{color:#c1262d}
.simos-mobile-att-testbox{display:grid;gap:12px;padding:15px;margin:0 0 14px;border:1px solid #f0cf8a;border-radius:16px;background:#fff9ed}.simos-mobile-att-testbox small{display:block;font-size:.64rem;font-weight:900;letter-spacing:.08em;color:#9b6500}.simos-mobile-att-testbox strong{display:block;margin:3px 0 4px;color:#163a59}.simos-mobile-att-testbox p{margin:0;color:#687b89;font-size:.76rem;line-height:1.45}.simos-mobile-test-actions{display:flex;gap:8px;flex-wrap:wrap}.simos-mobile-test-actions button{flex:1 1 180px}
@media(max-width:390px){.simos-mobile-daily-recap{padding:14px 12px}.simos-mobile-daily-recap-grid{gap:6px}.simos-mobile-daily-recap-grid>span{padding:10px 5px}.simos-mobile-daily-recap-grid b{font-size:1.15rem}.simos-mobile-daily-recap-grid small{font-size:.59rem}.simos-mobile-daily-recap-head>b{max-width:42%}}


/* v0.12.9-rc10 — student late alert + 5-minute tolerance. */
.simos-mobile-arrival-card.is-tolerance{border-color:#ead5a0;background:#fff9eb}
.simos-mobile-arrival-card.is-tolerance .simos-mobile-arrival-icon{background:#fff0ca;color:#8a5a00}
.simos-mobile-late-alert{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:14px;
  align-items:center;
  margin:14px 0 18px;
  padding:18px 18px;
  border:1px solid #8f1016;
  border-radius:18px;
  background:linear-gradient(145deg,#dc1f2c,#a90712);
  color:#fff;
  box-shadow:0 10px 26px rgba(145,7,16,.24);
}
.simos-mobile-late-x{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.14);
  border:2px solid rgba(255,255,255,.78);
  color:#fff;
  font-size:2.2rem;
  font-weight:500;
  line-height:1;
}
.simos-mobile-late-alert small,
.simos-mobile-late-alert h2,
.simos-mobile-late-alert strong,
.simos-mobile-late-alert p{display:block;margin:0;color:#fff}
.simos-mobile-late-alert small{font-size:.7rem;font-weight:850;letter-spacing:.07em;opacity:.88}
.simos-mobile-late-alert h2{margin:4px 0 5px;font-size:1.38rem;line-height:1.08;font-weight:950;letter-spacing:.005em}
.simos-mobile-late-alert strong{font-size:1rem;line-height:1.2;font-weight:900}
.simos-mobile-late-alert p{margin-top:5px;font-size:.82rem;line-height:1.38;font-weight:700;opacity:.96}
@media(max-width:390px){
  .simos-mobile-late-alert{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:16px 14px}
  .simos-mobile-late-x{width:44px;height:44px;font-size:1.9rem}
  .simos-mobile-late-alert h2{font-size:1.24rem}
}


/* v0.13.1-rc12 legacy countdown styling; attendance lock behavior is superseded by v0.13.2-rc13. */
.simos-mobile-checkin-unified{overflow:visible}
.simos-mobile-checkin-alert{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 13px;border-radius:14px;text-align:center}
.simos-mobile-checkin-alert>span:not(.simos-mobile-late-x){display:grid;gap:2px;min-width:0}
.simos-mobile-checkin-alert strong,.simos-mobile-checkin-alert b,.simos-mobile-checkin-alert small{display:block;margin:0;line-height:1.25}
.simos-mobile-checkin-alert strong{font-size:.74rem;font-weight:950;letter-spacing:.035em}
.simos-mobile-checkin-alert b{font-size:.95rem;font-weight:950}
.simos-mobile-checkin-alert small{font-size:.72rem;font-weight:700}
.simos-mobile-checkin-alert.is-reminder{border:1px solid #bfd6e7;background:#eef7fc;color:#164b72}
.simos-mobile-checkin-alert.is-tolerance{border:1px solid #efcf84;background:#fff7df;color:#8b5d00}
.simos-mobile-checkin-alert.is-late{justify-content:flex-start;text-align:left;border:1px solid #8f1016;background:linear-gradient(145deg,#dc1f2c,#a90712);color:#fff;box-shadow:0 8px 20px rgba(145,7,16,.20)}
.simos-mobile-checkin-alert.is-late .simos-mobile-late-x{flex:0 0 42px;width:42px;height:42px;font-size:1.8rem}
.simos-mobile-checkin-alert.is-late strong{font-size:1.12rem;letter-spacing:0;color:#fff}
.simos-mobile-checkin-alert.is-late b{font-size:.95rem;color:#fff}
.simos-mobile-checkin-alert.is-late small{color:#fff;opacity:.96}
.simos-mobile-checkin-stage.simos-mobile-checkin-unified{padding-top:4px}
@media(max-width:390px){
  .simos-mobile-checkin-alert{padding:10px 10px}
  .simos-mobile-checkin-alert.is-late .simos-mobile-late-x{flex-basis:38px;width:38px;height:38px;font-size:1.6rem}
  .simos-mobile-checkin-alert.is-late strong{font-size:1.02rem}
}

/* v0.13.2-rc13 — geofence/cutoff governed attendance button + homeroom cutoff + parent live status. */
.simos-mobile-round-checkin.is-disabled,
.simos-mobile-round-checkin.is-disabled:hover,
.simos-mobile-round-checkin:disabled,
.simos-mobile-round-checkin:disabled:hover{
  border-color:#9aa5af!important;
  background:radial-gradient(circle at 32% 24%,#d9dee3 0%,#c5ccd3 22%,#aeb7c0 52%,#8e99a4 78%,#737e89 100%)!important;
  box-shadow:0 10px 0 #66717b,0 16px 24px rgba(55,65,75,.18),inset 0 4px 5px rgba(255,255,255,.28),inset 0 -7px 12px rgba(55,65,75,.16)!important;
  color:#fff!important;
  cursor:not-allowed!important;
  opacity:1!important;
  transform:none!important;
}
.simos-mobile-geofence-note{margin:2px 0 0!important;max-width:290px;text-align:center;color:var(--simos-mobile-muted);font-size:.76rem!important;line-height:1.4!important;font-weight:700}
.simos-mobile-cutoff-list{margin-top:12px;padding-top:12px;border-top:1px solid var(--simos-mobile-line);display:grid;gap:8px}.simos-mobile-cutoff-list>small{font-size:.68rem;font-weight:900;letter-spacing:.05em;color:var(--simos-mobile-danger)}
.simos-mobile-cutoff-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #efc4c4;border-radius:13px;background:#fff7f7}.simos-mobile-cutoff-row span{display:grid;gap:2px;min-width:0}.simos-mobile-cutoff-row strong{font-size:.82rem;color:var(--simos-mobile-navy)}.simos-mobile-cutoff-row small{font-size:.7rem;color:#9a3b3b}.simos-mobile-cutoff-row button{min-height:40px;padding:8px 12px;border:0;border-radius:10px;background:#b91c1c;color:#fff;font:inherit;font-size:.74rem;font-weight:900;cursor:pointer}.simos-mobile-cutoff-row button:disabled{opacity:.55;cursor:wait}
.simos-mobile-parent-school-attendance{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 16px;padding:14px 15px;border:1px solid var(--simos-mobile-line);border-radius:16px;background:#f8fafc}.simos-mobile-parent-school-attendance>span{display:grid;gap:3px;min-width:0}.simos-mobile-parent-school-attendance small{font-size:.66rem;font-weight:900;letter-spacing:.045em;color:var(--simos-mobile-muted)}.simos-mobile-parent-school-attendance strong{font-size:.94rem;color:var(--simos-mobile-navy)}.simos-mobile-parent-school-attendance em{font-style:normal;font-size:.72rem;line-height:1.35;color:var(--simos-mobile-muted)}.simos-mobile-parent-school-attendance>b{flex:0 0 auto;font-size:.7rem;padding:6px 9px;border-radius:999px;background:#edf1f4;color:#51606e}.simos-mobile-parent-school-attendance.is-present{border-color:#b9dfd2;background:#f3fbf8}.simos-mobile-parent-school-attendance.is-late{border-color:#e7b4b4;background:#fff4f4}.simos-mobile-parent-school-attendance.is-warning{border-color:#ead5a0;background:#fff9eb}
@media(max-width:420px){.simos-mobile-parent-school-attendance{align-items:flex-start;flex-direction:column}.simos-mobile-cutoff-row{grid-template-columns:1fr}.simos-mobile-cutoff-row button{width:100%}}
\n\n/* v0.13.4-rc15 — high-emphasis student attendance outcome messages. */
.simos-mobile-arrival-report{
  border:0;
  border-radius:20px;
  padding:18px 18px 20px;
  gap:6px;
  color:#fff;
  box-shadow:0 10px 24px rgba(11,39,72,.14);
}
.simos-mobile-arrival-report.is-ontime{background:linear-gradient(145deg,#15965a,#087b46)}
.simos-mobile-arrival-report.is-tolerance{background:linear-gradient(145deg,#c99300,#a66d00)}
.simos-mobile-arrival-report.is-late{background:linear-gradient(145deg,#df3039,#b61620)}
.simos-mobile-arrival-report strong,
.simos-mobile-arrival-report span,
.simos-mobile-arrival-report small{
  color:#fff!important;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.simos-mobile-arrival-report strong{font-size:.86rem;line-height:1.25;letter-spacing:.055em}
.simos-mobile-arrival-report span{font-size:1rem;line-height:1.35;font-weight:850}
.simos-mobile-arrival-report small{display:flex;align-items:flex-start;gap:10px;margin-top:4px;font-size:1.18rem;line-height:1.38;font-weight:900}
.simos-mobile-arrival-report small em{font-style:normal;color:#fff}
.simos-attendance-emoji{flex:0 0 auto;font-size:1.7rem;line-height:1.15;filter:drop-shadow(0 2px 1px rgba(0,0,0,.16))}
@media(max-width:390px){
  .simos-mobile-arrival-report{padding:17px 16px 19px}
  .simos-mobile-arrival-report small{font-size:1.08rem;gap:8px}
  .simos-attendance-emoji{font-size:1.55rem}
}

/* v0.13.6-rc17 — role-colored mobile header + larger school branding + profile photo. */
.simos-mobile-topbar{
  min-height:92px;
  padding:calc(10px + env(safe-area-inset-top)) 15px 10px;
  border-bottom:0;
  color:#fff;
  box-shadow:0 8px 24px rgba(11,39,72,.18);
  backdrop-filter:none;
}
.simos-mobile-topbar.is-role-student{background:linear-gradient(135deg,#0f5fa8,#1d7ed0)}
.simos-mobile-topbar.is-role-teacher{background:linear-gradient(135deg,#075f50,#0b8a70)}
.simos-mobile-topbar.is-role-homeroom{background:linear-gradient(135deg,#5b21b6,#7c3aed)}
.simos-mobile-topbar.is-role-parent{background:linear-gradient(135deg,#9a3412,#c2410c)}
.simos-mobile-topbar.is-role-principal{background:linear-gradient(135deg,#0b2748,#1d4e73)}
.simos-mobile-topbar.is-role-curriculum{background:linear-gradient(135deg,#854d0e,#b45309)}
.simos-mobile-topbar.is-role-operator{background:linear-gradient(135deg,#075985,#0284c7)}
.simos-mobile-topbar.is-role-admin{background:linear-gradient(135deg,#7f1d1d,#b91c1c)}
.simos-mobile-topbar.is-role-staff{background:linear-gradient(135deg,#334155,#64748b)}
.simos-mobile-brand{flex:1;gap:13px;color:#fff!important;min-width:0}
.simos-mobile-logo{
  width:62px!important;height:62px!important;flex:0 0 62px;
  object-fit:contain;background:rgba(255,255,255,.96);padding:3px;border-radius:15px;
  box-shadow:0 3px 10px rgba(0,0,0,.12)
}
.simos-mobile-brand span{min-width:0;justify-content:center}
.simos-mobile-brand strong{font-size:17px;line-height:1.18;color:#fff;font-weight:850;white-space:normal}
.simos-mobile-brand small{font-size:12px;line-height:1.25;color:rgba(255,255,255,.88);white-space:normal;overflow:visible;text-overflow:clip;max-width:none;margin-top:4px;font-weight:600}
.simos-mobile-icon-button{width:46px;height:46px;flex:0 0 46px;border-radius:14px;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.16);color:#fff;box-shadow:none}
.simos-mobile-icon-button .dashicons{font-size:24px;width:24px;height:24px}
.simos-mobile-avatar{overflow:hidden}
.simos-mobile-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.simos-mobile-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;padding:16px}
.simos-mobile-profile-card>span{min-width:0}
.simos-mobile-profile-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.simos-mobile-profile-upload,.simos-mobile-profile-actions button{min-height:36px;border-radius:10px;padding:8px 10px;border:1px solid #c8d7e3;background:#fff;color:var(--simos-mobile-navy);font:inherit;font-size:10px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.simos-mobile-profile-actions button{color:var(--simos-mobile-danger)}
.simos-mobile-profile-card.is-uploading{opacity:.68;pointer-events:none}
@media(max-width:390px){
  .simos-mobile-topbar{min-height:88px;padding-left:11px;padding-right:11px;gap:9px}
  .simos-mobile-brand{gap:10px}
  .simos-mobile-logo{width:56px!important;height:56px!important;flex-basis:56px}
  .simos-mobile-brand strong{font-size:15.5px}
  .simos-mobile-brand small{font-size:11px;margin-top:3px}
  .simos-mobile-icon-button{width:42px;height:42px;flex-basis:42px}
  .simos-mobile-profile-card{grid-template-columns:auto minmax(0,1fr)}
  .simos-mobile-profile-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .simos-mobile-profile-actions:has(> :only-child){grid-template-columns:1fr}
}


/* v0.13.7-rc18 — account profile block directly below header. */
.simos-mobile-account-profile{
  width:100%;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:17px;
  align-items:center;
  margin:0 0 16px;
  padding:18px 20px;
  border-radius:22px;
  color:#fff;
  box-shadow:0 13px 30px rgba(11,39,72,.16);
  overflow:hidden;
}
.simos-mobile-account-profile.is-role-student{background:linear-gradient(135deg,#0f5fa8,#1d7ed0)}
.simos-mobile-account-profile.is-role-teacher{background:linear-gradient(135deg,#075f50,#0b8a70)}
.simos-mobile-account-profile.is-role-homeroom{background:linear-gradient(135deg,#5b21b6,#7c3aed)}
.simos-mobile-account-profile.is-role-parent{background:linear-gradient(135deg,#9a3412,#c2410c)}
.simos-mobile-account-profile.is-role-principal{background:linear-gradient(135deg,#0b2748,#1d4e73)}
.simos-mobile-account-profile.is-role-curriculum{background:linear-gradient(135deg,#854d0e,#b45309)}
.simos-mobile-account-profile.is-role-operator{background:linear-gradient(135deg,#075985,#0284c7)}
.simos-mobile-account-profile.is-role-admin{background:linear-gradient(135deg,#7f1d1d,#b91c1c)}
.simos-mobile-account-profile.is-role-staff{background:linear-gradient(135deg,#334155,#64748b)}
.simos-mobile-profile-photo{
  width:78px;height:78px;min-width:78px;
  border-radius:50%;
  display:grid;place-items:center;
  overflow:hidden;
  text-decoration:none!important;
  background:#fff;
  color:#173d5d!important;
  border:4px solid rgba(255,255,255,.48);
  box-shadow:0 5px 16px rgba(0,0,0,.18);
  font-size:29px;font-weight:900;
}
.simos-mobile-profile-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.simos-mobile-account-profile-copy{min-width:0;display:grid;grid-template-rows:auto auto auto;gap:5px;color:#fff}
.simos-mobile-account-profile-copy strong,
.simos-mobile-account-profile-copy span,
.simos-mobile-account-profile-copy time{display:block;color:#fff;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.simos-mobile-account-profile-copy strong{font-size:clamp(22px,5.7vw,29px);line-height:1.08;font-weight:900;letter-spacing:-.015em}
.simos-mobile-account-profile-copy span{font-size:clamp(14px,3.6vw,17px);line-height:1.2;font-weight:800;color:rgba(255,255,255,.96)}
.simos-mobile-account-profile-copy time{font-size:clamp(11.5px,3vw,14px);line-height:1.25;font-weight:650;color:rgba(255,255,255,.88);font-variant-numeric:tabular-nums}
@media(max-width:390px){
  .simos-mobile-account-profile{grid-template-columns:70px minmax(0,1fr);gap:13px;padding:16px 15px;border-radius:20px}
  .simos-mobile-profile-photo{width:66px;height:66px;min-width:66px;border-width:3px;font-size:25px}
  .simos-mobile-account-profile-copy{gap:4px}
  .simos-mobile-account-profile-copy strong{font-size:21px}
  .simos-mobile-account-profile-copy span{font-size:13.5px}
  .simos-mobile-account-profile-copy time{font-size:11px}
}

/* v0.13.8-rc19: deterministic Home box order after attendance. */
.simos-mobile-home-order-card{margin-top:16px}
.simos-mobile-notification-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.simos-mobile-notification-summary>span{min-width:0;padding:14px 12px;border:1px solid var(--simos-mobile-line);border-radius:15px;background:#fff;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.simos-mobile-notification-summary b{font-size:1.4rem;line-height:1;color:var(--simos-mobile-navy)}
.simos-mobile-notification-summary small{font-size:.72rem;line-height:1.3;font-weight:750;color:var(--simos-mobile-muted);overflow-wrap:anywhere}
@media(max-width:390px){.simos-mobile-notification-summary{gap:7px}.simos-mobile-notification-summary>span{padding:12px 9px}.simos-mobile-notification-summary b{font-size:1.25rem}.simos-mobile-notification-summary small{font-size:.68rem}}


/* v0.13.18-rc29 — fixed mobile dashboard header; bottom nav already fixed */
.simos-mobile-root{padding-top:calc(68px + env(safe-area-inset-top));}
.simos-mobile-topbar{position:fixed!important;top:0!important;left:50%;transform:translateX(-50%);width:min(100%,720px);z-index:60;margin:0!important}
@media(min-width:721px){.simos-mobile-topbar{width:720px!important}}


/* v0.13.19-rc30 — restore native vertical scrolling with fixed mobile chrome */
html:has(body.simos-mobile-app-page),
body.simos-mobile-app-page{
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
body.simos-mobile-app-page{overscroll-behavior-y:auto!important}
.simos-mobile-root{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:100dvh!important;
  max-height:none!important;
  overflow:visible!important;
  padding-top:calc(104px + env(safe-area-inset-top))!important;
  padding-bottom:calc(88px + env(safe-area-inset-bottom))!important;
  touch-action:pan-y!important;
}
.simos-mobile-main{
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
.simos-mobile-topbar{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  z-index:90!important;
}
.simos-mobile-bottom{position:fixed!important;z-index:90!important}
@media(max-width:520px){
  .simos-mobile-root{padding-top:calc(100px + env(safe-area-inset-top))!important;padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
}


/* v0.13.20-rc31 — chat UI refinement and larger fonts */
.simos-mobile-chat-row{background:#fff;border:1px solid #d7e1ea;border-radius:18px;padding:15px 16px;display:flex;align-items:flex-start;gap:13px;box-shadow:0 8px 22px rgba(11,39,72,.05);transition:border-color .15s ease,box-shadow .15s ease,transform .08s ease}
.simos-mobile-chat-row.is-button:hover,.simos-mobile-chat-row.is-button:focus{border-color:#b5cad8;box-shadow:0 10px 24px rgba(11,39,72,.08)}
.simos-mobile-chat-row.is-button:active{transform:translateY(1px)}
.simos-mobile-chat-row.has-unread{border-color:#a9d6c9;background:#fbfffd;box-shadow:0 10px 24px rgba(24,122,86,.08)}
.simos-mobile-chat-avatar{width:50px;height:50px;flex:0 0 50px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--simos-mobile-navy),#245a84);color:#fff;font-size:17px;font-weight:900;box-shadow:0 4px 12px rgba(11,39,72,.18)}
.simos-mobile-chat-row>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.simos-mobile-chat-row strong{font-size:16px;line-height:1.28;color:var(--simos-mobile-text)}
.simos-mobile-chat-row small{font-size:12px;line-height:1.4;color:var(--simos-mobile-muted);margin-top:0}
.simos-mobile-chat-row em{font-size:13.5px;line-height:1.45;font-style:normal;color:#40586d;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden}
.simos-mobile-chat-row>b{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--simos-mobile-green);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900;align-self:center;box-shadow:0 4px 10px rgba(24,122,86,.18)}
.simos-mobile-chat-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--simos-mobile-line);border-radius:16px;padding:11px 13px;margin:14px 0 12px;box-shadow:0 4px 14px rgba(11,39,72,.04)}
.simos-mobile-chat-search input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;width:100%;min-height:36px;font:inherit;font-size:14px;color:var(--simos-mobile-text);padding:0!important}
.simos-mobile-chat-thread-page{min-height:calc(100dvh - 165px);display:flex;flex-direction:column}
.simos-mobile-chat-thread-head{display:flex;align-items:center;gap:11px;padding:0 0 12px;border-bottom:1px solid var(--simos-mobile-line)}
.simos-mobile-chat-thread-head strong{font-size:15.5px;line-height:1.25}.simos-mobile-chat-thread-head small{font-size:11.5px;line-height:1.35;color:var(--simos-mobile-muted)}
.simos-mobile-chat-messages{display:flex;flex:1;flex-direction:column;gap:10px;overflow:auto;padding:16px 2px 102px;max-height:calc(100dvh - 210px)}
.simos-mobile-chat-bubble{max-width:86%;padding:12px 14px;border-radius:18px;box-shadow:0 4px 12px rgba(11,39,72,.06)}
.simos-mobile-chat-bubble p{margin:0;font-size:14px;line-height:1.55}.simos-mobile-chat-bubble small{display:block;text-align:right;font-size:10px;line-height:1.35;margin-top:5px;opacity:.74}
.simos-mobile-chat-bubble.is-mine{align-self:flex-end;background:var(--simos-mobile-green);color:#fff;border-bottom-right-radius:6px}
.simos-mobile-chat-bubble.is-theirs{align-self:flex-start;background:#fff;border:1px solid var(--simos-mobile-line);border-bottom-left-radius:6px}
.simos-mobile-chat-compose{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:35;width:min(calc(100% - 24px),696px);display:grid;grid-template-columns:1fr 50px;gap:8px;padding:8px;background:rgba(244,247,251,.96);backdrop-filter:blur(12px);border:1px solid var(--simos-mobile-line);border-radius:18px;box-shadow:0 8px 20px rgba(11,39,72,.10)}
.simos-mobile-chat-compose textarea{resize:none;min-height:46px;max-height:112px;border:1px solid #cfdce7;border-radius:13px;padding:11px 12px;font:inherit;font-size:14px;line-height:1.45;background:#fff;color:var(--simos-mobile-text)}
.simos-mobile-chat-compose button{border:0;border-radius:13px;background:var(--simos-mobile-green);color:#fff;box-shadow:0 4px 10px rgba(24,122,86,.18)}
.simos-mobile-broadcast-reader{background:#fff;border:1px solid var(--simos-mobile-line);border-radius:18px;padding:18px;margin-bottom:12px;box-shadow:0 6px 16px rgba(11,39,72,.04)}
.simos-mobile-broadcast-reader p{font-size:14px;line-height:1.7;margin:0 0 12px}.simos-mobile-broadcast-reader small{font-size:11px;color:var(--simos-mobile-muted)}
@media (max-width:390px){.simos-mobile-chat-row{padding:14px 14px}.simos-mobile-chat-avatar{width:46px;height:46px;flex-basis:46px;font-size:16px}.simos-mobile-chat-row strong{font-size:15px}.simos-mobile-chat-row small{font-size:11.5px}.simos-mobile-chat-row em{font-size:13px}.simos-mobile-chat-bubble p{font-size:13.5px}.simos-mobile-chat-compose textarea{font-size:13.5px}}


/* v0.13.22-rc33 — mobile typography hierarchy + notification/chat polish */
.simos-mobile-page-head{padding:10px 4px 16px}.simos-mobile-page-head small,.simos-mobile-section-head small{font-size:11px;letter-spacing:.1em;line-height:1.35}.simos-mobile-page-head h1{font-size:34px;line-height:1.1;margin:6px 0 10px;letter-spacing:-.02em}.simos-mobile-page-head p{font-size:15px;line-height:1.6}.simos-mobile-section{margin-top:26px}.simos-mobile-section-head{margin:0 2px 12px}.simos-mobile-section-head h2{font-size:24px;line-height:1.2;margin:3px 0 0}.simos-mobile-section-head>a,.simos-mobile-section-head .simos-mobile-text-action{font-size:13px;font-weight:850;padding:6px 0}.simos-mobile-text-action.simos-mobile-notification-settings{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:12px;background:#fff;border:1px solid var(--simos-mobile-line);box-shadow:0 3px 10px rgba(11,39,72,.04)}
.simos-mobile-stats{gap:14px;margin-top:16px}.simos-mobile-stats.is-compact{margin:16px 0 24px}.simos-mobile-stat{min-height:116px;padding:18px 16px;border-radius:20px;justify-content:space-between;box-shadow:0 6px 18px rgba(11,39,72,.05)}.simos-mobile-stat strong{font-size:34px;line-height:1.02;margin:0 0 10px}.simos-mobile-stat span{font-size:14px;line-height:1.45;font-weight:800}
.simos-mobile-empty{padding:26px 20px;border-radius:18px;font-size:14px;line-height:1.55}.simos-mobile-notification-row{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;background:#fff;border:1px solid var(--simos-mobile-line);border-radius:18px;box-shadow:0 4px 14px rgba(11,39,72,.04)}.simos-mobile-notification-row+.simos-mobile-notification-row{margin-top:10px}.simos-mobile-notification-row>.dashicons{font-size:18px;width:18px;height:18px;margin-top:2px}.simos-mobile-notification-row strong{font-size:15px;line-height:1.4}.simos-mobile-notification-row small{font-size:13px;line-height:1.5;margin-top:4px}.simos-mobile-notification-row>b{font-size:16px;line-height:1;margin-left:auto;color:var(--simos-mobile-muted)}
.simos-mobile-reminder-card{padding:16px 16px 15px;border-radius:18px}.simos-mobile-reminder-card+.simos-mobile-reminder-card{margin-top:12px}.simos-mobile-reminder-card small{font-size:12px;line-height:1.45}.simos-mobile-reminder-card h3{font-size:17px;line-height:1.35;margin:6px 0 6px}.simos-mobile-reminder-card p{font-size:14px;line-height:1.65}.simos-mobile-reminder-card em{font-size:12px;line-height:1.45;margin-top:10px}.simos-mobile-reminder-card button{margin-top:12px;min-height:40px;padding:0 12px;font-size:12.5px;border-radius:11px}
.simos-mobile-chat-thread-head{gap:12px;padding-bottom:12px}.simos-mobile-chat-thread-head strong{font-size:18px;line-height:1.3}.simos-mobile-chat-thread-head small{font-size:13px;line-height:1.45}.simos-mobile-chat-messages{gap:10px;padding:18px 2px 108px;max-height:calc(100dvh - 210px)}.simos-mobile-chat-bubble{max-width:88%;padding:13px 15px;border-radius:18px}.simos-mobile-chat-bubble p{font-size:15px;line-height:1.6}.simos-mobile-chat-bubble small{font-size:11px;line-height:1.4;margin-top:6px}.simos-mobile-chat-compose{width:min(calc(100% - 24px),760px);grid-template-columns:1fr 54px;gap:10px;padding:10px;border-radius:19px;box-shadow:0 10px 24px rgba(11,39,72,.10)}.simos-mobile-chat-compose textarea{min-height:52px;max-height:120px;padding:13px 14px;font-size:15px;line-height:1.55;border-radius:14px}.simos-mobile-chat-compose button{border-radius:14px;font-size:18px}
.simos-mobile-info{margin-top:18px;padding:18px;border-radius:18px}.simos-mobile-info strong{font-size:14px}.simos-mobile-info p{font-size:13px;line-height:1.6;margin-top:6px}
@media (max-width:980px){.simos-mobile-page-head h1{font-size:32px}.simos-mobile-section-head h2{font-size:22px}.simos-mobile-stat strong{font-size:30px}.simos-mobile-stat span{font-size:13px}}
@media (max-width:680px){.simos-mobile-stats{grid-template-columns:1fr}.simos-mobile-page-head h1{font-size:30px}.simos-mobile-page-head p{font-size:14px}.simos-mobile-section-head h2{font-size:21px}.simos-mobile-stat{min-height:100px}.simos-mobile-stat strong{font-size:28px}.simos-mobile-stat span{font-size:12.5px}.simos-mobile-notification-row strong{font-size:14px}.simos-mobile-notification-row small{font-size:12px}.simos-mobile-reminder-card h3{font-size:16px}.simos-mobile-reminder-card p,.simos-mobile-chat-bubble p,.simos-mobile-chat-compose textarea{font-size:14px}}


/* v0.13.23-rc34 — notification wrap and WA-like mobile chat polish */
.simos-mobile-stats,.simos-mobile-stats.is-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.simos-mobile-stat{min-width:0;min-height:122px;padding:18px 16px 16px;overflow:hidden}.simos-mobile-stat strong{font-size:34px;line-height:1.02;margin:0 0 10px}.simos-mobile-stat span{display:block;width:100%;font-size:13.5px;line-height:1.45;font-weight:800;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.simos-mobile-notification-row{min-width:0;align-items:flex-start}.simos-mobile-notification-row>span:nth-child(2){min-width:0}.simos-mobile-notification-row strong,.simos-mobile-notification-row small,.simos-mobile-reminder-card h3,.simos-mobile-reminder-card p,.simos-mobile-empty,.simos-mobile-info p{overflow-wrap:anywhere;word-break:break-word}
.simos-mobile-chat-thread-head{padding-bottom:14px}.simos-mobile-chat-messages{padding:18px 4px 110px;gap:11px;background:#e5ddd5;background-image:radial-gradient(rgba(71,85,105,.06) 1px,transparent 1px);background-size:18px 18px;border-radius:18px}.simos-mobile-chat-bubble{max-width:88%;padding:13px 15px 12px;border-radius:18px;overflow:visible}.simos-mobile-chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.simos-mobile-chat-bubble.is-mine{background:#dcf8c6;color:#20352a;border:1px solid #cfe9bf;border-bottom-right-radius:5px}.simos-mobile-chat-bubble.is-theirs{background:#fff;color:#243746;border:1px solid var(--simos-mobile-line);border-bottom-left-radius:5px}.simos-mobile-chat-compose{background:rgba(240,242,245,.98);border-color:#dbe4ea}.simos-mobile-chat-compose textarea{background:#fff;border-color:#d1dce5}.simos-mobile-chat-compose button{background:#128c7e}
@media (max-width:680px){.simos-mobile-stats,.simos-mobile-stats.is-compact{grid-template-columns:1fr}.simos-mobile-stat{min-height:102px}.simos-mobile-stat strong{font-size:28px}.simos-mobile-stat span{font-size:12.5px}}


/* v0.13.24-rc35 — mobile chat cards closer to reference */
.simos-mobile-chat-messages{padding:16px 2px 112px!important;gap:14px!important;background:#eef2f5!important;background-image:none!important;border-radius:18px}
.simos-mobile-chat-bubble{display:flex;flex-direction:column;max-width:88%;padding:0!important;border-radius:14px!important;overflow:hidden;box-shadow:0 8px 18px rgba(18,40,60,.12)!important;border:1px solid rgba(23,54,76,.08)!important;background:#fff!important}
.simos-mobile-chat-bubble.is-mine{margin-left:auto!important}.simos-mobile-chat-bubble.is-theirs{margin-right:auto!important}
.simos-mobile-chat-bubble-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:#4d8f90;color:#fff}
.simos-mobile-chat-bubble.is-mine .simos-mobile-chat-bubble-head{background:#5d8f45}
.simos-mobile-chat-bubble-title{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:8px;background:rgba(0,0,0,.08);font-size:12.5px;font-weight:800;line-height:1.2;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.simos-mobile-chat-bubble-more{flex:0 0 auto;font-size:18px;line-height:1;opacity:.95}
.simos-mobile-chat-bubble-body{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:12px 13px 10px;background:#fff;min-width:0}
.simos-mobile-chat-bubble-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf2f7;color:#557085;font-size:12px;font-weight:800;border:1px solid #d7e2eb}
.simos-mobile-chat-bubble p{margin:0;padding-top:2px;font-size:14px!important;line-height:1.65!important;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.simos-mobile-chat-bubble small{display:block;padding:0 13px 12px!important;text-align:right;font-size:11px!important;line-height:1.35!important;color:#7a8c98;margin-top:0!important}


/* v0.13.26-rc37 — mobile chat layout closer to attached reference */
.simos-mobile-chat-messages{padding:18px 10px 112px!important;gap:16px!important;background:#eff3f7!important;background-image:none!important;border-radius:20px!important}.simos-mobile-chat-bubble{max-width:88%!important;display:flex;flex-direction:column;padding:0!important;border-radius:18px!important;overflow:hidden;background:#fff!important;box-shadow:0 10px 24px rgba(27,43,58,.12)!important;border:0!important}.simos-mobile-chat-bubble.is-mine{margin-left:auto!important}.simos-mobile-chat-bubble.is-theirs{margin-right:auto!important}.simos-mobile-chat-bubble-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px!important;background:linear-gradient(135deg,#2c95a5 0%,#237f98 100%)!important;color:#fff}.simos-mobile-chat-bubble.is-mine .simos-mobile-chat-bubble-head{background:linear-gradient(135deg,#6ca145 0%,#5b8f3d 100%)!important}.simos-mobile-chat-bubble-title{display:inline-flex;align-items:center;min-height:34px!important;padding:0 12px!important;border-radius:10px!important;background:rgba(0,0,0,.08)!important;font-size:13px!important;font-weight:800!important;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simos-mobile-chat-bubble-more{font-size:22px!important;line-height:1!important}.simos-mobile-chat-bubble-body{display:grid;grid-template-columns:40px minmax(0,1fr)!important;gap:12px!important;align-items:start;padding:15px 14px 12px!important;background:#fff}.simos-mobile-chat-bubble-avatar{width:32px!important;height:32px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#eef1f4!important;border:1px solid #d9e4ec!important;overflow:hidden;color:#52697b;font-size:13px;font-weight:800}.simos-mobile-chat-bubble-avatar img{width:100%;height:100%;object-fit:cover}.simos-mobile-chat-bubble-avatar span{display:grid;place-items:center;width:100%;height:100%}.simos-mobile-chat-bubble p{margin:0;padding-top:3px;font-size:14px!important;line-height:1.68!important;color:#19345a!important;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.simos-mobile-chat-bubble small{display:block;padding:0 14px 14px!important;text-align:right;font-size:11px!important;line-height:1.35!important;color:#788694!important;margin-top:0!important}.simos-mobile-chat-compose{padding:10px!important;border-radius:20px!important;background:#fff!important;border:1px solid #dde6ee!important;box-shadow:0 8px 22px rgba(27,43,58,.10)!important}.simos-mobile-chat-compose textarea{min-height:52px!important;padding:13px 15px!important;border-radius:16px!important;background:#f8fbfc!important;border:1px solid #d7e2eb!important;font-size:14px!important;line-height:1.6!important}.simos-mobile-chat-compose button{border-radius:16px!important;background:#237f98!important}@media (max-width:520px){.simos-mobile-chat-messages{padding:16px 6px 110px!important}.simos-mobile-chat-bubble{max-width:92%!important}.simos-mobile-chat-bubble-body{grid-template-columns:34px minmax(0,1fr)!important;gap:10px!important;padding:13px 12px 10px!important}.simos-mobile-chat-bubble-title{font-size:12.5px!important}}


/* v0.13.28-rc39 — unique asset chat renderer */
body.simos-mobile-app-page .simos-mobile-chat-thread-page{min-height:calc(100svh - 146px);display:flex;flex-direction:column}
body.simos-mobile-app-page .simos-mobile-chat-thread-head{display:flex;align-items:center;gap:12px;padding:10px 4px 16px;border-bottom:1px solid #d9e3ec;background:#f4f7fb}
body.simos-mobile-app-page .simos-mobile-chat-thread-head .simos-mobile-chat-avatar{width:52px;height:52px;flex:0 0 52px;font-size:18px;box-shadow:0 5px 14px rgba(22,49,77,.12)}
body.simos-mobile-app-page .simos-mobile-chat-thread-head strong{font-size:21px;line-height:1.25;color:#102f53;font-weight:750}
body.simos-mobile-app-page .simos-mobile-chat-thread-head small{font-size:13px;line-height:1.45;color:#76899b;margin-top:2px}
body.simos-mobile-app-page .simos-mobile-chat-messages{display:flex!important;flex:1!important;flex-direction:column!important;gap:18px!important;overflow:auto!important;padding:20px 10px 124px!important;background:#f0f4f8!important;background-image:none!important;border-radius:20px!important;max-height:none!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble{display:flex!important;flex-direction:column!important;width:min(62%,520px)!important;max-width:min(62%,520px)!important;min-width:220px!important;padding:0!important;margin:0!important;border:0!important;border-radius:17px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 10px 25px rgba(28,48,68,.13)!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble.is-theirs{align-self:flex-start!important;margin-right:auto!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble.is-mine{align-self:flex-end!important;margin-left:auto!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:54px!important;padding:9px 14px!important;background:linear-gradient(135deg,#2e949c 0%,#27848e 100%)!important;color:#fff!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble.is-mine .simos-mobile-chat-bubble-head{background:linear-gradient(135deg,#63984d 0%,#598d43 100%)!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble-title{display:inline-flex!important;align-items:center!important;min-height:34px!important;max-width:calc(100% - 34px)!important;padding:0 13px!important;border-radius:10px!important;background:rgba(0,0,0,.08)!important;color:#fff!important;font-size:14px!important;font-weight:750!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble-more{flex:0 0 auto!important;color:#fff!important;font-size:24px!important;font-weight:700!important;line-height:1!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble-body{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;gap:15px!important;align-items:start!important;min-width:0!important;padding:17px 18px 10px!important;background:#fff!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble-avatar{width:38px!important;height:38px!important;border-radius:50%!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:#edf2f7!important;border:2px solid #fff!important;box-shadow:0 2px 7px rgba(22,49,77,.12)!important;color:#5e7184!important;font-size:14px!important;font-weight:800!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble-avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble-avatar span{display:grid!important;width:100%!important;height:100%!important;place-items:center!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble p{min-width:0!important;margin:0!important;padding:4px 0 0!important;color:#102f53!important;font-size:16px!important;font-weight:450!important;line-height:1.62!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:break-word!important}
body.simos-mobile-app-page .simos-mobile-chat-bubble small{display:block!important;margin:0!important;padding:0 18px 13px!important;color:#74869a!important;font-size:11.5px!important;line-height:1.35!important;text-align:right!important;background:#fff!important}
body.simos-mobile-app-page .simos-mobile-chat-compose{position:fixed!important;left:50%!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;z-index:40!important;width:min(calc(100% - 28px),820px)!important;display:grid!important;grid-template-columns:minmax(0,1fr) 58px!important;gap:10px!important;padding:10px!important;background:rgba(255,255,255,.97)!important;border:1px solid #d7e2ec!important;border-radius:20px!important;box-shadow:0 10px 28px rgba(22,49,77,.12)!important;backdrop-filter:blur(12px)}
body.simos-mobile-app-page .simos-mobile-chat-compose textarea{min-height:54px!important;max-height:126px!important;padding:14px 16px!important;border:1px solid #d7e2ec!important;border-radius:16px!important;background:#f9fbfd!important;color:#102f53!important;font-size:15px!important;line-height:1.55!important;resize:none!important}
body.simos-mobile-app-page .simos-mobile-chat-compose button{width:58px!important;height:58px!important;border:0!important;border-radius:16px!important;background:#27879b!important;color:#fff!important;display:grid!important;place-items:center!important;box-shadow:0 5px 13px rgba(39,135,155,.24)!important}
body.simos-mobile-app-page .simos-mobile-chat-compose button .dashicons{font-size:24px!important;width:24px!important;height:24px!important}
@media(max-width:720px){body.simos-mobile-app-page .simos-mobile-chat-messages{padding:16px 6px 122px!important;gap:14px!important}body.simos-mobile-app-page .simos-mobile-chat-bubble{width:88%!important;max-width:88%!important;min-width:0!important}body.simos-mobile-app-page .simos-mobile-chat-bubble-body{grid-template-columns:38px minmax(0,1fr)!important;gap:11px!important;padding:14px 13px 9px!important}body.simos-mobile-app-page .simos-mobile-chat-bubble-avatar{width:32px!important;height:32px!important}body.simos-mobile-app-page .simos-mobile-chat-bubble p{font-size:14px!important}body.simos-mobile-app-page .simos-mobile-chat-bubble-title{font-size:13px!important;min-height:32px!important}body.simos-mobile-app-page .simos-mobile-chat-compose{width:calc(100% - 20px)!important;grid-template-columns:minmax(0,1fr) 54px!important;bottom:calc(72px + env(safe-area-inset-bottom))!important}body.simos-mobile-app-page .simos-mobile-chat-compose button{width:54px!important;height:54px!important}}


/* v0.13.29-rc40 — Chat V2 unique renderer: no legacy bubble classes */
.simos-mchat-page{min-height:calc(100svh - 150px)!important;display:flex!important;flex-direction:column!important}
.simos-mchat-stream{display:flex!important;flex:1!important;flex-direction:column!important;gap:18px!important;overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;max-height:none!important;padding:20px 10px 124px!important;background:#f2f5f9!important;border-radius:20px!important}
.simos-mchat-card{display:flex!important;flex-direction:column!important;width:min(62%,520px)!important;max-width:min(62%,520px)!important;min-width:230px!important;margin:0!important;padding:0!important;border:0!important;border-radius:17px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 10px 25px rgba(28,48,68,.13)!important;box-sizing:border-box!important}
.simos-mchat-card.is-theirs{align-self:flex-start!important}.simos-mchat-card.is-mine{align-self:flex-end!important}
.simos-mchat-card-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:54px!important;padding:9px 14px!important;background:linear-gradient(135deg,#2e949c,#27848e)!important;color:#fff!important;box-sizing:border-box!important}
.simos-mchat-card.is-mine .simos-mchat-card-head{background:linear-gradient(135deg,#63984d,#598d43)!important}
.simos-mchat-card-head strong{display:inline-flex!important;align-items:center!important;min-height:34px!important;max-width:calc(100% - 34px)!important;padding:0 13px!important;border-radius:10px!important;background:rgba(0,0,0,.08)!important;color:#fff!important;font-size:14px!important;font-weight:750!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-sizing:border-box!important}
.simos-mchat-card-head>span{flex:0 0 auto!important;font-size:24px!important;line-height:1!important;color:#fff!important;font-weight:700!important}
.simos-mchat-card-content{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;gap:15px!important;align-items:start!important;min-width:0!important;padding:17px 18px 10px!important;background:#fff!important;box-sizing:border-box!important}
.simos-mchat-avatar{width:38px!important;height:38px!important;border-radius:50%!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:#edf2f7!important;border:1px solid #d8e2eb!important;color:#5e7184!important;font-size:14px!important;font-weight:800!important;box-sizing:border-box!important}
.simos-mchat-avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}.simos-mchat-avatar span{display:grid!important;place-items:center!important;width:100%!important;height:100%!important}
.simos-mchat-text{min-width:0!important;padding:4px 0 0!important;color:#102f53!important;font-size:16px!important;font-weight:450!important;line-height:1.62!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.simos-mchat-time{display:block!important;margin:0!important;padding:0 18px 13px!important;background:#fff!important;color:#74869a!important;font-size:11.5px!important;font-weight:400!important;line-height:1.35!important;text-align:right!important;box-sizing:border-box!important}
.simos-mchat-compose{position:fixed!important;left:50%!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;z-index:45!important;width:min(calc(100% - 28px),820px)!important;display:grid!important;grid-template-columns:minmax(0,1fr) 58px!important;gap:10px!important;padding:10px!important;background:rgba(255,255,255,.98)!important;border:1px solid #d7e2ec!important;border-radius:20px!important;box-shadow:0 10px 28px rgba(22,49,77,.12)!important;box-sizing:border-box!important}
.simos-mchat-compose textarea{min-width:0!important;min-height:54px!important;max-height:126px!important;margin:0!important;padding:14px 16px!important;border:1px solid #d7e2ec!important;border-radius:16px!important;background:#f9fbfd!important;color:#102f53!important;font-size:15px!important;line-height:1.55!important;resize:none!important;box-sizing:border-box!important}
.simos-mchat-compose button{width:58px!important;height:58px!important;margin:0!important;padding:0!important;border:0!important;border-radius:16px!important;background:#27879b!important;color:#fff!important;display:grid!important;place-items:center!important;box-shadow:0 5px 13px rgba(39,135,155,.24)!important}
@media(max-width:720px){.simos-mchat-stream{gap:14px!important;padding:16px 6px 122px!important}.simos-mchat-card{width:88%!important;max-width:88%!important;min-width:0!important}.simos-mchat-card-content{grid-template-columns:38px minmax(0,1fr)!important;gap:11px!important;padding:14px 13px 9px!important}.simos-mchat-avatar{width:32px!important;height:32px!important}.simos-mchat-text{font-size:14px!important}.simos-mchat-card-head strong{font-size:13px!important;min-height:32px!important}.simos-mchat-compose{width:calc(100% - 20px)!important;grid-template-columns:minmax(0,1fr) 54px!important;bottom:calc(72px + env(safe-area-inset-bottom))!important}.simos-mchat-compose button{width:54px!important;height:54px!important}}


/* v0.13.30-rc41 — chat alignment + external links */
.simos-mchat-card.is-theirs{align-self:flex-start!important;margin-left:0!important;margin-right:auto!important}
.simos-mchat-card.is-mine{align-self:flex-end!important;margin-left:auto!important;margin-right:0!important}
.simos-mchat-text .simos-chat-external-link,.simos-mobile-broadcast-reader .simos-chat-external-link{color:#0866c6!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:2px!important;font-weight:700!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.simos-mchat-card.is-mine .simos-mchat-text .simos-chat-external-link{color:#075fbb!important}
\n\n/* v0.13.31-rc42 — 70% chat cards + header timestamp */\n.simos-mchat-card{width:70%!important;max-width:70%!important;min-width:0!important}\n.simos-mchat-card.is-theirs{align-self:flex-start!important;margin-left:0!important;margin-right:auto!important}\n.simos-mchat-card.is-mine{align-self:flex-end!important;margin-left:auto!important;margin-right:0!important}\n.simos-mchat-card-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important}\n.simos-mchat-card-head strong{max-width:100%!important;min-width:0!important}\n.simos-mchat-card-head time{display:block!important;color:#fff!important;font-size:10.5px!important;font-weight:650!important;line-height:1.2!important;white-space:nowrap!important;opacity:.96!important}\n.simos-mchat-time{display:none!important}\n@media(max-width:720px){.simos-mchat-card{width:70%!important;max-width:70%!important;min-width:0!important}.simos-mchat-card-head{gap:9px!important}.simos-mchat-card-head time{font-size:9.5px!important}}\n

/* v0.13.32-rc43 — authoritative 70% width + compact mobile message header */
.simos-mchat-card{width:70%!important;max-width:70%!important;min-width:0!important;flex:0 0 auto!important;box-sizing:border-box!important}
.simos-mchat-card.is-theirs{align-self:flex-start!important;margin-left:0!important;margin-right:auto!important}
.simos-mchat-card.is-mine{align-self:flex-end!important;margin-left:auto!important;margin-right:0!important}
.simos-mchat-card-head{
  min-height:36px!important;
  padding:4px 8px!important;
  gap:6px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
}
.simos-mchat-card-head strong{
  min-height:24px!important;
  padding:0 8px!important;
  border-radius:7px!important;
  font-size:11px!important;
  line-height:1.1!important;
}
.simos-mchat-card-head time{
  font-size:8px!important;
  font-weight:600!important;
  line-height:1!important;
  color:#fff!important;
  opacity:.9!important;
}
@media(max-width:720px){
  .simos-mchat-card{width:70%!important;max-width:70%!important;min-width:0!important}
  .simos-mchat-card-head{min-height:34px!important;padding:4px 7px!important;gap:5px!important}
  .simos-mchat-card-head strong{min-height:22px!important;padding:0 7px!important;font-size:10.5px!important}
  .simos-mchat-card-head time{font-size:7.5px!important}
}


/* v0.13.34-rc45 — exact 70vw chat cards + compact equal header typography */
body.simos-mobile-app-page .simos-mchat-stream{
  align-items:stretch!important;
}
body.simos-mobile-app-page .simos-mchat-card{
  width:70vw!important;
  max-width:calc(100% - 12px)!important;
  min-width:0!important;
  flex:0 0 70vw!important;
  box-sizing:border-box!important;
}
body.simos-mobile-app-page .simos-mchat-card.is-theirs{
  align-self:flex-start!important;
  margin-left:0!important;
  margin-right:auto!important;
}
body.simos-mobile-app-page .simos-mchat-card.is-mine{
  align-self:flex-end!important;
  margin-left:auto!important;
  margin-right:0!important;
}
body.simos-mobile-app-page .simos-mchat-card-head{
  min-height:32px!important;
  padding:4px 7px!important;
  gap:5px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
}
body.simos-mobile-app-page .simos-mchat-card-head strong,
body.simos-mobile-app-page .simos-mchat-card-head time{
  font-size:10px!important;
  line-height:1.15!important;
  color:#fff!important;
  font-weight:700!important;
}
body.simos-mobile-app-page .simos-mchat-card-head strong{
  min-height:22px!important;
  padding:0 7px!important;
  border-radius:7px!important;
}
body.simos-mobile-app-page .simos-mchat-card-head time{
  white-space:nowrap!important;
  opacity:.96!important;
}
@media(max-width:720px){
  body.simos-mobile-app-page .simos-mchat-card{
    width:70vw!important;
    max-width:calc(100% - 12px)!important;
    flex-basis:70vw!important;
  }
}


/* v0.13.35-rc46 — message height follows text content */
body.simos-mobile-app-page .simos-mchat-card{
  width:70vw!important;
  max-width:calc(100% - 12px)!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  flex:0 0 auto!important;
}
body.simos-mobile-app-page .simos-mchat-card-head{
  min-height:27px!important;
  padding:3px 6px!important;
  gap:5px!important;
}
body.simos-mobile-app-page .simos-mchat-card-head strong,
body.simos-mobile-app-page .simos-mchat-card-head time{
  font-size:9.5px!important;
  line-height:1.1!important;
}
body.simos-mobile-app-page .simos-mchat-card-head strong{
  min-height:19px!important;
  padding:0 6px!important;
}
body.simos-mobile-app-page .simos-mchat-card-content{
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:9px!important;
  padding:8px 10px 9px!important;
  min-height:0!important;
  height:auto!important;
  align-items:center!important;
}
body.simos-mobile-app-page .simos-mchat-avatar{
  width:26px!important;
  height:26px!important;
}
body.simos-mobile-app-page .simos-mchat-text{
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  height:auto!important;
  font-size:13.5px!important;
  line-height:1.4!important;
}
@media(max-width:720px){
  body.simos-mobile-app-page .simos-mchat-card{
    width:70vw!important;
    max-width:calc(100% - 12px)!important;
    flex:0 0 auto!important;
  }
}

/* v0.13.36-rc47 — Pilot Fase 1 Operations */
.simos-mobile-pilot{border:1px solid rgba(11,74,162,.14)}.simos-mobile-pilot .simos-mobile-section-head small{display:inline-flex;padding:3px 7px;border-radius:999px;background:#0b4aa2;color:#fff;font-weight:800;letter-spacing:.05em}.simos-mobile-pilot-note{margin:8px 0;color:#687386;font-size:12px}.simos-mobile-pilot-todo{display:grid;gap:6px}.simos-mobile-pilot-todo>div{display:flex;align-items:flex-start;gap:8px;padding:9px;border-radius:10px;background:#f5f7fa}.simos-mobile-pilot-todo>div.is-done{background:#edf8f2}.simos-mobile-pilot-todo b{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#fff}.simos-mobile-pilot-todo .is-done b{background:#176b43;color:#fff}.simos-mobile-pilot-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.simos-mobile-pilot-kpi{padding:9px;border-radius:10px;background:#f5f7fa}.simos-mobile-pilot-kpi small,.simos-mobile-pilot-kpi strong,.simos-mobile-pilot-kpi b{display:block}.simos-mobile-pilot-kpi strong{font-size:17px;margin-top:4px}.simos-mobile-pilot-kpi.is-ok b{color:#176b43}.simos-mobile-pilot-kpi.is-warning b{color:#9b6500}.simos-mobile-pilot-kpi.is-danger b{color:#b42318}.simos-mobile-info.is-holiday,.simos-mobile-arrival-card.is-holiday{background:#f6f7f9;border-color:#d8dde5}.simos-mobile-school-days{padding:11px;border:1px solid #dde4ed;border-radius:11px;background:#f8fafc;margin-bottom:10px}.simos-mobile-school-days>small{font-weight:800}.simos-mobile-school-days>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0}.simos-mobile-school-days label{display:flex!important;align-items:center;gap:5px;padding:7px!important;border:1px solid #dce3ec;border-radius:8px;background:#fff}.simos-mobile-school-days input{width:auto!important}.simos-mobile-school-days p{font-size:11px;margin:0;color:#687386}


/* v0.13.37-rc48 — OSM attendance map + statistics/broadcast safe padding */
.simos-mobile-stat{box-sizing:border-box!important;min-height:124px!important;padding:22px 20px!important;justify-content:space-between!important;align-items:flex-start!important;overflow:visible!important}.simos-mobile-stat strong{margin:0 0 14px!important;padding:1px 0!important}.simos-mobile-stat span{padding:0 1px 2px!important;line-height:1.45!important}
.simos-mobile-notification-summary>span,.simos-mobile-daily-recap-grid>span,.simos-mobile-pilot-kpi{box-sizing:border-box!important;padding:14px!important}
.simos-mobile-broadcast-reader{box-sizing:border-box!important;padding:22px 22px 20px!important}.simos-mobile-broadcast-reader p{padding:2px 1px!important;margin:0 0 14px!important}
.simos-mobile-attendance-map{width:100%;margin:4px 0 2px;border:1px solid #d8e3ec;border-radius:16px;overflow:hidden;background:#f4f7fa;box-shadow:0 5px 16px rgba(11,39,72,.05);text-align:left}.simos-mobile-attendance-map iframe{display:block;width:100%;height:230px;border:0;background:#edf2f5}.simos-mobile-attendance-map-placeholder{min-height:170px;display:grid;place-items:center;align-content:center;gap:5px;padding:20px;text-align:center;color:var(--simos-mobile-muted)}.simos-mobile-attendance-map-placeholder .dashicons{font-size:28px;width:28px;height:28px;color:var(--simos-mobile-green)}.simos-mobile-attendance-map-placeholder strong{font-size:13px;color:var(--simos-mobile-navy)}.simos-mobile-attendance-map-placeholder small{font-size:11px}.simos-mobile-attendance-map-meta{display:grid;gap:3px;padding:10px 12px;background:#fff;border-top:1px solid #e1e8ee;color:var(--simos-mobile-muted);font-size:10.5px}.simos-mobile-attendance-map-meta span{font-weight:750;color:#526477}.simos-mobile-arrival-card.is-holiday p,.simos-mobile-info.is-holiday p{font-weight:800;line-height:1.55}
@media(max-width:390px){.simos-mobile-stat{min-height:112px!important;padding:18px 16px!important}.simos-mobile-attendance-map iframe{height:205px}.simos-mobile-broadcast-reader{padding:20px 17px 18px!important}}

/* v0.13.39-rc50 — recorded attendance map in post-check-in reports */
.simos-mobile-recorded-attendance-map{width:100%;margin:8px 0 16px;border:1px solid #d8e3ec;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 16px rgba(11,39,72,.05)}
.simos-mobile-recorded-attendance-map iframe{display:block;width:100%;height:220px;border:0;background:#edf2f5}
.simos-mobile-recorded-attendance-map>div{display:grid;gap:2px;padding:11px 13px;background:#fff}
.simos-mobile-recorded-attendance-map strong{font-size:.76rem;color:var(--simos-mobile-navy)}
.simos-mobile-recorded-attendance-map small{font-size:.68rem;line-height:1.35;color:var(--simos-mobile-muted)}
.simos-mobile-recorded-attendance-map em{font-style:normal;font-size:.61rem;color:var(--simos-mobile-muted)}
.simos-mobile-parent-school-attendance{display:block!important;padding:14px 15px!important}
.simos-mobile-parent-school-attendance-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.simos-mobile-parent-school-attendance-head>span{display:grid;gap:3px;min-width:0}
.simos-mobile-parent-school-attendance-head small{font-size:.66rem;font-weight:900;letter-spacing:.045em;color:var(--simos-mobile-muted)}
.simos-mobile-parent-school-attendance-head strong{font-size:.94rem;color:var(--simos-mobile-navy)}
.simos-mobile-parent-school-attendance-head em{font-style:normal;font-size:.72rem;line-height:1.35;color:var(--simos-mobile-muted)}
.simos-mobile-parent-school-attendance-head>b{flex:0 0 auto;font-size:.7rem;padding:6px 9px;border-radius:999px;background:#edf1f4;color:#51606e}
.simos-mobile-parent-school-attendance .simos-mobile-recorded-attendance-map{margin:12px 0 0;box-shadow:none}
@media(max-width:420px){.simos-mobile-parent-school-attendance-head{align-items:flex-start;flex-direction:column}.simos-mobile-recorded-attendance-map iframe{height:195px}}

/* v0.13.40-rc51 — explicit GPS activation + late geofence validation */
.simos-mobile-enable-location{appearance:none;border:0;border-radius:12px;background:#0b6b50;color:#fff;font-weight:850;font-size:12px;padding:11px 14px;min-height:44px;width:max-content;max-width:100%;cursor:pointer}.simos-mobile-enable-location[hidden]{display:none!important}.simos-mobile-enable-location:disabled{opacity:.6;cursor:wait}.simos-mobile-cutoff-list .simos-mobile-recorded-attendance-map{margin:8px 0 14px}.simos-mobile-cutoff-list .simos-mobile-recorded-attendance-map iframe{height:180px}


/* v0.13.41-rc52 — Parent daily attendance appreciation + WIB + all-role statistic spacing */
.simos-mobile-parent-attendance-appreciation{
  margin:14px 0 2px;
  padding:20px 18px;
  border-radius:16px;
  background:linear-gradient(135deg,#9a3412,#c2410c);
  color:#fff;
  font-size:clamp(18px,4.8vw,24px);
  line-height:1.38;
  font-weight:900;
  letter-spacing:-.012em;
  box-shadow:0 8px 20px rgba(154,52,18,.16);
}
.simos-mobile-stat{
  box-sizing:border-box!important;
  min-height:124px!important;
  padding:22px 20px 24px!important;
  overflow:visible!important;
}
.simos-mobile-stat strong{margin:0 0 14px!important;padding:0!important;max-width:100%;overflow-wrap:anywhere}
.simos-mobile-stat span{margin-top:auto!important;padding:2px 1px 1px!important;line-height:1.45!important;max-width:100%;overflow-wrap:anywhere}
.simos-mobile-attendance-stats>span,
.simos-mobile-pilot-kpis>.simos-mobile-pilot-kpi,
.simos-mobile-daily-recap-grid>span,
.simos-mobile-notification-summary>span,
.simos-mobile-child-kpi{
  box-sizing:border-box!important;
  padding:16px!important;
  min-width:0!important;
}
.simos-mobile-parent-progress{padding:18px 17px!important}
@media(max-width:390px){
  .simos-mobile-parent-attendance-appreciation{padding:18px 16px;font-size:18px;border-radius:14px}
  .simos-mobile-stat{min-height:112px!important;padding:19px 17px 21px!important}
  .simos-mobile-attendance-stats>span,.simos-mobile-pilot-kpis>.simos-mobile-pilot-kpi,.simos-mobile-daily-recap-grid>span,.simos-mobile-notification-summary>span,.simos-mobile-child-kpi{padding:14px!important}
}

/* v0.13.42-rc53 — Parent status-aware attendance + KBM excuse messages */
.simos-mobile-parent-attendance-message,
.simos-mobile-parent-kbm-excuse-message{
  margin:14px 0 2px;
  padding:20px 18px;
  border-radius:16px;
  color:#fff;
  font-size:clamp(18px,4.8vw,24px);
  line-height:1.38;
  font-weight:900;
  letter-spacing:-.012em;
  box-sizing:border-box;
}
.simos-mobile-parent-attendance-message.is-success{background:linear-gradient(135deg,#9a3412,#c2410c);box-shadow:0 8px 20px rgba(154,52,18,.16)}
.simos-mobile-parent-attendance-message.is-warning{background:linear-gradient(135deg,#a16207,#ca8a04);box-shadow:0 8px 20px rgba(161,98,7,.16)}
.simos-mobile-parent-attendance-message.is-danger{background:linear-gradient(135deg,#991b1b,#b91c1c);box-shadow:0 8px 20px rgba(153,27,27,.18)}
.simos-mobile-parent-attendance-message.is-neutral{background:linear-gradient(135deg,#9a3412,#c2410c)}
.simos-mobile-parent-kbm-excuse-message{background:linear-gradient(135deg,#7c2d12,#9a3412);box-shadow:0 8px 20px rgba(124,45,18,.17)}
@media(max-width:420px){.simos-mobile-parent-attendance-message,.simos-mobile-parent-kbm-excuse-message{padding:18px 16px;font-size:18px;border-radius:14px}}


/* v0.13.43-rc54 — Wali Kelas PWA live late-action dashboard + Trial cross-account attendance */
.simos-mobile-homeroom-action{margin-top:14px;padding:13px;border:1px solid #efc4c4;border-radius:16px;background:#fffafa;display:grid;gap:9px}
.simos-mobile-homeroom-action-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.simos-mobile-homeroom-action-head>span{display:grid;gap:2px;min-width:0}.simos-mobile-homeroom-action-head small{font-size:.65rem;font-weight:900;letter-spacing:.06em;color:#a22b2b}.simos-mobile-homeroom-action-head strong{font-size:.95rem;color:#102f4c}
.simos-mobile-homeroom-action-head>b{min-width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:#b91c1c;color:#fff;font-size:.85rem}
.simos-mobile-cutoff-empty{padding:11px 12px;border:1px dashed #d8e1e7;border-radius:12px;background:#fff;color:#6f8190;font-size:.74rem;line-height:1.45}
.simos-mobile-late-handled{margin-top:2px;border-top:1px solid #efd6d6;padding-top:9px}.simos-mobile-late-handled summary{cursor:pointer;font-size:.72rem;font-weight:850;color:#7b4a4a;padding:4px 0}.simos-mobile-late-handled>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #f2e6e6}.simos-mobile-late-handled strong{font-size:.76rem;color:#153b5d}.simos-mobile-late-handled small{font-size:.68rem;color:#7d6a6a;text-align:right}
@media(max-width:420px){.simos-mobile-homeroom-action{padding:12px 10px}.simos-mobile-late-handled>div{display:grid;gap:2px}.simos-mobile-late-handled small{text-align:left}}


/* v0.13.44-rc55 — second-pass mobile statistic/card spacing audit */
:is(
  .simos-mobile-stat,
  .simos-mobile-attendance-stats>span,
  .simos-mobile-pilot-kpi,
  .simos-mobile-daily-recap-grid>span,
  .simos-mobile-notification-summary>span,
  .simos-mobile-child-kpi,
  .simos-mobile-kbm-summary>div,
  .simos-mobile-path-summary>div
){
  box-sizing:border-box!important;
  padding:18px 16px!important;
  min-width:0!important;
}
.simos-mobile-stat{padding:22px 20px 24px!important;min-height:124px!important}
:is(.simos-mobile-stat,.simos-mobile-attendance-stats>span,.simos-mobile-pilot-kpi,.simos-mobile-daily-recap-grid>span,.simos-mobile-notification-summary>span,.simos-mobile-child-kpi,.simos-mobile-kbm-summary>div,.simos-mobile-path-summary>div) :is(strong,b,span,small){max-width:100%;overflow-wrap:anywhere}
.simos-mobile-daily-recap-grid>span,.simos-mobile-attendance-stats>span,.simos-mobile-path-summary>div{text-align:left!important}
@media(max-width:390px){
  :is(.simos-mobile-stat,.simos-mobile-attendance-stats>span,.simos-mobile-pilot-kpi,.simos-mobile-daily-recap-grid>span,.simos-mobile-notification-summary>span,.simos-mobile-child-kpi,.simos-mobile-kbm-summary>div,.simos-mobile-path-summary>div){padding:16px 14px!important}
  .simos-mobile-stat{padding:19px 17px 21px!important;min-height:112px!important}
}


/* v0.13.45-rc56 — Parent PWA vertical daily chronology */
.simos-mobile-parent-timeline{margin:14px 0;padding:16px 14px;border:1px solid #dbe6e9;border-radius:18px;background:#fff;box-sizing:border-box;min-width:0}
.simos-mobile-parent-timeline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.simos-mobile-parent-timeline-head>span{min-width:0}.simos-mobile-parent-timeline-head small{display:block;font-size:.64rem;font-weight:900;letter-spacing:.08em;color:#9a3412}.simos-mobile-parent-timeline-head h2{margin:3px 0 0;font-size:1.05rem;line-height:1.25;color:#102f4c;overflow-wrap:anywhere}.simos-mobile-parent-timeline-head>b{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#eef7f3;color:#14745d;font-size:.68rem}
.simos-mobile-parent-timeline-list{display:grid;gap:0}.simos-mobile-parent-timeline-list>article{position:relative;display:grid;grid-template-columns:22px 78px minmax(0,1fr);gap:9px;align-items:start;min-width:0;padding:8px 0 12px}.simos-mobile-parent-timeline-rail{position:relative;align-self:stretch;display:flex;justify-content:center}.simos-mobile-parent-timeline-rail:after{content:"";position:absolute;top:14px;bottom:-14px;width:2px;background:#dce6e9}.simos-mobile-parent-timeline-list>article:last-child .simos-mobile-parent-timeline-rail:after{display:none}.simos-mobile-parent-timeline-rail>i{position:relative;z-index:1;margin-top:4px;width:11px;height:11px;border-radius:50%;background:#9eacb5;border:3px solid #fff;box-shadow:0 0 0 1px #cbd7dc;box-sizing:content-box}.simos-mobile-parent-timeline-list time{padding-top:2px;font-size:.68rem;font-weight:850;line-height:1.35;color:#526979}.simos-mobile-parent-timeline-list>article>div{min-width:0}.simos-mobile-parent-timeline-list strong{display:block;font-size:.82rem;line-height:1.35;color:#123651}.simos-mobile-parent-timeline-list p{margin:2px 0 0;font-size:.72rem;line-height:1.45;color:#5d7180;overflow-wrap:anywhere}.simos-mobile-parent-timeline-list small{display:block;margin-top:3px;font-size:.67rem;line-height:1.4;color:#7b8b96;overflow-wrap:anywhere}.simos-mobile-parent-timeline-list em{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:999px;background:#f1f5f7;color:#637784;font-size:.59rem;font-style:normal;font-weight:800;letter-spacing:.03em}
.simos-mobile-parent-timeline-list>article.is-done .simos-mobile-parent-timeline-rail>i{background:#16836a;box-shadow:0 0 0 1px #16836a}.simos-mobile-parent-timeline-list>article.is-current .simos-mobile-parent-timeline-rail>i{background:#1677a8;box-shadow:0 0 0 1px #1677a8}.simos-mobile-parent-timeline-list>article.is-warning .simos-mobile-parent-timeline-rail>i{background:#d18a12;box-shadow:0 0 0 1px #d18a12}.simos-mobile-parent-timeline-list>article.is-danger .simos-mobile-parent-timeline-rail>i{background:#b93838;box-shadow:0 0 0 1px #b93838}.simos-mobile-parent-timeline-list>article.is-upcoming .simos-mobile-parent-timeline-rail>i{background:#fff;box-shadow:0 0 0 2px #8aa0ae}.simos-mobile-parent-timeline-note{margin:5px 0 0;padding:10px 11px;border-radius:11px;background:#f7fafb;color:#687c88;font-size:.67rem;line-height:1.45}
@media(max-width:390px){.simos-mobile-parent-timeline{padding:14px 12px}.simos-mobile-parent-timeline-list>article{grid-template-columns:20px 68px minmax(0,1fr);gap:7px}.simos-mobile-parent-timeline-list time{font-size:.64rem}.simos-mobile-parent-timeline-list strong{font-size:.78rem}.simos-mobile-parent-timeline-list p{font-size:.69rem}}

/* v0.13.46-rc57 — Parent timeline detail modal */
.simos-mobile-parent-timeline-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:6px}
.simos-mobile-parent-timeline-actions em{margin-top:0}
.simos-mobile-parent-timeline-actions button{appearance:none;border:1px solid #c7d8df;background:#fff;color:#145d7e;border-radius:999px;min-height:32px;padding:5px 11px;font:inherit;font-size:.67rem;font-weight:850;line-height:1;cursor:pointer;touch-action:manipulation}
.simos-mobile-parent-timeline-actions button:focus-visible{outline:3px solid rgba(20,93,126,.2);outline-offset:2px}
body.simos-mobile-modal-open{overflow:hidden}
.simos-mobile-timeline-modal{position:fixed;inset:0;z-index:100080;display:flex;align-items:flex-end;justify-content:center;padding:14px;background:rgba(9,27,42,.58);box-sizing:border-box}
.simos-mobile-timeline-dialog{width:min(100%,560px);max-height:88%;display:flex;flex-direction:column;background:#fff;border-radius:22px 22px 16px 16px;box-shadow:0 24px 70px rgba(3,24,38,.28);overflow:hidden;color:#17374d}
.simos-mobile-timeline-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 14px;border-bottom:1px solid #e5edf0;background:#f9fbfc}
.simos-mobile-timeline-dialog>header>span{min-width:0}
.simos-mobile-timeline-dialog>header small{display:block;color:#6c7e89;font-size:.69rem;font-weight:850;letter-spacing:.03em;line-height:1.35}
.simos-mobile-timeline-dialog>header h2{margin:4px 0 0;color:#123651;font-size:1.04rem;line-height:1.32;overflow-wrap:anywhere}
.simos-mobile-timeline-dialog-close{flex:0 0 42px;width:42px;height:42px;border:0;border-radius:50%;background:#eaf1f4;color:#274e65;font-size:1.55rem;line-height:1;cursor:pointer}
.simos-mobile-timeline-dialog-body{overflow:auto;padding:16px 18px 18px;overscroll-behavior:contain}
.simos-mobile-timeline-detail-lead{margin:0 0 13px;color:#4c6574;font-size:.79rem;line-height:1.55;overflow-wrap:anywhere}
.simos-mobile-timeline-detail-rows{display:grid;border:1px solid #e1eaee;border-radius:14px;overflow:hidden;background:#fff}
.simos-mobile-timeline-detail-row{display:grid;grid-template-columns:minmax(92px,.8fr) minmax(0,1.7fr);gap:12px;padding:11px 12px;border-bottom:1px solid #e9eff2;align-items:start}
.simos-mobile-timeline-detail-row:last-child{border-bottom:0}
.simos-mobile-timeline-detail-row small{color:#71838e;font-size:.67rem;font-weight:800;line-height:1.4}
.simos-mobile-timeline-detail-row strong{min-width:0;color:#173a52;font-size:.76rem;font-weight:750;line-height:1.48;overflow-wrap:anywhere;word-break:break-word}
.simos-mobile-timeline-detail-note{margin-top:13px;padding:11px 12px;border-radius:12px;background:#f3f7f8;color:#607581;font-size:.7rem;line-height:1.5}
.simos-mobile-timeline-dialog .simos-mobile-recorded-attendance-map{margin-top:14px}
.simos-mobile-timeline-dialog>footer{padding:12px 18px 16px;border-top:1px solid #e7eef1;background:#fff}
.simos-mobile-timeline-close-button{width:100%;min-height:44px}
@media(min-width:700px){.simos-mobile-timeline-modal{align-items:center}.simos-mobile-timeline-dialog{border-radius:20px;max-height:82%}}
@media(max-width:390px){.simos-mobile-timeline-modal{padding:8px}.simos-mobile-timeline-dialog>header{padding:16px 14px 12px}.simos-mobile-timeline-dialog-body{padding:14px}.simos-mobile-timeline-dialog>footer{padding:10px 14px 14px}.simos-mobile-timeline-detail-row{grid-template-columns:1fr;gap:3px;padding:10px 11px}.simos-mobile-parent-timeline-actions button{min-height:34px;padding-inline:12px}}


/* v0.13.47-rc58 — Parent today/tomorrow schedule monitor + global SIMOS Chat shortcut to homeroom teacher. */

.simos-mobile-parent-schedule{margin:14px 0;padding:16px 14px;border:1px solid #e3e8ed;border-radius:18px;background:#fff;box-sizing:border-box;min-width:0}
.simos-mobile-parent-schedule-days{display:grid;grid-template-columns:1fr;gap:12px;margin-top:10px}
.simos-mobile-parent-schedule-day{min-width:0;border:1px solid #dde6eb;border-radius:15px;background:#fbfcfd;overflow:hidden}
.simos-mobile-parent-schedule-day>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 13px;border-bottom:1px solid #e4eaee;background:#f6f9fa}
.simos-mobile-parent-schedule-day>header>span{min-width:0;display:flex;flex-direction:column;gap:2px}
.simos-mobile-parent-schedule-day>header small{font-size:.62rem;font-weight:900;letter-spacing:.06em;color:#9a3412;text-transform:uppercase}
.simos-mobile-parent-schedule-day>header strong{font-size:.78rem;line-height:1.35;color:#163851;overflow-wrap:anywhere}
.simos-mobile-parent-schedule-day>header>b{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#eef4f6;color:#526d7b;font-size:.62rem;line-height:1.2}
.simos-mobile-parent-schedule-day.is-holiday>header>b{background:#f3e8ff;color:#7e22ce}
.simos-mobile-parent-schedule-list{display:grid;gap:0}
.simos-mobile-parent-schedule-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:9px;align-items:start;min-width:0;padding:11px 13px;border-top:1px solid #edf1f3}
.simos-mobile-parent-schedule-row:first-child{border-top:0}
.simos-mobile-parent-schedule-row time{font-size:.66rem;font-weight:850;line-height:1.35;color:#536d7d}
.simos-mobile-parent-schedule-row>span{min-width:0;display:flex;flex-direction:column;gap:2px}
.simos-mobile-parent-schedule-row strong{font-size:.77rem;line-height:1.35;color:#143650;overflow-wrap:anywhere}
.simos-mobile-parent-schedule-row small{font-size:.65rem;line-height:1.4;color:#71838e;overflow-wrap:anywhere}
.simos-mobile-parent-schedule-row em{font-size:.64rem;line-height:1.4;color:#8a5a20;font-style:normal;overflow-wrap:anywhere}
.simos-mobile-parent-schedule-row>b{align-self:start;padding:4px 7px;border-radius:999px;background:#eef3f6;color:#607683;font-size:.58rem;line-height:1.25;white-space:nowrap}
.simos-mobile-parent-schedule-row>b.is-kbm_prepared{background:#e8f6ef;color:#157054}
.simos-mobile-parent-schedule-empty{padding:13px;color:#70828d;font-size:.69rem;line-height:1.45}
.simos-mobile-parent-schedule-note{margin:10px 0 0;padding:9px 10px;border-radius:10px;background:#f7fafb;color:#6a7d88;font-size:.65rem;line-height:1.45}
@media(min-width:560px){.simos-mobile-parent-schedule-days{grid-template-columns:repeat(2,minmax(0,1fr))}.simos-mobile-parent-schedule-row{grid-template-columns:72px minmax(0,1fr)}.simos-mobile-parent-schedule-row>b{grid-column:2;justify-self:start}}
@media(max-width:390px){.simos-mobile-parent-schedule{padding:14px 12px}.simos-mobile-parent-schedule-row{grid-template-columns:68px minmax(0,1fr);gap:7px;padding:10px 11px}.simos-mobile-parent-schedule-row>b{grid-column:2;justify-self:start}.simos-mobile-parent-schedule-row time{font-size:.62rem}.simos-mobile-parent-schedule-row strong{font-size:.73rem}}

/* v0.13.48-rc59 — Parent homeroom Chat shortcut moved into top header, left of Refresh. */
.simos-mobile-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.simos-mobile-homeroom-chat-button[hidden]{display:none!important}
.simos-mobile-homeroom-chat-button{position:relative}
.simos-mobile-homeroom-chat-button .dashicons{font-size:23px;width:23px;height:23px}
.simos-mobile-homeroom-chat-button:after{content:"";position:absolute;right:8px;top:8px;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(154,52,18,.55)}
.simos-mobile-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:390px){.simos-mobile-header-actions{gap:6px}.simos-mobile-homeroom-chat-button .dashicons{font-size:21px;width:21px;height:21px}}

/* v0.13.63-rc74 — compact rich-text toolbar for PWA chat */
.simos-mobile-rtf-toolbar{position:fixed;left:50%;bottom:calc(144px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:44;width:min(calc(100% - 44px),760px);display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #d7e2ec;border-radius:12px;background:rgba(255,255,255,.97);box-shadow:0 6px 18px rgba(22,49,77,.09);box-sizing:border-box}.simos-mobile-rtf-toolbar button{width:30px;height:30px;padding:0;border:1px solid #d6e1e9;border-radius:8px;background:#f8fafc;color:#23425b;font:700 12px/1 Arial,sans-serif}.simos-mobile-rich-message{font-size:14px;line-height:1.65;color:#19345a;overflow-wrap:anywhere}.simos-mobile-rich-message p{margin:0 0 8px}.simos-mobile-rich-message ul,.simos-mobile-rich-message ol{margin:6px 0;padding-left:20px}.simos-mobile-rich-message a{color:#176091;text-decoration:underline}@media(max-width:520px){.simos-mobile-rtf-toolbar{width:calc(100% - 36px);bottom:calc(138px + env(safe-area-inset-bottom))}}


/* v0.13.65-rc76 — unified mobile RTF composer + fixed 65vw bubbles */
.simos-mchat-card,body.simos-mobile-app-page .simos-mchat-card{width:65vw!important;max-width:65vw!important;min-width:0!important;flex:0 0 auto!important}.simos-mchat-card.is-theirs,body.simos-mobile-app-page .simos-mchat-card.is-theirs{align-self:flex-start!important;margin-left:0!important;margin-right:auto!important}.simos-mchat-card.is-mine,body.simos-mobile-app-page .simos-mchat-card.is-mine{align-self:flex-end!important;margin-left:auto!important;margin-right:0!important}.simos-mchat-composer{position:fixed!important;left:50%!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;z-index:45!important;width:min(calc(100% - 28px),820px)!important;display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:0!important;border:1px solid #d7e2ec!important;border-radius:20px!important;background:rgba(255,255,255,.99)!important;box-shadow:0 10px 28px rgba(22,49,77,.14)!important;overflow:hidden!important;box-sizing:border-box!important}.simos-mchat-composer .simos-mobile-rtf-toolbar{position:static!important;left:auto!important;bottom:auto!important;transform:none!important;z-index:auto!important;width:100%!important;min-height:42px!important;margin:0!important;padding:6px 10px!important;border:0!important;border-bottom:1px solid #e1e8ee!important;border-radius:0!important;background:#f7fafc!important;box-shadow:none!important}.simos-mchat-composer .simos-mchat-compose{position:static!important;left:auto!important;bottom:auto!important;transform:none!important;z-index:auto!important;width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) 58px!important;gap:10px!important;margin:0!important;padding:10px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}.simos-mchat-composer .simos-mchat-compose textarea{margin:0!important}.simos-mchat-stream{padding-bottom:158px!important}.simos-mobile-rich-message a,.simos-mchat-text a,.simos-mobile-broadcast-reader a{color:#075fbb!important;text-decoration:underline!important;text-underline-offset:2px!important;overflow-wrap:anywhere!important;word-break:break-word!important;cursor:pointer!important}
@media(max-width:720px){.simos-mchat-card,body.simos-mobile-app-page .simos-mchat-card{width:65vw!important;max-width:65vw!important}.simos-mchat-composer{width:calc(100% - 20px)!important;bottom:calc(72px + env(safe-area-inset-bottom))!important}.simos-mchat-composer .simos-mchat-compose{grid-template-columns:minmax(0,1fr) 54px!important}.simos-mchat-stream{padding-bottom:154px!important}}

/* v0.13.66-rc77 — PWA mirrors desktop WhatsApp-style bubble identity/actions */
body.simos-mobile-app-page .simos-mwa-row{display:flex!important;flex-direction:column!important;gap:5px!important;width:65%!important;max-width:65%!important;min-width:0!important;box-sizing:border-box!important}
body.simos-mobile-app-page .simos-mwa-row.is-theirs{align-self:flex-start!important;margin-left:0!important;margin-right:auto!important}
body.simos-mobile-app-page .simos-mwa-row.is-mine{align-self:flex-end!important;margin-left:auto!important;margin-right:0!important}
body.simos-mobile-app-page .simos-mwa-bubble{position:relative!important;display:block!important;min-width:0!important;padding:9px 10px 7px!important;border-radius:17px!important;box-sizing:border-box!important;box-shadow:0 2px 9px rgba(25,46,63,.09)!important}
body.simos-mobile-app-page .simos-mwa-row.is-theirs .simos-mwa-bubble{background:#fff!important;border-top-left-radius:5px!important}
body.simos-mobile-app-page .simos-mwa-row.is-mine .simos-mwa-bubble{background:#d9fdd3!important;border-top-right-radius:5px!important}
body.simos-mobile-app-page .simos-mwa-sender{display:flex!important;align-items:center!important;gap:7px!important;margin-bottom:6px!important;min-width:0!important}
body.simos-mobile-app-page .simos-mwa-avatar{display:grid!important;place-items:center!important;flex:0 0 24px!important;width:24px!important;height:24px!important;border-radius:50%!important;overflow:hidden!important;background:#e8eef3!important;color:#36556d!important;font-size:9px!important;font-weight:900!important;border:1px solid rgba(31,55,74,.08)!important}
body.simos-mobile-app-page .simos-mwa-avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
body.simos-mobile-app-page .simos-mwa-avatar span{display:grid!important;place-items:center!important;width:100%!important;height:100%!important}
body.simos-mobile-app-page .simos-mwa-sender strong{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#17334a!important;font-size:11.5px!important;font-weight:850!important;line-height:1.2!important}
body.simos-mobile-app-page .simos-mwa-row.is-mine .simos-mwa-sender strong{color:#1f4934!important}
body.simos-mobile-app-page .simos-mwa-message{min-width:0!important;color:#152b3d!important;font-size:13px!important;line-height:1.55!important;overflow-wrap:anywhere!important;word-break:break-word!important}
body.simos-mobile-app-page .simos-mwa-message p{margin:0 0 7px!important;padding:0!important;font-size:inherit!important;line-height:inherit!important}
body.simos-mobile-app-page .simos-mwa-message p:last-child{margin-bottom:0!important}
body.simos-mobile-app-page .simos-mwa-message a{color:#0866c6!important;text-decoration:underline!important;text-underline-offset:2px!important;overflow-wrap:anywhere!important;word-break:break-word!important}
body.simos-mobile-app-page .simos-mwa-meta{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;margin-top:5px!important;color:#697781!important;font-size:9.5px!important;line-height:1.2!important;white-space:nowrap!important}
body.simos-mobile-app-page .simos-mwa-meta span{font-style:italic!important}
body.simos-mobile-app-page .simos-mwa-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;padding:0 3px!important}
body.simos-mobile-app-page .simos-mwa-actions button{display:grid!important;place-items:center!important;width:29px!important;height:29px!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.92)!important;color:#4d6577!important;box-shadow:0 2px 7px rgba(20,39,55,.08)!important}
body.simos-mobile-app-page .simos-mwa-actions button:last-child{color:#a53d3d!important}
body.simos-mobile-app-page .simos-mwa-actions .dashicons{width:15px!important;height:15px!important;font-size:15px!important;line-height:15px!important}
@media(max-width:420px){body.simos-mobile-app-page .simos-mwa-row{width:65%!important;max-width:65%!important}body.simos-mobile-app-page .simos-mwa-message{font-size:12.5px!important}body.simos-mobile-app-page .simos-mwa-avatar{width:22px!important;height:22px!important;flex-basis:22px!important}}


/* v0.13.67-rc78 — visible PWA composer + 75% bubbles + in-bubble actions */
body.simos-mobile-app-page .simos-mwa-row{width:75%!important;max-width:75%!important}
body.simos-mobile-app-page .simos-mwa-bubble{padding:10px 11px 8px!important}
body.simos-mobile-app-page .simos-mwa-sender{padding-right:68px!important;margin-bottom:7px!important}
body.simos-mobile-app-page .simos-mwa-message{font-size:15px!important;line-height:1.6!important}
body.simos-mobile-app-page .simos-mwa-actions{position:absolute!important;top:7px!important;right:7px!important;z-index:4!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;padding:0!important}
body.simos-mobile-app-page .simos-mwa-actions button{width:28px!important;height:28px!important;background:rgba(255,255,255,.88)!important;box-shadow:0 2px 7px rgba(20,39,55,.10)!important}
body.simos-mobile-app-page .simos-mchat-composer{display:grid!important;grid-template-rows:auto auto!important;overflow:visible!important}
body.simos-mobile-app-page .simos-mchat-composer>.simos-mobile-rtf-toolbar{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;margin:0!important;display:flex!important;visibility:visible!important;opacity:1!important;box-sizing:border-box!important}
body.simos-mobile-app-page .simos-mchat-composer>.simos-mchat-compose,body.simos-mobile-app-page .simos-mchat-composer>form.simos-mobile-chat-compose{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;z-index:auto!important;width:100%!important;min-height:72px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 54px!important;gap:9px!important;margin:0!important;padding:9px!important;border:0!important;border-radius:0 0 18px 18px!important;background:#fff!important;box-shadow:none!important;visibility:visible!important;opacity:1!important;overflow:visible!important;box-sizing:border-box!important}
body.simos-mobile-app-page .simos-mchat-composer>.simos-mchat-compose textarea,body.simos-mobile-app-page .simos-mchat-composer>form.simos-mobile-chat-compose textarea{display:block!important;visibility:visible!important;opacity:1!important;position:static!important;width:100%!important;min-width:0!important;min-height:52px!important;max-height:120px!important;margin:0!important;padding:12px 13px!important;border:1px solid #cfdce7!important;border-radius:14px!important;background:#fff!important;color:#142f46!important;font-size:15px!important;line-height:1.5!important;resize:none!important;box-sizing:border-box!important}
body.simos-mobile-app-page .simos-mchat-composer>.simos-mchat-compose button,body.simos-mobile-app-page .simos-mchat-composer>form.simos-mobile-chat-compose button{position:static!important;width:54px!important;height:54px!important;align-self:end!important}
body.simos-mobile-app-page .simos-mchat-stream{padding-bottom:170px!important}
@media(max-width:420px){body.simos-mobile-app-page .simos-mwa-row{width:75%!important;max-width:75%!important}body.simos-mobile-app-page .simos-mwa-message{font-size:14.5px!important}body.simos-mobile-app-page .simos-mchat-composer{width:calc(100% - 16px)!important;bottom:calc(72px + env(safe-area-inset-bottom))!important}}

/* v0.13.68-rc79 — PWA transparent actions, stronger message text, previews, paper plane */
body.simos-mobile-app-page .simos-mwa-actions button{background:transparent!important;box-shadow:none!important}
body.simos-mobile-app-page .simos-mwa-actions button:hover,body.simos-mobile-app-page .simos-mwa-actions button:focus{background:rgba(28,65,90,.06)!important}
body.simos-mobile-app-page .simos-mwa-message{font-weight:600!important}
body.simos-mobile-app-page .simos-mwa-meta{white-space:normal!important;flex-wrap:wrap!important;row-gap:3px!important}
body.simos-mobile-app-page .simos-mobile-paper-plane{display:block!important;width:23px!important;height:23px!important;fill:currentColor!important}
body.simos-mobile-app-page .simos-mchat-link-previews{display:grid!important;gap:7px!important;margin-top:9px!important}
body.simos-mobile-app-page .simos-mchat-link-preview{overflow:hidden!important;border:1px solid rgba(31,65,91,.13)!important;border-radius:13px!important;background:rgba(255,255,255,.72)!important;box-shadow:0 3px 10px rgba(20,42,58,.05)!important}
body.simos-mobile-app-page .simos-mwa-row.is-mine .simos-mchat-link-preview{background:rgba(255,255,255,.60)!important}
body.simos-mobile-app-page .simos-mchat-link-image{display:block!important;width:100%!important;height:126px!important;object-fit:cover!important;background:#e8eef2!important}
body.simos-mobile-app-page .simos-mchat-link-main{display:grid!important;gap:3px!important;padding:9px 10px 7px!important;min-width:0!important}
body.simos-mobile-app-page .simos-mchat-link-main small{font-size:9px!important;line-height:1.2!important;color:#718492!important;text-transform:uppercase!important;letter-spacing:.04em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.simos-mobile-app-page .simos-mchat-link-main strong{font-size:11.5px!important;line-height:1.38!important;color:#17334a!important;overflow-wrap:anywhere!important}
body.simos-mobile-app-page .simos-mchat-link-main p{margin:0!important;font-size:10px!important;font-weight:500!important;line-height:1.45!important;color:#536879!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
body.simos-mobile-app-page .simos-mchat-link-placeholder{display:grid!important;gap:3px!important;padding:9px 10px!important;color:#647786!important}body.simos-mobile-app-page .simos-mchat-link-placeholder span{font-size:10.5px!important;font-weight:800!important}body.simos-mobile-app-page .simos-mchat-link-placeholder small{font-size:9px!important}
body.simos-mobile-app-page .simos-mchat-link-actions{display:flex!important;justify-content:flex-end!important;padding:0 9px 9px!important}
body.simos-mobile-app-page .simos-mchat-link-open{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:28px!important;padding:5px 8px!important;border:1px solid rgba(22,80,119,.18)!important;border-radius:8px!important;background:rgba(255,255,255,.78)!important;color:#155b8e!important;text-decoration:none!important;font-size:9.5px!important;font-weight:850!important}
@media(max-width:420px){body.simos-mobile-app-page .simos-mchat-link-image{height:110px!important}body.simos-mobile-app-page .simos-mwa-message{font-weight:650!important}}

/* v0.13.69-rc80 — consistent mobile card/container padding and spacing. */
body.simos-mobile-app-page{--simos-mobile-container-gap:14px;--simos-mobile-container-pad:14px}
body.simos-mobile-app-page :where(.simos-mobile-stat,.simos-mobile-quick,.simos-mobile-list-row,.simos-mobile-reminder,.simos-mobile-child,.simos-mobile-menu-card,.simos-mobile-info,.simos-mobile-empty,.simos-mobile-profile-card,.simos-mobile-kbm-card,.simos-mobile-course-card,.simos-mobile-task-card,.simos-mobile-feedback-card,.simos-mobile-reminder-card,.simos-mobile-broadcast-reader,.simos-mobile-daily-recap,.simos-mobile-arrival-card,.simos-mobile-att-testbox,.simos-mobile-pilot,.simos-mobile-session>div,.simos-mchat-card,.simos-mwa-bubble){box-sizing:border-box;min-width:0;overflow-wrap:anywhere}
body.simos-mobile-app-page :where(.simos-mobile-list,.simos-mobile-menu-list,.simos-mobile-kbm-list,.simos-mobile-course-list,.simos-mobile-task-list,.simos-mobile-feedback-list,.simos-mobile-news){gap:var(--simos-mobile-container-gap)!important}
body.simos-mobile-app-page .simos-mobile-section{margin-top:20px!important}
body.simos-mobile-app-page :where(.simos-mobile-list-row,.simos-mobile-reminder,.simos-mobile-child,.simos-mobile-menu-card){padding:14px!important}
body.simos-mobile-app-page :where(.simos-mobile-kbm-card,.simos-mobile-course-card,.simos-mobile-task-card,.simos-mobile-feedback-card,.simos-mobile-reminder-card,.simos-mobile-info,.simos-mobile-empty,.simos-mobile-broadcast-reader){padding:15px!important}
body.simos-mobile-app-page :where(.simos-mobile-info,.simos-mobile-empty,.simos-mobile-kbm-card,.simos-mobile-task-card,.simos-mobile-feedback-card,.simos-mobile-reminder-card,.simos-mobile-broadcast-reader) :where(p,small,strong,span,a){overflow-wrap:anywhere}
body.simos-mobile-app-page .simos-mobile-profile-card{padding:15px!important;margin-bottom:var(--simos-mobile-container-gap)!important}
body.simos-mobile-app-page .simos-mobile-info{margin-top:var(--simos-mobile-container-gap)!important}
body.simos-mobile-app-page .simos-mobile-reminder-card+.simos-mobile-reminder-card{margin-top:var(--simos-mobile-container-gap)!important}
@media(max-width:390px){body.simos-mobile-app-page{--simos-mobile-container-gap:12px;--simos-mobile-container-pad:12px}body.simos-mobile-app-page .simos-mobile-section{margin-top:18px!important}body.simos-mobile-app-page :where(.simos-mobile-list-row,.simos-mobile-reminder,.simos-mobile-child,.simos-mobile-menu-card,.simos-mobile-kbm-card,.simos-mobile-course-card,.simos-mobile-task-card,.simos-mobile-feedback-card,.simos-mobile-reminder-card,.simos-mobile-info,.simos-mobile-empty,.simos-mobile-broadcast-reader){padding:13px!important}}
body.simos-mobile-app-page .simos-mobile-bottom{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}

/* rc85: keep SLA/parent governance usable inside PWA viewport */
@media(max-width:760px){.simos-sla-governance,.simos-governance-block,.simos-parent-meeting-item{max-width:100%;min-width:0;box-sizing:border-box}.simos-governance-details textarea,.simos-governance-details input,.simos-governance-details select{max-width:100%;box-sizing:border-box}}
/* rc86: Parent Awareness full-portal cards/pop-up spacing when launched from PWA */
.simos-parent-awareness-modal,.simos-parent-awareness-modal *{box-sizing:border-box}

/* v0.13.76-rc87 — role-aware PWA Action Center + fast mobile commands. */
body.simos-mobile-app-page .simos-mobile-action-center,
body.simos-mobile-app-page .simos-mobile-quick-zone{box-sizing:border-box;min-width:0;margin-top:18px}
body.simos-mobile-app-page .simos-mobile-action-center{padding:15px;border:1px solid #dbe5ee;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(17,43,64,.06)}
body.simos-mobile-app-page .simos-mobile-action-center-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;min-width:0}
body.simos-mobile-app-page .simos-mobile-action-center-head>div{min-width:0}
body.simos-mobile-app-page .simos-mobile-action-center-head small{display:block;color:#6b7f90;font-size:10px;font-weight:850;letter-spacing:.08em}
body.simos-mobile-app-page .simos-mobile-action-center-head h2{margin:2px 0 0;color:#17344c;font-size:20px;line-height:1.2}
body.simos-mobile-app-page .simos-mobile-action-center-head>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#edf3f7;color:#173f62;font-size:17px;font-weight:900}
body.simos-mobile-app-page .simos-mobile-action-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
body.simos-mobile-app-page .simos-mobile-action-counts span{display:grid;gap:1px;padding:9px 8px;border-radius:12px;background:#f3f6f8;text-align:center;min-width:0}
body.simos-mobile-app-page .simos-mobile-action-counts span.is-priority{background:#fff0f0;color:#9f2828}
body.simos-mobile-app-page .simos-mobile-action-counts span.is-attention{background:#fff7e7;color:#8a5a00}
body.simos-mobile-app-page .simos-mobile-action-counts b{font-size:17px;line-height:1.1}
body.simos-mobile-app-page .simos-mobile-action-counts small{font-size:10px;font-weight:750;overflow-wrap:anywhere}
body.simos-mobile-app-page .simos-mobile-action-list{display:grid;gap:10px}
body.simos-mobile-app-page .simos-mobile-action-item{appearance:none;width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;border:1px solid #dce6ed;border-radius:14px;background:#f9fbfc;color:#17344c;text-align:left;min-width:0;box-sizing:border-box}
body.simos-mobile-app-page .simos-mobile-action-item.is-priority{border-color:#efcaca;background:#fff8f8}
body.simos-mobile-app-page .simos-mobile-action-item.is-attention{border-color:#eadab3;background:#fffdf7}
body.simos-mobile-app-page .simos-mobile-action-item>.dashicons{margin-top:2px;color:#4b6679}
body.simos-mobile-app-page .simos-mobile-action-item.is-priority>.dashicons{color:#b33232}
body.simos-mobile-app-page .simos-mobile-action-item.is-attention>.dashicons{color:#9a6900}
body.simos-mobile-app-page .simos-mobile-action-item>span:nth-child(2){display:grid;gap:3px;min-width:0}
body.simos-mobile-app-page .simos-mobile-action-item small{font-size:9px;font-weight:900;letter-spacing:.06em;color:#758795}
body.simos-mobile-app-page .simos-mobile-action-item strong{font-size:13.5px;line-height:1.32;font-weight:850;overflow-wrap:anywhere}
body.simos-mobile-app-page .simos-mobile-action-item em{font-style:normal;font-size:11px;line-height:1.45;color:#607384;overflow-wrap:anywhere}
body.simos-mobile-app-page .simos-mobile-action-item>b{align-self:center;max-width:92px;font-size:10.5px;line-height:1.2;color:#155b8e;text-align:right;overflow-wrap:anywhere}
body.simos-mobile-app-page .simos-mobile-action-empty{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;padding:13px;border-radius:14px;background:#f2f8f5;color:#2e5d4d}
body.simos-mobile-app-page .simos-mobile-action-empty>div{display:grid;gap:2px;min-width:0}
body.simos-mobile-app-page .simos-mobile-action-empty strong{font-size:13px}
body.simos-mobile-app-page .simos-mobile-action-empty small{font-size:10.5px;line-height:1.4;color:#5b776d}
body.simos-mobile-app-page .simos-mobile-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.simos-mobile-app-page .simos-mobile-quick-command{appearance:none;display:flex;align-items:center;gap:9px;min-height:54px;padding:11px 12px;border:1px solid #d9e4ec;border-radius:14px;background:#fff;color:#183d59;text-align:left;box-sizing:border-box;min-width:0}
body.simos-mobile-app-page .simos-mobile-quick-command .dashicons{flex:0 0 21px;color:#43708f}
body.simos-mobile-app-page .simos-mobile-quick-command strong{font-size:12px;line-height:1.25;font-weight:850;overflow-wrap:anywhere}
body.simos-mobile-app-page .simos-mobile-bottom button small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:360px){body.simos-mobile-app-page .simos-mobile-action-center{padding:13px}body.simos-mobile-app-page .simos-mobile-action-item{grid-template-columns:24px minmax(0,1fr);gap:8px}body.simos-mobile-app-page .simos-mobile-action-item>b{grid-column:2;justify-self:start;max-width:none;text-align:left}body.simos-mobile-app-page .simos-mobile-quick-grid{grid-template-columns:1fr 1fr}body.simos-mobile-app-page .simos-mobile-quick-command{padding:10px}}

/* rc87 — native PWA Tindak Lanjut monitoring & approvals */
.simos-mobile-native-approval-list,.simos-mobile-native-case-list{display:grid;gap:14px;min-width:0}
.simos-mobile-native-approval-card,.simos-mobile-native-case{min-width:0;box-sizing:border-box;border:1px solid rgba(15,23,42,.1);border-radius:16px;padding:16px;background:#fff;overflow:hidden}
.simos-mobile-native-approval-card.is-priority,.simos-mobile-native-case.is-priority{border-left:5px solid #b91c1c}
.simos-mobile-native-approval-card.is-attention,.simos-mobile-native-case.is-attention{border-left:5px solid #b45309}
.simos-mobile-native-case.is-info{border-left:5px solid #2563eb}
.simos-mobile-native-approval-head,.simos-mobile-native-case-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.simos-mobile-native-approval-head span,.simos-mobile-native-case-head span{font-size:11px;font-weight:800;letter-spacing:.05em}
.simos-mobile-native-approval-head small,.simos-mobile-native-case-head small{font-size:12px;color:#64748b}
.simos-mobile-native-approval-card h2,.simos-mobile-native-case h2{font-size:18px;line-height:1.25;margin:0 0 6px;overflow-wrap:anywhere}
.simos-mobile-native-approval-card p,.simos-mobile-native-case p{margin:0 0 10px;line-height:1.5;overflow-wrap:anywhere}
.simos-mobile-sla-jump{display:flex;align-items:center;gap:10px;margin:12px 0;flex-wrap:wrap}
.simos-mobile-sla-jump b{padding:7px 10px;border-radius:999px;background:#f1f5f9;font-size:12px}
.simos-mobile-native-reason,.simos-mobile-native-case-summary{padding:12px;border-radius:12px;background:#f8fafc;margin:12px 0;overflow-wrap:anywhere}
.simos-mobile-native-reason small{display:block;font-size:10px;font-weight:800;letter-spacing:.05em;color:#64748b;margin-bottom:5px}
.simos-mobile-native-reason p{margin:0}
.simos-mobile-native-meta{font-size:12px;color:#64748b}
.simos-mobile-native-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.simos-mobile-native-fields label,.simos-mobile-native-note{display:grid;gap:6px;font-size:12px;font-weight:700;min-width:0}
.simos-mobile-native-fields input,.simos-mobile-native-note textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:11px;padding:11px 12px;font:inherit;font-size:16px;background:#fff;color:#0f172a}
.simos-mobile-native-note textarea{resize:vertical;line-height:1.45}
.simos-mobile-native-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.simos-mobile-native-actions .simos-button{min-height:44px;justify-content:center}
.simos-mobile-native-actions .is-primary{background:#166534;color:#fff;border-color:#166534}
.simos-mobile-native-actions .is-danger{background:#fff;color:#b91c1c;border-color:#fecaca}
.simos-mobile-native-case-meta{display:flex;flex-wrap:wrap;gap:7px 12px;margin:10px 0 14px;font-size:12px;color:#64748b}
@media(max-width:420px){.simos-mobile-native-fields{grid-template-columns:1fr}.simos-mobile-native-approval-card,.simos-mobile-native-case{padding:14px}.simos-mobile-native-actions{grid-template-columns:1fr 1fr}}
@media(max-width:340px){.simos-mobile-native-actions{grid-template-columns:1fr}}

/* v0.13.77-rc88 — full RTF toolbar inside native PWA Chat */
.simos-mchat-composer .simos-mobile-rtf-toolbar{overflow-x:auto!important;flex-wrap:nowrap!important;overscroll-behavior-x:contain!important;scrollbar-width:thin!important}.simos-mchat-composer .simos-mobile-rtf-toolbar button,.simos-mchat-composer .simos-mobile-rtf-toolbar select{flex:0 0 auto!important;min-width:34px!important;height:34px!important;border:1px solid #d6e1e9!important;border-radius:8px!important;background:#fff!important;color:#23425b!important;font:700 12px/1 Arial,sans-serif!important}.simos-mchat-composer .simos-mobile-rtf-toolbar select{width:auto!important;max-width:96px!important;padding:0 5px!important}.simos-mchat-compose .simos-mobile-rich-editor{width:100%;min-width:0;min-height:54px;max-height:150px;overflow:auto;padding:9px 10px;border:1px solid #d6e0e8;border-radius:12px;background:#fff;color:#19345a;font:500 16px/1.45 Arial,sans-serif;outline:0;box-sizing:border-box;overflow-wrap:anywhere}.simos-mobile-rich-editor:empty:before{content:attr(data-placeholder);color:#8a99a6;pointer-events:none}.simos-mchat-compose .simos-mobile-rich-source{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.simos-mchat-compose{position:relative!important}
.simos-mobile-editing{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;background:#fff8df;border-top:1px solid #eadba4;color:#66531f;font-size:12px;font-weight:700}.simos-mobile-editing button{border:0;background:transparent;color:#8d4a26;font-weight:800;padding:6px 8px}
/* rc88: full Word-like RTF for mobile approval/decision notes too. */
body.simos-mobile-app-page .simos-mobile-note-editor{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;margin-top:7px;border:1px solid #d5e0e8;border-radius:12px;background:#fff;overflow:hidden;box-sizing:border-box}
body.simos-mobile-app-page .simos-mobile-note-editor .simos-mobile-rtf-toolbar{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:nowrap!important;overflow-x:auto!important;padding:6px!important;border:0!important;border-bottom:1px solid #e0e8ee!important;border-radius:0!important;background:#f7fafc!important;box-shadow:none!important;box-sizing:border-box!important;scrollbar-width:thin!important}
body.simos-mobile-app-page .simos-mobile-note-editor .simos-mobile-rtf-toolbar button,
body.simos-mobile-app-page .simos-mobile-note-editor .simos-mobile-rtf-toolbar select{flex:0 0 auto!important;min-width:34px!important;height:34px!important;padding:0 7px!important;border:1px solid #d4e0e8!important;border-radius:8px!important;background:#fff!important;color:#23425b!important;font:700 12px/1 Arial,sans-serif!important;box-sizing:border-box!important}
body.simos-mobile-app-page .simos-mobile-note-editor .simos-mobile-rtf-toolbar select{max-width:98px!important}
body.simos-mobile-app-page .simos-mobile-rich-editor.is-note{width:100%;min-width:0;min-height:108px;max-height:280px;overflow:auto;padding:12px;border:0;background:#fff;color:#19345a;font:500 16px/1.55 Arial,sans-serif;outline:0;box-sizing:border-box;overflow-wrap:anywhere}
body.simos-mobile-app-page .simos-mobile-rich-editor.is-note:focus{box-shadow:inset 0 0 0 2px rgba(29,105,151,.12)}
body.simos-mobile-app-page .simos-mobile-rtf-color{position:relative;display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;border:1px solid #d4e0e8!important;border-radius:8px!important;background:#fff!important;color:#23425b!important;font:800 12px/1 Arial,sans-serif!important;overflow:hidden!important;box-sizing:border-box!important}
body.simos-mobile-app-page .simos-mobile-rtf-color input{position:absolute!important;left:3px!important;right:3px!important;bottom:2px!important;width:28px!important;height:7px!important;min-height:0!important;padding:0!important;border:0!important;opacity:.95!important}

/* v0.13.78-rc89 — PWA RTE editable + unlimited text length */
body.simos-mobile-app-page .simos-mobile-native-note{display:grid;gap:7px;min-width:0;max-width:100%;font-weight:700;color:#27465f}
body.simos-mobile-app-page .simos-mobile-native-note-label{display:block;font-size:13px;font-weight:800;line-height:1.35}
body.simos-mobile-app-page .simos-mobile-rich-editor{caret-color:currentColor;user-select:text;-webkit-user-select:text;cursor:text}
body.simos-mobile-app-page .simos-mobile-rich-editor.is-note{min-height:120px;max-height:none;overflow:visible}

/* rc90 — teacher gradebook */
body.simos-mobile-app-page .simos-mobile-gradebook-list{display:grid;gap:14px}
body.simos-mobile-app-page .simos-mobile-gradebook-card{padding:16px;border:1px solid #dbe5ed;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(22,45,66,.08)}
body.simos-mobile-app-page .simos-mobile-gradebook-card h2{margin:5px 0 4px;font-size:17px;line-height:1.35}
body.simos-mobile-app-page .simos-mobile-gradebook-card p{margin:0 0 12px;color:#65798a;font-size:13px}
body.simos-mobile-app-page .simos-mobile-gradebook-card .simos-button{width:100%;margin-top:12px}
body.simos-mobile-app-page .simos-mobile-grade-row{display:grid;gap:10px;padding:14px;border:1px solid #dbe5ed;border-radius:16px;background:#fff}
body.simos-mobile-app-page .simos-mobile-grade-row.is-good{border-left:4px solid #4b8f62}
body.simos-mobile-app-page .simos-mobile-grade-row.is-mid{border-left:4px solid #d2a43a}
body.simos-mobile-app-page .simos-mobile-grade-row.is-low{border-left:4px solid #c95d5d}
body.simos-mobile-app-page .simos-mobile-grade-row.is-ungraded{border-left:4px solid #a9b8c4}
body.simos-mobile-app-page .simos-mobile-grade-person{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
body.simos-mobile-app-page .simos-mobile-grade-person strong{font-size:15px;color:#183653}
body.simos-mobile-app-page .simos-mobile-grade-person small{color:#788b9a}
body.simos-mobile-app-page .simos-mobile-grade-fields{display:grid;grid-template-columns:minmax(88px,.38fr) minmax(0,1fr);gap:10px}
body.simos-mobile-app-page .simos-mobile-grade-fields label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#63798b}
body.simos-mobile-app-page .simos-mobile-grade-fields input,body.simos-mobile-app-page .simos-mobile-grade-fields textarea{width:100%;box-sizing:border-box;border:1px solid #ccd9e3;border-radius:10px;background:#f8fbfd;padding:9px;font:inherit;color:#183653}
body.simos-mobile-app-page .simos-mobile-grade-fields textarea{min-height:38px;resize:vertical}
body.simos-mobile-app-page .simos-mobile-gradebook-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
body.simos-mobile-app-page .simos-mobile-gradebook-stats span{display:grid;gap:2px;padding:10px;border-radius:12px;background:#f2f6f9;text-align:center;font-size:10px;color:#718494}
body.simos-mobile-app-page .simos-mobile-gradebook-stats b{font-size:16px;color:#183653}

/* rc93 — global dark-button text contrast + mobile KBM bulk attendance */
.simos-mobile-root .simos-button,
.simos-mobile-root .simos-button-danger,
.simos-mobile-root .simos-mobile-action-primary,
.simos-mobile-root .simos-mobile-bulk-apply,
.simos-wrap .simos-button,
.simos-wrap .simos-button-danger{color:#fff!important;text-shadow:none!important}
.simos-mobile-attendance-bulk{display:grid;gap:9px;margin:12px 0;padding:12px;border:1px solid var(--simos-mobile-line);border-radius:14px;background:#f7fafc}
.simos-mobile-check-all,.simos-mobile-student-check{display:flex;align-items:center;gap:7px}
.simos-mobile-check-all{font-weight:850}
.simos-mobile-check-all input,.simos-mobile-student-check input{width:18px;height:18px}
.simos-mobile-bulk-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.simos-mobile-bulk-actions select{min-height:44px}
.simos-mobile-bulk-apply{margin:0!important;width:auto!important;min-height:44px!important;white-space:nowrap}
.simos-mobile-attendance-person{display:flex!important;align-items:flex-start;gap:8px}
.simos-mobile-attendance-person>div{min-width:0}
.simos-mobile-attendance-bulk small{color:var(--simos-mobile-muted)}
@media(max-width:520px){.simos-mobile-bulk-actions{grid-template-columns:1fr}.simos-mobile-bulk-apply{width:100%!important}}

/* rc94 — reliable dark-action text contrast */
.simos-mobile-root .simos-dark-action{color:#fff!important;text-shadow:none!important}

/* rc95 — visible mobile attendance checkboxes */
.simos-mobile-root input[type="checkbox"][data-attendance-select],
.simos-mobile-root input[type="checkbox"][data-attendance-select-all]{appearance:auto!important;-webkit-appearance:checkbox!important;display:inline-block!important;visibility:visible!important;opacity:1!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;margin:0!important;accent-color:#1f5f99!important;cursor:pointer!important}
.simos-mobile-student-check{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;min-width:28px!important}
.simos-mobile-student-check input[type="checkbox"]{position:static!important;clip:auto!important}
.simos-mobile-check-all input[type="checkbox"]{position:static!important;clip:auto!important}
.simos-mobile-attendance-bulk{position:relative!important;z-index:5!important}

/* rc97 — final mobile checkbox + contrast */
.simos-mobile-root input[type="checkbox"][data-attendance-select],
.simos-mobile-root input[type="checkbox"][data-attendance-select-all]{appearance:auto!important;-webkit-appearance:checkbox!important;display:inline-block!important;visibility:visible!important;opacity:1!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;accent-color:#1f5f99!important;cursor:pointer!important}
.simos-mobile-root .simos-dark-action{color:#fff!important}
.simos-mobile-root .simos-light-action,.simos-mobile-root .simos-button-light{color:#17212b!important}

/* rc98 — bulk attendance controls */
.simos-kbm-bulk-apply,.simos-kbm-bulk-submit-now,.simos-kbm-bulk-now,
.simos-mobile-bulk-apply,.simos-mobile-bulk-submit-now,.simos-mobile-bulk-now{
  color:#fff!important;text-shadow:none!important;
}
.simos-kbm-attendance-bulk input[type="time"],
.simos-mobile-bulk-actions input[type="time"]{min-height:42px;}
.simos-kbm-bulk-submit-now,.simos-mobile-bulk-submit-now{font-weight:800;}

/* rc100 — PWA KBM attendance: compact, single-row, always fit screen */
.simos-mobile-attendance-bulk{
  display:grid!important;
  grid-template-columns:minmax(0,22fr) minmax(0,22fr) minmax(0,15fr) minmax(0,20fr) minmax(0,21fr)!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:4px!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  margin:10px 0!important;
  padding:10px!important;
}
.simos-mobile-attendance-bulk .simos-mobile-check-all{
  grid-column:1!important;
  min-width:0!important;
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  font-size:11px!important;
  line-height:1.1!important;
}
.simos-mobile-attendance-bulk .simos-mobile-bulk-actions{
  display:contents!important;
}
.simos-mobile-attendance-bulk [data-attendance-bulk-status]{
  grid-column:2!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 5px!important;
  font-size:11px!important;
  box-sizing:border-box!important;
}
.simos-mobile-attendance-bulk [data-attendance-bulk-time]{
  grid-column:3!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 3px!important;
  font-size:11px!important;
  box-sizing:border-box!important;
}
.simos-mobile-attendance-bulk [data-attendance-bulk-apply]{
  grid-column:4!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 4px!important;
  margin:0!important;
  font-size:10px!important;
  line-height:1.05!important;
  white-space:normal!important;
  box-sizing:border-box!important;
}
.simos-mobile-attendance-bulk [data-attendance-bulk-submit-now]{
  grid-column:5!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 4px!important;
  margin:0!important;
  font-size:10px!important;
  line-height:1.05!important;
  white-space:normal!important;
  box-sizing:border-box!important;
}
.simos-mobile-attendance-bulk [data-attendance-selected-count]{display:none!important}

/* Every student attendance card gets 15pt inner padding on all sides. */
.simos-mobile-attendance-row{
  box-sizing:border-box!important;
  padding:15pt!important;
}
.simos-mobile-attendance-row > *{
  box-sizing:border-box!important;
}
.simos-mobile-attendance-person{
  padding:0!important;
}

/* Narrow phones: preserve the five-column single row; reduce typography only. */
@media(max-width:390px){
  .simos-mobile-attendance-bulk{gap:3px!important;padding:8px!important}
  .simos-mobile-attendance-bulk .simos-mobile-check-all{font-size:10px!important;gap:3px!important}
  .simos-mobile-attendance-bulk [data-attendance-bulk-status]{font-size:10px!important;padding:0 3px!important}
  .simos-mobile-attendance-bulk [data-attendance-bulk-time]{font-size:10px!important;padding:0 2px!important}
  .simos-mobile-attendance-bulk [data-attendance-bulk-apply],
  .simos-mobile-attendance-bulk [data-attendance-bulk-submit-now]{font-size:9px!important;padding:0 2px!important}
}

/* rc101 — PWA student attendance card: 2-row compact layout */
.simos-mobile-attendance-list{gap:10px!important}
.simos-mobile-attendance-row{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) minmax(92px,112px) minmax(118px,145px)!important;
  grid-template-areas:
    "check student arrival status"
    ". notes notes notes"!important;
  column-gap:8px!important;
  row-gap:8px!important;
  align-items:center!important;
  padding:15pt!important;
  margin:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.simos-mobile-attendance-row>.simos-mobile-student-check{grid-area:check!important;width:24px!important;min-width:24px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}
.simos-mobile-attendance-row>.simos-mobile-attendance-person{grid-area:student!important;min-width:0!important;padding:0!important}
.simos-mobile-attendance-row>.simos-mobile-attendance-arrival{grid-area:arrival!important;min-width:0!important}
.simos-mobile-attendance-row>select[data-attendance-status]{grid-area:status!important;min-width:0!important;width:100%!important}
.simos-mobile-attendance-row>.simos-mobile-attendance-notes{grid-area:notes!important;min-width:0!important;width:100%!important}
.simos-mobile-attendance-row>.simos-mobile-attendance-arrival,
.simos-mobile-attendance-row>.simos-mobile-attendance-notes{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  font-size:9.5px!important;
  line-height:1.2!important;
  color:var(--simos-mobile-muted)!important;
  font-weight:750!important;
}
.simos-mobile-attendance-row>.simos-mobile-attendance-arrival input,
.simos-mobile-attendance-row>.simos-mobile-attendance-notes input{
  margin-top:4px!important;
}
.simos-mobile-attendance-row>.simos-mobile-attendance-arrival input{
  width:100%!important;
}
.simos-mobile-attendance-row input,
.simos-mobile-attendance-row select{box-sizing:border-box!important}
.simos-mobile-attendance-row>.simos-mobile-attendance-notes input{
  min-height:40px!important;
}
.simos-mobile-attendance-row>.simos-mobile-student-check input{
  width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;
}

/* Universal mobile boxes/modals: never run flush to viewport; retain breathing room. */
.simos-mobile-root .simos-mobile-timeline-modal{
  padding:12pt!important;
}
.simos-mobile-root .simos-mobile-timeline-dialog{
  width:calc(100% - 24pt)!important;
  max-width:560px!important;
  margin:0 auto!important;
}
.simos-mobile-root .simos-mobile-timeline-dialog-body{
  padding:12pt!important;
}
.simos-mobile-root .simos-mobile-menu-card,
.simos-mobile-root .simos-mobile-news-card,
.simos-mobile-root .simos-mobile-profile-card,
.simos-mobile-root .simos-mobile-kbm-card,
.simos-mobile-root .simos-mobile-course-card,
.simos-mobile-root .simos-mobile-task-card,
.simos-mobile-root .simos-mobile-feedback-card,
.simos-mobile-root .simos-mobile-reminder-card,
.simos-mobile-root .simos-mobile-arrival-card,
.simos-mobile-root .simos-mobile-home-order-card,
.simos-mobile-root .simos-mobile-native-approval-card,
.simos-mobile-root .simos-mobile-gradebook-card{
  margin-bottom:10pt!important;
}

/* Avoid the old extra-row rules interfering with the new grid. */
.simos-mobile-attendance-extra{display:none!important}
.simos-mobile-attendance-extra.is-late{display:none!important}

@media(max-width:520px){
  .simos-mobile-attendance-row{
    grid-template-columns:22px minmax(0,1fr) minmax(76px,92px) minmax(100px,125px)!important;
    column-gap:6px!important;
    padding:15pt!important;
  }
  .simos-mobile-attendance-row>.simos-mobile-attendance-arrival,
  .simos-mobile-attendance-row>.simos-mobile-attendance-notes{font-size:9px!important}
  .simos-mobile-attendance-row select{font-size:11px!important;padding:7px 5px!important}
}
@media(max-width:390px){
  .simos-mobile-attendance-row{
    grid-template-columns:21px minmax(0,1fr) minmax(70px,82px) minmax(94px,112px)!important;
    column-gap:5px!important;
  }
  .simos-mobile-attendance-row>.simos-mobile-student-check input{width:19px!important;height:19px!important}
  .simos-mobile-attendance-row select{font-size:10px!important}
}

/* rc102 — exact student-card row: Select | Student | Arrival | Status; Notes full second row */
.simos-mobile-attendance-row{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) 126px 150px!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:
    "check student arrival status"
    ". notes notes notes"!important;
  column-gap:10px!important;
  row-gap:8px!important;
  align-items:center!important;
  padding:15pt!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.simos-mobile-attendance-row>.simos-mobile-student-check{
  grid-area:check!important;
  width:28px!important;
  min-width:28px!important;
  margin:0!important;
  align-self:center!important;
}
.simos-mobile-attendance-row>.simos-mobile-attendance-person{
  grid-area:student!important;
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
}
.simos-mobile-attendance-row>.simos-mobile-attendance-person strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.simos-mobile-attendance-row>.simos-mobile-attendance-person small{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.simos-mobile-attendance-row>.simos-mobile-attendance-arrival{
  grid-area:arrival!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.simos-mobile-attendance-row>select[data-attendance-status]{
  grid-area:status!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.simos-mobile-attendance-row>.simos-mobile-attendance-notes{
  grid-area:notes!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.simos-mobile-attendance-row>.simos-mobile-attendance-notes input{
  width:100%!important;
  min-height:40px!important;
  box-sizing:border-box!important;
}
.simos-mobile-attendance-row>.simos-mobile-attendance-arrival input{
  width:100%!important;
  min-height:40px!important;
  box-sizing:border-box!important;
}

/* 10–15pt breathing space for universal PWA cards/boxes, without viewport stretching */
.simos-mobile-root .simos-mobile-card,
.simos-mobile-root .simos-mobile-box,
.simos-mobile-root .simos-mobile-modal,
.simos-mobile-root .simos-mobile-dialog{
  box-sizing:border-box!important;
  padding:12pt!important;
  margin-left:10pt!important;
  margin-right:10pt!important;
  width:calc(100% - 20pt)!important;
  max-width:calc(100% - 20pt)!important;
}
@media(max-width:520px){
  .simos-mobile-attendance-row{
    grid-template-columns:25px minmax(0,1fr) 100px 120px!important;
    column-gap:7px!important;
  }
}
@media(max-width:390px){
  .simos-mobile-attendance-row{
    grid-template-columns:23px minmax(0,1fr) 86px 104px!important;
    column-gap:5px!important;
  }
  .simos-mobile-attendance-row>.simos-mobile-attendance-person strong{font-size:12px!important}
  .simos-mobile-attendance-row>.simos-mobile-attendance-person small{font-size:9px!important}
  .simos-mobile-attendance-row>.simos-mobile-attendance-arrival,
  .simos-mobile-attendance-row>.simos-mobile-attendance-notes{font-size:9px!important}
  .simos-mobile-attendance-row>select[data-attendance-status]{font-size:10px!important}
}

/* rc103 — PWA class attendance modes */
.simos-mobile-attendance-mode{
  display:flex!important;align-items:center!important;gap:5px!important;
  margin:8px 0!important;padding:8px 10px!important;
  border:1px solid var(--simos-mobile-line)!important;border-radius:12px!important;
  background:#f7fafc!important;box-sizing:border-box!important;
}
.simos-mobile-attendance-mode .simos-mobile-mode{
  min-height:34px!important;width:auto!important;margin:0!important;padding:0 10px!important;
  font-size:11px!important;
}
.simos-mobile-attendance-mode .simos-mobile-mode.is-active{background:#17324d!important;color:#fff!important}
.simos-mobile-attendance-mode [data-attendance-mode-help]{min-width:0!important;font-size:9px!important;font-weight:700!important;color:var(--simos-mobile-muted)!important}

/* rc105 — operational Manual mode */
.simos-mobile-manual-nav{align-items:center!important;justify-content:center!important;gap:8px!important;margin:8px 0!important;padding:8px 10px!important;border:1px solid var(--simos-mobile-line)!important;border-radius:12px!important;background:#f7fafc!important;box-sizing:border-box!important}
.simos-mobile-manual-nav button{width:36px!important;min-width:36px!important;height:34px!important;min-height:34px!important;padding:0!important;font-size:18px!important}
.simos-mobile-manual-nav strong{font-size:11px!important;min-width:48px!important;text-align:center!important}
.simos-mobile-manual-nav span{font-size:10px!important;font-weight:700!important;color:var(--simos-mobile-muted)!important}

/* rc108: PWA single attendance checklist */
.simos-mobile-attendance-legend{margin:8px 0 10px;padding:8px 10px;font-size:10px;font-weight:700;color:var(--simos-mobile-muted)}.simos-mobile-attendance-checklist{display:flex;flex-direction:column;gap:10px}.simos-mobile-attendance-check-card{padding:15pt!important;border:1px solid var(--simos-mobile-line);border-radius:12px;box-sizing:border-box;background:#fff}.simos-mobile-attendance-check-name{display:flex;flex-direction:column;min-width:0;margin-bottom:10px}.simos-mobile-attendance-check-name strong{font-size:13px;line-height:1.25}.simos-mobile-attendance-check-name small{font-size:9px;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:100%}.simos-mobile-status-check{display:flex;align-items:center;justify-content:center;min-width:0;cursor:pointer}.simos-mobile-status-check input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important}.simos-mobile-status-label{width:100%;min-height:34px;padding:5px 2px;border:1.5px solid #64748b;border-radius:8px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-size:9px;font-weight:800;line-height:1.05;text-align:center;background:#fff;color:#334155}.simos-mobile-status-check input:checked + .simos-mobile-status-label{background:#17324d;color:#fff;border-color:#17324d;box-shadow:0 0 0 1px #17324d}.simos-mobile-status-check:focus-within .simos-mobile-status-label{outline:2px solid #17324d;outline-offset:2px}.simos-mobile-attendance-submit{margin-top:12px}.simos-mobile-attendance-submit .simos-button{width:100%;min-height:42px}@media(max-width:390px){.simos-mobile-status-grid{gap:3px}.simos-mobile-status-label{font-size:8px;min-height:32px}}

/* rc109 — desktop/PWA identical attendance matrix */
.simos-mobile-attendance-table-wrap{width:100%;overflow:hidden}.simos-mobile-attendance-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;border:1px solid var(--simos-mobile-line);border-radius:12px;overflow:hidden;background:#fff}.simos-mobile-attendance-table th,.simos-mobile-attendance-table td{padding:7px 3px;text-align:center;vertical-align:middle;border-bottom:1px solid var(--simos-mobile-line);font-size:9px;line-height:1.1;box-sizing:border-box}.simos-mobile-attendance-table th:first-child,.simos-mobile-attendance-table td:first-child{width:38%;text-align:left;padding-left:8px;padding-right:5px}.simos-mobile-attendance-table th:not(:first-child),.simos-mobile-attendance-table td:not(:first-child){width:12.4%}.simos-mobile-attendance-table th{font-weight:800;background:#f4f7fa}.simos-mobile-attendance-table tbody tr:last-child td{border-bottom:0}.simos-mobile-attendance-table td strong{display:block;font-size:10px;line-height:1.15}.simos-mobile-attendance-table td small{display:block;font-size:7px;color:var(--simos-mobile-muted);margin-top:2px}.simos-mobile-matrix-check{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:pointer}.simos-mobile-matrix-check input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important}.simos-mobile-matrix-check span{width:17px;height:17px;border:2px solid #64748b;border-radius:4px;background:#fff;display:block;position:relative;box-sizing:border-box}.simos-mobile-matrix-check input:checked + span{background:#17324d;border-color:#17324d}.simos-mobile-matrix-check input:checked + span:after{content:'✓';position:absolute;left:2px;top:-2px;color:#fff;font-size:14px;font-weight:900;line-height:17px}.simos-mobile-attendance-save-result{margin:0 0 10px;padding:10px 12px;border-radius:10px;background:#17324d;color:#fff;font-size:11px;font-weight:800}.simos-mobile-attendance-save-result[hidden]{display:none}@media(max-width:390px){.simos-mobile-attendance-table th,.simos-mobile-attendance-table td{padding:6px 2px;font-size:8px}.simos-mobile-attendance-table td strong{font-size:9px}.simos-mobile-matrix-check{width:21px;height:21px}.simos-mobile-matrix-check span{width:16px;height:16px}}

.simos-mobile-kbm-presence-card{min-width:0}.simos-mobile-kbm-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:7px}.simos-mobile-kbm-stat-grid span{display:flex;justify-content:space-between;gap:5px;padding:3px 5px;border-radius:6px;background:#f4f7fa;font-size:8px;line-height:1.1;color:#334155}.simos-mobile-kbm-stat-grid b{font-size:9px;color:#17324d}
@media(max-width:390px){.simos-mobile-kbm-stat-grid{gap:3px}.simos-mobile-kbm-stat-grid span{font-size:7.5px;padding:3px}.simos-mobile-kbm-stat-grid b{font-size:8px}}

/* rc111 — PWA KBM summary composition: 35% Status / 65% Presensi */
.simos-mobile-kbm-summary{display:grid!important;grid-template-columns:35% 65%!important;gap:0!important;width:100%;box-sizing:border-box}
.simos-mobile-kbm-summary>div{min-width:0;box-sizing:border-box}
.simos-mobile-kbm-summary .simos-mobile-kbm-status-card{padding-right:6px}
.simos-mobile-kbm-summary .simos-mobile-kbm-presence-card{padding-left:6px}
.simos-mobile-kbm-stat-grid{gap:5px!important;margin-top:8px!important}
.simos-mobile-kbm-stat-grid span{font-size:10px!important;padding:5px 7px!important;line-height:1.15!important}
.simos-mobile-kbm-stat-grid b{font-size:11px!important}
@media(max-width:390px){
  .simos-mobile-kbm-summary{grid-template-columns:35% 65%!important}
  .simos-mobile-kbm-stat-grid{gap:3px!important}
  .simos-mobile-kbm-stat-grid span{font-size:9px!important;padding:4px 5px!important}
  .simos-mobile-kbm-stat-grid b{font-size:10px!important}
}

/* rc112 — PWA attendance table: student name 50%, status columns share remaining 50% */
.simos-mobile-attendance-table{width:100%!important;table-layout:fixed!important}
.simos-mobile-attendance-table th:first-child,
.simos-mobile-attendance-table td:first-child{width:50%!important;text-align:left!important;padding-left:10px!important;padding-right:7px!important}
.simos-mobile-attendance-table th:not(:first-child),
.simos-mobile-attendance-table td:not(:first-child){width:10%!important}
.simos-mobile-attendance-table td strong{font-size:13px!important;line-height:1.2!important}
.simos-mobile-attendance-table td small{font-size:8px!important}
@media(max-width:390px){
  .simos-mobile-attendance-table th:first-child,
  .simos-mobile-attendance-table td:first-child{width:50%!important}
  .simos-mobile-attendance-table th:not(:first-child),
  .simos-mobile-attendance-table td:not(:first-child){width:10%!important}
  .simos-mobile-attendance-table td strong{font-size:12px!important}
}
