/* V156: consistent navigation and personal settings. */
@media screen{
 body #app .dm-browser-nav{gap:5px!important;padding:5px!important;border:1px solid var(--dm-line,#e5e5ea)!important;border-radius:13px!important;background:var(--surface,#fff)!important;margin-right:8px!important;box-shadow:none!important}
 body #app .dm-browser-nav button{width:34px!important;height:34px!important;border-radius:9px!important;background:transparent!important;border:0!important;color:var(--dm-ink,#273549)!important;display:grid!important;place-items:center!important}
 body #app .dm-browser-nav button .icon{width:18px!important;height:18px!important;stroke-width:1.7!important}
 body #app .dm-browser-nav button:last-child{background:var(--surface-2,#f2f2f7)!important}
 body #app .dm-browser-nav button:disabled{opacity:.35!important;cursor:default!important}
 body #app .dm-browser-nav button:hover:not(:disabled){background:var(--surface-2,#f2f2f7)!important}
 body .dm-settings-nav{margin-top:5px;color:#bac6d4}
 body .dm-settings-nav summary{display:flex;align-items:center;gap:12px;padding:14px 17px;cursor:pointer;list-style:none;font:inherit;font-size:14px;border-radius:12px;min-height:46px;box-sizing:border-box}
 body .dm-settings-nav summary::-webkit-details-marker{display:none}
 body .dm-settings-nav summary>.icon{width:18px;height:18px;flex:0 0 18px}
 body .dm-settings-nav summary>.icon:last-child{margin-left:auto;width:14px;transition:transform .18s}
 body .dm-settings-nav[open] summary>.icon:last-child{transform:rotate(90deg)}
 body .dm-settings-nav[open] summary,body .dm-settings-nav summary:hover{background:#ffffff0a;color:#fff}
 body #app .dm-settings-nav>div{margin:4px 0 5px 26px;padding-left:9px;border-left:1px solid #ffffff20}
 body #app .dm-settings-nav>div button{font-size:13px!important;min-height:40px!important;padding:10px 12px!important}
 body #app .dm-settings-nav>div button .icon{width:16px!important;height:16px!important}
 body .dm-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body .dm-settings-grid>button{display:flex;align-items:center;gap:14px;text-align:left;min-width:0;padding:20px;border:1px solid var(--dm-line,#e5e5ea);border-radius:16px;background:var(--surface,#fff);color:var(--dm-ink,#273549);font:inherit;cursor:pointer;min-height:94px}
 body .dm-settings-grid>button>.icon:first-child{width:23px;height:23px;flex:0 0 23px;color:var(--dm-muted,#667488)}
 body .dm-settings-grid>button>.icon:last-child{margin-left:auto;width:16px;height:16px;flex:0 0 16px;color:var(--dm-muted,#667488)}
 body .dm-settings-grid>button>div{min-width:0}
 body .dm-settings-grid strong{display:block;font-size:15px;font-weight:600;color:var(--dm-ink,#273549)!important;line-height:1.4}
 body .dm-settings-grid small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:var(--dm-muted,#667488)!important}
 body .dm-settings-back{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;padding:8px 0;margin-bottom:10px;font:inherit;font-size:13px;color:var(--dm-muted,#667488);cursor:pointer;min-height:40px}
 body .dm-settings-back .icon{width:16px;height:16px}
 body .dm-person-avatar{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#e7eef8;color:#37567c;font-size:12px;font-weight:600;overflow:hidden;line-height:1}
 body :is(.dm-person-avatar,.dm-chat-avatar)>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
 body .dm-profile-button{display:inline-flex;align-items:center;justify-content:center;padding:2px;background:transparent;border:1px solid var(--dm-line,#e5e5ea);border-radius:50%;width:42px;height:42px;flex:0 0 42px;cursor:pointer}
 body #app .dm-sidebar-profile{display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:0;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
 body #app .dm-sidebar-profile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body .dm-profile-body{display:flex;align-items:center;flex-direction:column;gap:10px;text-align:center}
 body .dm-profile-preview{width:100px;height:100px;flex-basis:100px;font-size:30px;margin:6px 0 12px}
 body .dm-profile-body h3,body .dm-profile-body p{margin:0}
 body .dm-profile-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:12px 0}
 body .dm-photo-upload{position:relative;overflow:hidden;cursor:pointer}
 body .dm-photo-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
 body .dm-photo-upload:has(input:disabled){opacity:.5;cursor:default}
 body .dm-setting-note{font-size:12px!important;line-height:1.6!important;color:var(--dm-muted,#667488)!important;display:block;margin-top:12px}
 body #dmPersonalStatus,body #dmInstallStatus{font-size:13px;line-height:1.6;color:var(--dm-ink,#273549)!important}
 body .dm-install-prepare{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:16px;border:1px solid var(--dm-line,#e5e5ea);border-radius:14px;margin:20px 0;background:var(--surface,#fff)}
 body .dm-install-prepare .field{flex:1 1 220px;min-width:0}
 body .dm-install-prepare small{flex-basis:100%;margin-top:0}
 body .dm-install-list{display:grid;gap:10px;margin:18px 0}
 body .dm-install-link{display:flex;align-items:center;gap:14px;border:1px solid var(--dm-line,#e5e5ea);padding:14px;border-radius:14px;text-decoration:none;color:var(--dm-ink,#273549);min-width:0;background:var(--surface,#fff)}
 body .dm-install-link img{width:52px;height:52px;flex:0 0 52px;border-radius:12px}
 body .dm-install-link span{min-width:0}
 body .dm-install-link strong{font-size:14px;overflow-wrap:anywhere;color:var(--dm-ink,#273549)!important}
 body .dm-install-link small{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:var(--dm-muted,#667488)!important}
 body .dm-install-link small .icon{width:13px;height:13px;vertical-align:middle}
 body :is(.dm-settings-grid>button,.dm-profile-button,.dm-settings-back,.dm-settings-nav summary):focus-visible{outline:2px solid #65a7ff;outline-offset:3px}
 html[data-dm-theme=dark] body .dm-person-avatar{background:#263d56;color:#b3d4ff}
}
@media screen and (max-width:700px){body .dm-settings-grid{grid-template-columns:1fr;gap:10px}body .dm-settings-grid>button{padding:16px;min-height:80px}body .dm-profile-button{width:36px;height:36px;flex-basis:36px}body .dm-profile-button .dm-person-avatar{width:30px;height:30px;flex-basis:30px}body #app .topbar-right{gap:6px!important}body .dm-install-prepare>.btn{width:100%}}
@media(prefers-reduced-motion:reduce){body .dm-settings-nav summary>.icon:last-child{transition:none}}
/* V158: circular preview matches the final avatar; JPEG saved as a square. */
@media screen{
 body .dm-profile-crop-editor{width:min(100%,280px);margin:0 auto 12px;min-width:0}
 body .dm-profile-crop-editor[hidden],body #dmProfilePreview[hidden],body #dmEditCurrentPhoto[hidden]{display:none!important}
 body .dm-profile-crop-stage{aspect-ratio:1;width:100%;padding:0;overflow:hidden;border-radius:50%;border:2px solid var(--dm-line,#e5e5ea);box-sizing:border-box;background:var(--surface-2,#f2f2f7)}
 body #dmProfileCropCanvas{display:block;width:100%;height:100%;border-radius:50%;touch-action:none;cursor:grab;outline-offset:-4px}
 body #dmProfileCropCanvas.is-dragging{cursor:grabbing}
 body #dmProfileCropCanvas:focus-visible{outline:3px solid #65a7ff}
 body .dm-crop-help{font-size:11px!important;line-height:1.5!important;color:var(--dm-muted,#667488)!important;margin:10px 0!important}
 body .dm-crop-zoom{display:grid;grid-template-columns:auto minmax(0,1fr) 42px 36px;align-items:center;gap:8px;text-align:left}
 body .dm-crop-zoom label,body .dm-crop-zoom output{font-size:12px;color:var(--dm-ink,#273549);font-variant-numeric:tabular-nums}
 body .dm-crop-zoom input[type=range]{width:100%;min-width:0;margin:0;min-height:36px;padding:0!important;accent-color:#2477ce;border:0!important;background:transparent!important;box-shadow:none!important;cursor:pointer}
 body .dm-crop-zoom .icon-btn{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important}
 body .dm-crop-zoom .icon-btn .icon{width:16px!important;height:16px!important}
 body .dm-profile-body:has(.dm-profile-crop-editor:not([hidden])){gap:7px}
}
@media screen and (max-width:380px){body .dm-profile-crop-editor{width:min(100%,240px)}}

/* V181: compact plan indicators and school-owned identity, both themes. */
@media screen{
 body #app .dm-plan-badge,body .dm-profile-body .dm-plan-badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 9px;margin-top:8px;border:1px solid var(--dm-line,#dfe5ed);border-radius:999px;background:var(--surface-2,#f2f2f7);color:var(--dm-ink,#273549);font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;box-sizing:border-box}
 body .dm-plan-dot{width:5px;height:5px;border-radius:50%;background:#8996a8;flex:0 0 5px}
 body .dm-plan-pro .dm-plan-dot{background:#9272dd}
 body .dm-plan-premium .dm-plan-dot{background:#c99741}
 body .dm-plan-trial .dm-plan-dot{background:#459bd5}
 body #app .dm-plan-badge-sidebar{color:#e2eaf4;background:#ffffff0a;border-color:#ffffff20;align-self:flex-start;margin:6px 0 2px}
 body .dm-account-plan{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;margin:0 0 16px;border:1px solid var(--dm-line,#e5e5ea);border-radius:16px;background:var(--surface,#fff);color:var(--dm-ink,#273549)}
 body .dm-account-plan>div{min-width:0}
 body .dm-plan-kicker{font-size:11px;font-weight:600;color:var(--dm-muted,#667488)}
 body .dm-account-plan h3{font-size:21px;line-height:1.3;margin:5px 0;color:var(--dm-ink,#273549)}
 body .dm-account-plan p{font-size:13px;line-height:1.5;margin:0 0 5px;color:var(--dm-ink,#273549)}
 body .dm-account-plan small{font-size:11px;color:var(--dm-muted,#667488)}
 body .dm-plan-state{flex:0 0 auto;font-size:11px;padding:5px 9px;border-radius:9px;background:var(--surface-2,#f2f2f7);color:var(--dm-muted,#667488)}
 body .dm-school-branding{margin-bottom:16px}
 body .dm-brand-live-preview{display:flex;align-items:center;gap:12px;min-width:0;padding:14px;margin-bottom:16px;border:1px solid var(--dm-line,#e5e5ea);border-radius:12px;background:var(--surface-2,#f2f2f7);color:var(--dm-ink,#273549)}
 body .dm-brand-live-preview>div{min-width:0;flex:1}
 body .dm-brand-live-preview strong{display:block;font-size:15px;overflow-wrap:anywhere;color:var(--dm-ink,#273549)}
 body .dm-brand-live-preview small{font-size:11px;color:var(--dm-muted,#667488)}
 body .dm-brand-live-preview .school-brand-logo{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:12px;overflow:hidden;background:var(--surface,#fff);color:var(--dm-ink,#273549)}
 body .dm-brand-live-preview img{width:100%;height:100%;object-fit:contain}
 body .dm-brand-color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid var(--surface,#fff);flex:0 0 22px}
 body .dm-brand-footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 18px;border-top:1px solid var(--dm-line,#e5e5ea)}
 body .dm-school-branding input[type=color]{width:100%;min-height:42px;padding:5px;background:var(--surface,#fff);border:1px solid var(--dm-line,#e5e5ea);border-radius:10px}
}
@media screen and (max-width:700px){
 body #app .admin-dashboard-hero .dm-plan-badge{font-size:10px;padding:3px 7px;margin-top:6px}
 body .dm-account-plan{padding:14px;gap:10px;flex-wrap:wrap}
 body .dm-account-plan h3{font-size:19px}
 body .dm-brand-footer>.btn{flex:1 1 auto;justify-content:center}
}

/* V182: daily workflows, compact modal and one mobile primary action. */
@media screen{
 body .dm-student-compact-profile .student-profile-kpis{margin:12px 0;gap:8px}
 body .dm-student-compact-profile .student-profile-kpis>div{padding:12px;min-width:0}
 body .dm-student-compact-profile .student-profile-kpis strong{font-size:21px}
 body .dm-student-overview{padding:15px;border:1px solid var(--dm-line,#e5e5ea);border-radius:14px;background:var(--surface,#fff);color:var(--dm-ink,#273549)}
 body .dm-student-overview h3{font-size:14px;margin:0 0 10px;color:var(--dm-ink,#273549)}
 body .dm-student-overview h3 span{font-size:11px;color:var(--dm-muted,#667488);margin-left:5px}
 body .dm-student-course-pills{display:flex;flex-wrap:wrap;gap:6px}
 body .dm-student-course-pills>span{padding:7px 10px;background:var(--surface-2,#f2f2f7);border-radius:9px;font-size:12px;max-width:100%;overflow-wrap:anywhere}
 body .dm-student-course-pills small{display:block;font-size:10px;margin-top:3px;color:var(--dm-muted,#667488)}
 body .dm-student-overview-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}
 body .dm-student-overview-tools>button{display:flex;align-items:center;gap:9px;min-width:0;padding:11px;text-align:left;border:1px solid var(--dm-line,#e5e5ea);border-radius:10px;background:var(--surface,#fff);color:var(--dm-ink,#273549);font:inherit;cursor:pointer}
 body .dm-student-overview-tools>button>span{min-width:0;flex:1}
 body .dm-student-overview-tools strong{font-size:12px;display:block}
 body .dm-student-overview-tools small{font-size:10px;line-height:1.4;color:var(--dm-muted,#667488);display:block;margin-top:3px}
 body .dm-student-overview-tools .icon{width:17px;height:17px;flex:0 0 17px}
 body .dm-student-full-details{margin-top:12px;border:1px solid var(--dm-line,#e5e5ea);border-radius:12px;overflow:hidden;background:var(--surface,#fff);color:var(--dm-ink,#273549)}
 body .dm-student-full-details>summary{display:flex;gap:8px;align-items:center;padding:14px;list-style:none;cursor:pointer;font-size:13px;font-weight:600}
 body .dm-student-full-details>summary::-webkit-details-marker{display:none}
 body .dm-student-full-details>summary>.icon{width:16px;height:16px;transition:transform .18s}
 body .dm-student-full-details[open]>summary>.icon{transform:rotate(90deg)}
 body .dm-student-full-body{padding:0 12px 12px}
 body .dm-student-task-preview{display:grid;gap:7px;margin-top:12px}
 body .dm-student-task-preview button{display:flex;justify-content:space-between;gap:12px;padding:10px;border:0;border-radius:9px;background:var(--surface-2,#f2f2f7);color:var(--dm-ink,#273549);font:inherit;font-size:12px;text-align:left;cursor:pointer}
 body .dm-student-task-preview span{overflow-wrap:anywhere;min-width:0}
 body .dm-student-task-preview small{font-size:10px;color:var(--dm-muted,#667488);flex:0 0 auto}
 body .dm-payment-selection-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px;color:var(--dm-ink,#273549)}
 body .dm-payment-selection-tools>span{margin-right:auto;font-size:12px;font-weight:600}
 body .dm-payment-selection-tools>.btn{font-size:11px;padding:6px 9px;min-height:34px}
 body .dm-payment-workflow .multi-payment-row{padding:10px 12px;border-radius:11px}
 body .dm-payment-review{margin-top:12px;padding:15px;border:1px solid var(--dm-line,#e5e5ea);border-radius:12px;background:var(--surface-2,#f2f2f7);color:var(--dm-ink,#273549)}
 body .dm-payment-review[hidden]{display:none!important}
 body .dm-payment-review h3{font-size:15px;margin:0 0 5px;color:var(--dm-ink,#273549)}
 body .dm-payment-review p{font-size:12px;margin:0 0 10px;color:var(--dm-muted,#667488)}
 body .dm-payment-review ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
 body .dm-payment-review li,body .dm-payment-review-total{display:flex;justify-content:space-between;gap:12px;font-size:12px}
 body .dm-payment-review li>span{min-width:0;overflow-wrap:anywhere}
 body .dm-payment-review strong{flex:0 0 auto}
 body .dm-payment-review-total{border-top:1px solid var(--dm-line,#e5e5ea);margin-top:12px;padding-top:12px;align-items:center}
 body .dm-payment-review-total>strong{font-size:21px}
 body .dm-payment-review small{font-size:11px;color:var(--dm-muted,#667488);display:block;margin-top:9px}
 body .dm-payment-error{font-size:12px;color:var(--dm-ink,#273549);padding:0;margin:10px 0 0}
 body .dm-payment-error:empty{display:none}
 body .dm-quick-pay-search{display:flex;gap:9px;align-items:center;padding:8px 11px;border:1px solid var(--dm-line,#e5e5ea);border-radius:12px;background:var(--surface-2,#f2f2f7);color:var(--dm-ink,#273549)}
 body .dm-quick-pay-search>.icon{width:18px;flex:0 0 18px}
 body .dm-quick-pay-search input{width:100%;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:5px!important;color:var(--dm-ink,#273549)}
 body .dm-quick-pay-results{display:grid;gap:5px;margin-top:12px;max-height:50dvh;overflow:auto}
 body .dm-quick-pay-results>button{display:flex;align-items:center;gap:10px;min-height:53px;padding:10px;border:1px solid var(--dm-line,#e5e5ea);border-radius:10px;background:var(--surface,#fff);color:var(--dm-ink,#273549);font:inherit;cursor:pointer;text-align:left}
 body .dm-quick-pay-results>button>span{min-width:0;flex:1}
 body .dm-quick-pay-results strong{display:block;font-size:12px;overflow-wrap:anywhere}
 body .dm-quick-pay-results small,body .dm-quick-pay-hint{font-size:10px;color:var(--dm-muted,#667488)}
 body .dm-quick-pay-results>.icon{width:16px}
 body .dm-mobile-primary-action{display:none}
}
@media screen and (max-width:700px){
 body .dm-student-compact-profile .student-profile-head{gap:10px;padding-bottom:10px}
 body .dm-student-compact-profile .student-profile-avatar{width:42px;height:42px;font-size:15px;flex:0 0 42px}
 body .dm-student-compact-profile .student-profile-head h2{font-size:19px;margin:0 0 4px;overflow-wrap:anywhere}
 body .dm-student-compact-profile .student-profile-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body .dm-student-compact-profile .student-profile-kpis>div{padding:10px!important}
 body .dm-student-compact-profile .student-profile-kpis strong{font-size:19px!important}
 body .dm-student-compact-profile .student-profile-head-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:5px}
 body .dm-student-compact-profile .student-profile-head-actions>.btn{font-size:11px;min-height:36px;padding:7px;justify-content:center}
 body #app .dm-mobile-primary-action{display:block;position:fixed;right:18px;bottom:calc(94px + env(safe-area-inset-bottom) * 2);z-index:35;max-width:calc(100vw - 36px)}
 body #app .dm-mobile-primary-action>.btn{border-radius:999px;min-height:44px;padding:10px 15px;box-shadow:0 4px 16px #00000018;font-size:12px;gap:7px}
 body:has(#modalWrap,#mobileMorePortal) #app .dm-mobile-primary-action,body:has(input:focus,textarea:focus,select:focus) #app .dm-mobile-primary-action,body.dm-chat-page #app .dm-mobile-primary-action{display:none!important}
 body #app:has(.dm-mobile-primary-action) .content{padding-bottom:170px!important}
 body .dm-payment-footer{position:sticky;bottom:0;background:var(--surface,#fff);border-top:1px solid var(--dm-line,#e5e5ea);z-index:2;display:flex;flex-wrap:nowrap}
 body .dm-payment-footer>.btn-primary{flex:1;justify-content:center;font-size:12px}
}
@media(prefers-reduced-motion:reduce){body .dm-student-full-details>summary>.icon{transition:none}}
