/* Round19: approved mobile hierarchy. Overrides old additive layout only here. */
[hidden]{display:none!important}
body{background:#f2f2f7}
main{max-width:620px;margin:0 auto;padding:10px 12px 100px}
body[data-phone-page] main>.bar{display:flex!important;align-items:center;gap:8px;margin:0 0 10px;padding:0 2px;min-height:36px}
body[data-phone-page] main>.bar{margin-bottom:2px!important;min-height:28px!important;padding:0 2px!important}
body[data-phone-page] main>.bar #header-settings{height:28px!important;min-height:28px!important;padding:0 6px!important}
body[data-phone-page=settings] #display-card{padding-top:0!important}
body[data-phone-page=settings] .settings-header{min-height:36px;margin-bottom:10px}
body[data-phone-page=plans] main{gap:2px!important}
body[data-phone-page=plans] #schedule-card{padding-top:0!important}
body[data-phone-page=plans] .planned-page-head{min-height:38px;margin-bottom:8px}
main>.bar .brand{font-size:17px!important;font-weight:650;color:#182234}
main>.bar .plan{font-size:11px!important;padding:3px 7px;line-height:1.3}
#send-panel{gap:9px!important}
#send-panel .compose-heading h2{font-size:15px!important}
#send-panel .message-option>label{font-size:15px!important}
#send-panel #reply-recent .reply-recent-entry__title{font-size:15px!important}
#send-panel #voice-settings-open,#send-panel #reply-settings-open{font-size:14px!important}
#send-panel #target-manage-entry{font-size:14px}
#class-bar{margin:0;min-height:44px;padding:8px 10px;gap:7px}
#class-bar-name{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
#target-manage-entry{font-size:12px;padding:5px 3px;min-height:36px;border:0;background:transparent;flex:none}
#header-settings{display:block!important;width:auto!important;height:36px;min-height:36px!important;padding:4px 8px!important;font-size:14px!important;font-weight:500;color:#0866d7!important;margin-left:auto}
#main-mode-segments{margin:0;padding:4px;min-height:42px}
#main-mode-segments button{min-height:34px;padding:7px;font-size:14px}
#compose-card{padding:12px;margin:0} .compose-heading{margin-bottom:8px}
#text{display:block;box-sizing:border-box;width:100%;min-height:86px;height:86px;font-size:16px!important;padding:10px!important;margin:0;resize:none;border:0;border-radius:12px}
#preview-toggle{min-height:32px;padding:4px 2px;background:transparent!important;color:#0866d7!important;font-size:13px;border:0}
#compose-card[data-mode=marquee] #text{min-height:64px;height:64px}
.compose-editor-footer,#count,#editor-state,#who,#sender-nav{display:none!important}
#message-options{padding:0 12px;margin:0}
.message-option{min-height:44px;gap:4px}.message-option>label{font-size:14px;white-space:nowrap}
.message-option .option-actions{gap:6px;min-width:0;flex:0 0 auto}
#reply-settings-open,#voice-settings-open,#reply-recent{font-size:12px!important;padding:4px 2px!important;min-height:36px;background:transparent;border:0}
#reply-recent .reply-recent-entry__title{font-size:12px!important}
#reply-recent{flex:1!important;justify-content:flex-start!important;gap:6px!important;font-size:14px!important;text-align:left!important;min-width:0}
#reply-recent .reply-recent-entry__title{font-size:14px!important;font-weight:400}
#reply-recent::before{content:'';width:13px;height:11px;border:1.4px solid #333;border-radius:4px;flex:none;margin-right:8px}
#reply-recent-count{display:none!important}#reply-recent-unread{min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:#ed4545;color:white;font-size:10px;line-height:16px;text-align:center;box-sizing:border-box}
#reply-flash[data-placement=below-options]{position:static!important;inset:auto!important;box-sizing:border-box;width:100%;margin:0;padding:12px 14px;box-shadow:none;background:#eaf3ff;color:#145a9f;border:1px solid #d4e5fa;border-radius:14px}
#reply-flash[data-placement=below-options] .reply-flash__label{font-size:11px;letter-spacing:0;background:transparent;border:0;padding:0;max-width:45%;white-space:normal;overflow-wrap:anywhere}
#reply-flash[data-placement=below-options] #reply-flash-text{font-size:17px;font-weight:600}
#reply-flash[data-placement=below-options] #reply-flash-close{background:#dceafb;color:#145a9f;border:0}
.option-actions input[role=switch]{flex:none;margin-left:3px;width:40px!important;height:24px!important}
#duration{font-size:14px;min-height:34px;min-width:76px;background:#f6f7fb}
#sendbar-main #send{order:0}#sendbar-main #sch-quick{order:1;background:#eaf2ff;color:#0866d7;min-width:66px}
#sendbar .status:empty{display:none}#send-feedback{display:none!important}
body[data-phone-page=settings] #class-bar,body[data-phone-page=plans] #class-bar,body[data-phone-page=replies] #class-bar{display:none!important}
body[data-phone-page=replies] #main-mode-segments{display:none!important}
#display-card,#schedule-card,#reply-page{margin:0;padding:14px;border:0;background:transparent;box-shadow:none}
.settings-header,.planned-page-head{gap:8px;align-items:center;margin:0 0 16px;min-height:38px}
.settings-header h2,.planned-page-head h2{font-size:18px;text-align:center;flex:1}
.settings-header,.planned-page-head{position:relative;min-height:44px;justify-content:space-between}
.settings-header h2{position:absolute;left:80px;right:80px;margin:0;pointer-events:none}
.settings-header>button{z-index:1}.settings-header #account-defaults-save{margin-left:auto;max-width:88px}
.settings-header>button,.planned-page-head>button{min-height:44px;padding:6px 8px;background:transparent;border:0;font-size:17px;flex:none}
.settings-header #settings-back,.settings-header #reply-back,.planned-page-head #planned-back{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;min-width:64px;max-width:calc(50% - 52px);white-space:nowrap;color:#007aff;line-height:1.2;font-weight:400;touch-action:manipulation;padding-left:4px}
#settings-back::before,#reply-back::before,#planned-back::before{content:'';display:block;flex:0 0 11px;width:11px;height:11px;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);margin-left:3px}
.settings-index{background:white;border-radius:16px;overflow:hidden;margin-bottom:12px}
.settings-index>button,.mobile-setting-rows>button{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:12px 14px;background:white;border:0;border-bottom:1px solid #edf0f5;text-align:left;font-size:14px;color:#202632;border-radius:0}
#mobile-settings-index[data-grouped],#mobile-more-index[data-grouped]{background:transparent;overflow:visible}
.mobile-setting-group{margin:0 0 14px}
.mobile-setting-group>h3{margin:0 0 6px 14px;font-size:12px;font-weight:400;color:#8e8e93;line-height:1.4}
.mobile-setting-rows{border-radius:14px;overflow:hidden;background:white}
.mobile-setting-rows>button:last-child{border-bottom:0}
#account-unbind-open,#account-unbind-confirm-btn{color:#ff3b30!important;background:#fff2f0!important;border-color:#ffdad5!important}
.settings-index>button:last-child{border-bottom:0}.settings-index .nav-icon{width:22px;color:#0866d7;text-align:center;font-size:18px}.settings-index .nav-arrow{margin-left:auto;color:#98a0ad;font-size:22px}
.settings-index .nav-icon--ios{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:7px;color:#fff;line-height:1}
.nav-icon--ios svg{display:block;width:20px;height:20px}
#display-card[data-detail]>details[open]>summary{display:none}
#display-card[data-detail] .inner{padding:0}.settings-about,.settings-shortcuts,.send-preferences,.duty-entry{background:white;border-radius:15px;padding:14px;border:0}
#display-card[data-detail]>details{border:0;background:transparent;margin:0}
#display-card[data-detail]>details>.inner{padding:16px;border-radius:16px;background:#fff}
#display-card[data-detail="pro-details"] #pro-body{padding:16px;border-radius:16px;background:white}
#mobile-feedback-style>h3{display:none}.settings-header h2{white-space:nowrap}
#display-card .duty-entry__head h3{display:none}
#display-card[data-detail] input:not([type=checkbox]):not([type=range]),#display-card[data-detail] select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;padding:9px 11px;background:#f5f5fa;border:1px solid #e3e6ef;border-radius:11px;font-size:15px;color:#182234}
#display-card[data-detail] input[type=range]{width:100%;accent-color:#0866d7;min-height:36px;margin:8px 0 16px}
#display-card[data-detail] .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#display-card[data-detail] .row>*{min-width:0;max-width:100%}
#display-card[data-detail] label{font-size:14px;line-height:1.5}#display-card[data-detail] .fieldhint{font-size:12px;line-height:1.55}
#display-card[data-detail] .defaults-box{padding:10px 14px;background:transparent;border:0}.defaults-box .fieldhint{margin:0}
#display-card[data-detail] .switch{padding:12px 0}
.settings-shortcuts__row{display:grid!important;grid-template-columns:minmax(0,1fr);gap:8px!important}.settings-shortcuts__row>*{width:100%!important;max-width:100%!important;min-width:0!important;flex:initial!important;white-space:normal!important}
.settings-shortcuts>h3{display:none}.settings-shortcuts__row>button{display:flex;align-items:center;justify-content:space-between;padding:12px;min-height:46px;background:#f5f5fa;color:#0866d7}
#countdown-open{font-size:14px!important;min-height:46px!important;padding:12px!important;text-align:left}
#mobile-feedback-style [aria-pressed=true]{background:#eaf2ff!important;border-color:#c9ddff!important;font-weight:600}
#mobile-feedback-style [aria-pressed=true]::after{content:'✓';margin-left:auto;color:#007aff;font-size:18px}
#countdown-sheet{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
#countdown-sheet .sheet{box-sizing:border-box;width:100%;max-width:520px;max-height:calc(100dvh - 20px);overflow:auto;display:flex;flex-direction:column;gap:14px;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border:0;border-radius:22px 22px 0 0}
#countdown-sheet input,#countdown-sheet select{box-sizing:border-box;min-width:0;width:100%;border:1px solid #dce1eb;border-radius:12px;padding:10px;background:#f7f7fb;font-size:18px;min-height:46px}
#countdown-sheet .split{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px}#countdown-sheet .split button{min-width:0;min-height:46px;padding:8px;font-size:14px}
#countdown-sheet label{font-size:13px;color:#626978}#countdown-sheet .fieldhint{margin:0;line-height:1.5;font-size:12px}
#smart-details-toggle{display:none!important}#smart-delivery-details{margin-top:12px}.smart-delivery-row{flex-wrap:wrap}.smart-delivery-title{font-size:14px}
.smart-timetable-dates{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.smart-timetable-dates>label{min-width:0!important;overflow:hidden}.smart-timetable-dates input[type=date]{width:100%!important;max-width:100%!important;min-width:0!important;font-size:13px!important;padding:8px!important}
.smart-validity .smart-timetable-dates{grid-template-columns:minmax(0,1fr)!important}
.smart-validity summary{color:#0866d7;font-size:13px;min-height:40px}
.shared-period-row{display:grid!important;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 38px;gap:5px!important;align-items:center}
.shared-period-row>input{grid-column:1/-1;min-width:0}.shared-period-row>button{min-width:0;min-height:40px;padding:7px;font-size:13px}
.shared-week-checks{gap:4px}.shared-week-checks label{min-width:0;padding:6px 2px}
.schedule-week-chip{border:0!important;background:transparent!important;min-height:62px!important;border-radius:16px!important}
.schedule-week-chip[aria-pressed=true]{background:#0866d7!important;color:white!important}.schedule-week-selected{border:0!important;padding:0!important;background:transparent!important}
.schedule-week-event{padding:12px!important}.schedule-task__device{font-size:12px}.schedule-week-event.is-done{text-decoration:line-through;background:#eaecf1!important}
.schedule-week-event{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:8px!important;align-items:start!important;padding:0!important;background:transparent!important;border:0!important;margin:10px 0}
.schedule-week-event__time{padding-top:14px;font-size:13px!important;color:#6f7785}
.schedule-week-card{min-width:0;padding:12px!important;border:0!important;background:#eaf1ff!important;border-radius:14px}
.schedule-week-card .schedule-task__title,.schedule-week-card .schedule-task__when,.schedule-week-card>.schedule-task__state{display:none}
.schedule-week-card .schedule-task__device{margin-bottom:7px;font-size:11px;color:#64758a}
.schedule-week-card .schedule-task__message{font-size:15px;line-height:1.5}
.schedule-week-card .schedule-task__actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.schedule-week-card .schedule-task__actions button{background:transparent;border:0;font-size:12px;min-height:32px;padding:3px 4px;color:#0866d7}
.schedule-week-card .schedule-task__actions button:last-child{display:none}
.schedule-week-card .schedule-task__actions button::after{content:' ›'}
.schedule-week-card:has(.is-completed){background:#eceef3!important}.schedule-week-card .is-completed{text-decoration:line-through;color:#78818e}
#sch-form{display:none}#schedule-card[data-editor=true] #sch-form{display:flex}
.planned-page-head__title{flex:1;text-align:center}.planned-page-head__title h2{margin:0}
.planned-page-head{display:grid!important;grid-template-columns:90px minmax(0,1fr) 90px!important;gap:0!important}.planned-page-head__title{grid-column:2}.planned-page-head__title h2{font-size:18px!important}
.planned-page-head__title h2{display:block!important;text-align:center!important}
#planned-device{display:none!important}
.planned-page-head__target,.planned-page-head #sch-pill,#schedule-card>.sch-meta,#schedule-card>.hintline{display:none!important}
#sch-new-once{min-height:42px;padding:9px;font-size:15px}
#sch-form-title{display:none}#sch-form .fieldhint{font-size:12px;line-height:1.5;margin:0}
#sch-form .payload-preview{display:none!important}
#sch-form:has(#sch-mode option[value="once"]:checked) #sch-name,#sch-form:has(#sch-mode option[value="once"]:checked) label[for="sch-name"]{display:none!important}
#sch-form>.split{position:sticky;bottom:0;background:#f2f2f7;padding:10px 0;margin-top:2px;z-index:5}
#sch-save-btn{background:#0866d7!important;color:white!important;min-height:46px;font-size:15px}
#schedule-card[data-editor=true] .sch-meta,#schedule-card[data-editor=true]>.hintline,#schedule-card[data-editor=true]>#sch-new-once,#schedule-card[data-editor=true]>.schedule-view-switch,#schedule-card[data-editor=true] #sch-body> :not(#sch-form){display:none!important}
#schedule-card[data-editor=true] #sch-body{display:block!important}#sch-form .row{display:grid!important;grid-template-columns:1fr!important;gap:12px}
.schedule-time-entry{display:block!important}.schedule-time-entry>input,.schedule-time-entry>#sch-time-mode-toggle,#sch-time-entry-hint{display:none!important}
#schedule-clock-button{width:100%;min-height:48px;text-align:left;padding:12px;font-size:18px;font-weight:600;background:white;color:#0866d7;border:1px solid #dce4f2;border-radius:12px}
#schedule-clock-button::after{content:' ›';float:right}#sch-form .payload-preview{font-size:13px;padding:10px}#sch-form label{font-size:14px}
#sch-message{font-size:16px;min-height:84px;height:84px;background:white;padding:10px;border-radius:12px}
.touch-clock{border:0;border-radius:20px;padding:18px;max-width:400px;width:calc(100% - 24px);box-sizing:border-box;background:#f2f2f7;color:#181e28;max-height:calc(100dvh - 24px);overflow:auto}
.touch-clock::backdrop{background:#17244255;backdrop-filter:blur(4px)}.touch-clock header{display:flex;align-items:center;margin-bottom:14px}.touch-clock header h2{flex:1;text-align:center;font-size:18px;margin:0}.touch-clock header>button,.touch-clock header>span{width:66px;min-height:38px;background:transparent;color:#0866d7;border:0;padding:0;text-align:left;font-size:14px}
.clock-modes{display:flex;background:#e4e5ed;border-radius:12px;padding:4px;margin-bottom:22px}.clock-modes button{flex:1;background:transparent;color:#151c28;border:0;padding:10px;min-height:40px}.clock-modes button[aria-pressed=true]{background:white;color:#0866d7;box-shadow:0 2px 6px #18285012}
.clock-digits{display:flex;justify-content:center;align-items:center;gap:16px;margin:14px 0 24px}.clock-digits button{width:96px;min-height:76px;background:white;color:#0866d7;border:1px solid #dce5f6;font-size:36px;border-radius:16px}.clock-digits button[aria-pressed=true]{border-color:#0866d7}.clock-digits>span{font-size:30px}
.clock-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.clock-keypad button{min-height:48px;background:white;color:#18202c;font-size:23px;border:0;border-radius:12px}
.clock-confirm{margin-top:12px;min-height:46px}.clock-error{min-height:18px;font-size:13px;color:#c33434;margin:10px 0 0}
.clock-wheels{display:flex;justify-content:center;align-items:center;gap:20px;margin:18px 0}.clock-wheels>div{height:220px;overflow-y:auto;scroll-snap-type:y mandatory;padding:88px 0;box-sizing:border-box;width:96px;background:white;border-radius:16px;scrollbar-width:none}.clock-wheels button{display:block;height:44px;min-height:44px;width:100%;scroll-snap-align:center;border:0;background:white;color:#0866d7;font-size:26px;padding:0}.clock-wheels>span{font-size:30px}
@media(max-width:350px){.message-option>label{font-size:13px}.option-actions{gap:3px!important}#reply-recent .reply-recent-entry__title,#reply-settings-open{font-size:11px!important}}
#acct-inline-identity[hidden]{display:none!important}
.account-identity{padding:16px;background:#fff;border-radius:14px;border:1px solid #e6e9ef;min-width:0}
.account-identity__label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:#6b7280}
.account-identity__label span{font-size:12px;color:#218453;background:#eaf7ef;border-radius:8px;padding:3px 7px}
.account-identity__email{margin-top:9px;font-size:17px;font-weight:600;line-height:1.45;color:#172033;overflow-wrap:anywhere}
.account-identity__name{margin-top:6px;font-size:13px;color:#6b7280;overflow-wrap:anywhere}
#acct-inline-authorizations[hidden]{display:none!important}
.account-authorizations{padding:14px;background:white;border:1px solid #e6e9ef;border-radius:14px;min-width:0}
.account-authorizations h3{margin:0 0 10px;font-size:15px}
.account-computer{display:grid;gap:5px;padding:10px 0;overflow-wrap:anywhere}
.account-computer+.account-computer{border-top:1px solid #edf0f5}
.account-computer b{font-size:14px}.account-computer span{font-size:12px;color:#687386;line-height:1.5}
