/* SĀKURĀ CRM V1.8.12. Loaded after the final desktop and POS styles.
   Responsive presentation only: the same components, data and role checks. */
:root { --device-safe-bottom:env(safe-area-inset-bottom,0px); }
.device-quicknav,.device-page-title,.device-drawer-close,.device-filter-toggle,
.device-disclosure-toggle,.device-calendar-hint { display:none; }
.filter-fields,.device-disclosure-body { display:contents; }
.work-filters>.filter-fields>label { min-width:180px; }
.device-disclosure { min-width:0; }
.responsive-filters .filter-fields[hidden] { display:none; }

/* Tablet landscape and portrait: give the workspace its full width. */
@media screen and (max-width:1100px) {
 html { scroll-padding-top:110px; }
 body { -webkit-text-size-adjust:100%; }
 .shell { min-height:100dvh; }
 .shell .main,.shell.sidebar-collapsed .main { width:100%;margin-left:0; }
 .shell .sidebar,.shell.sidebar-collapsed .sidebar {
  width:min(310px,calc(100vw - 36px));height:100dvh;padding:18px 16px calc(20px + var(--device-safe-bottom));
  transform:translateX(-105%);transition:transform .18s ease;z-index:310;overflow-y:auto;
  overscroll-behavior:contain;box-shadow:10px 0 40px #2d151922;
 }
 .shell .sidebar.open { transform:translateX(0); }
 .shell .sidebar nav { gap:5px; }
 .shell .sidebar nav button { justify-content:flex-start;padding:9px 10px;min-height:49px; }
 .shell .sidebar .nav-text,.shell .sidebar .navlabel,.shell .sidebar .sidebarfoot p { display:block; }
 .shell .sidebar .navdot { display:inline-block; }
 .shell .sidebar .sidebarfoot { justify-content:flex-start;padding:16px 6px 0; }
 .shell .sidebar .brand { height:145px;flex-shrink:0; }
 .shell .sidebar .brand-image { width:184px!important;height:127px!important; }
 .shell .sidebar .brand-image img { width:224px!important;height:224px!important;left:-20px!important;top:-62px!important; }
 .shell .sidebar-toggle { display:none; }
 .device-drawer-close { display:flex;position:absolute;right:12px;top:12px;z-index:2; }
 .scrim { display:block;position:fixed;inset:0;background:#25151b66;z-index:300;backdrop-filter:blur(2px); }
 .mobile { display:inline-flex; }
 .topbar { position:sticky;top:0;z-index:60;height:auto;min-height:76px;padding:12px 22px;flex-wrap:wrap;background:#fffffff5;backdrop-filter:blur(12px); }
 .topstart,.topend { min-width:0;gap:10px; }
 .bread { display:none; }
 .device-page-title { display:block;font-size:17px;line-height:1.35;font-weight:700;color:#71313b;overflow-wrap:anywhere; }
 .storepicker { min-width:0; }
 .storepicker select { width:100%;max-width:240px;font-size:16px;min-height:44px; }
 .topend .badge { white-space:normal; }
 .topbar .avatar { flex-shrink:0; }
 .back-control span { display:none; }
 .back-control { width:44px;padding:0; }
 main { padding:26px 24px;max-width:100%; }
 .main footer { padding:15px 24px 26px;flex-wrap:wrap; }
 .main main>* { min-width:0;max-width:100%; }
 .btn,.btn.small,.iconbtn { min-height:44px; }
 .iconbtn { width:44px;height:44px;flex-shrink:0; }
 .btn { white-space:normal;text-align:center;line-height:1.45; }
 .textbtn { min-height:44px;line-height:1.45; }
 input,select,textarea { min-height:44px;min-width:0;max-width:100%;font-size:16px; }
 input[type=checkbox],input[type=radio] { min-height:20px;min-width:20px;flex-shrink:0; }
 input[type=file] { white-space:normal;width:100%; }
 .search { min-width:0; }
 .search input { width:100%;min-width:0; }
 .actions { flex-wrap:wrap; }
 .pageheading,.sectionhead,.customer-hero { flex-wrap:wrap; }
 .pageheading>div,.sectionhead>div { min-width:0; }
 .pageheading h1 { font-size:31px;overflow-wrap:anywhere; }
 .pageheading .actions { max-width:100%; }
 .filters label,.formgrid label { min-width:0; }
 .date-filter { flex-wrap:wrap;min-width:0;max-width:100%; }
 .date-filter label { min-width:0;flex:1 1 150px; }
 .date-filter input,.date-filter select { width:100%;max-width:100%; }
 .stats,.work-stats,.report-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .stat,.work-stat,.report-stats>.card { min-width:0; }
 .work-stat>div { min-width:0; }
 .stat strong,.work-stat strong,.report-stats strong { overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }
 .report-grid,.help-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .chart-card { padding:20px; }
 .chart-card .recharts-responsive-container { min-width:0!important; }
 .work-grid { grid-template-columns:1fr; }
 .customer-workspace { grid-template-columns:1fr; }
 .customer-facts dl { display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);gap:12px 18px; }
 .customer-facts dt,.customer-facts dd { margin:0; }
 .customer-hero .actions { width:100%; }
 .tabs { max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding:10px;gap:7px;padding-bottom:3px;-webkit-overflow-scrolling:touch; }
 .tabs button { flex-shrink:0;min-height:46px; }
 .tablewrap { max-width:100%;min-width:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch; }
 .tablewrap table { min-width:650px; }
 .pos-grid,.pos-admin-modal .pos-grid { grid-template-columns:1fr;gap:16px; }
 .pos-payment,.pos-admin-modal .pos-payment { position:static; }
 .pos-payment .paybtn { max-width:none; }
 .pos-payment>label,.pos-payment .payment-total { max-width:none; }
 .pos-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .pos-fields label:nth-child(2) { grid-column:2/4; }
 .pos-fields label:nth-child(5) { grid-column:2/3; }
 .pos-fields label:nth-child(6) { grid-column:3/4; }
 .pos-line-top { flex-wrap:wrap; }
 .pos-line-top>label { min-width:0!important; }
 .overlay { padding:18px; }
 .modal { width:100%;max-width:960px;max-height:calc(100dvh - 36px);padding:24px;overscroll-behavior:contain;scroll-padding:88px 0 100px; }
 .modalhead { gap:12px; }
 .modalhead h2 { overflow-wrap:anywhere;min-width:0; }
 .modalfoot { flex-wrap:wrap; }
 .modal .formgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .modal .formgrid .wide { grid-column:1/-1; }
 .modal fieldset { min-width:0; }
 .pos-admin-modal { width:100%;max-height:calc(100dvh - 36px); }
 .pos-receipt-modal { max-height:calc(100dvh - 36px); }
 .reminder-popover { width:390px;max-height:calc(100dvh - 130px); }
 .ai-header { flex-wrap:wrap; }
 .ai-header>div:nth-child(2) { flex:1;min-width:0; }
 .ai-state { margin-left:0;white-space:normal; }
 .assistant-mode button { min-width:0;font-size:16px; }
 .ai-workspace,.preset-assistant { min-width:0; }
 .ai-check-grid { grid-template-columns:1fr; }
 .chat-toolbar { flex-wrap:wrap; }
 .chat-toolbar label { min-width:200px; }
 .chat-composer textarea { font-size:17px; }
 .ai-input textarea { font-size:16px; }
 .rich-toolbar button { min-width:44px;min-height:44px; }
 .rich-input { font-size:17px;scroll-margin:100px 0; }
 .login-card { margin-inline:auto; }
 .personal-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .personal-shortcuts button { min-width:0;padding:18px;gap:10px; }
 .calendar-toolbar .actions { flex-wrap:wrap;max-width:100%; }
 .calendar-toolbar strong { font-size:20px;overflow-wrap:anywhere; }
 .calendar-toolbar .segmented { max-width:100%; }
 .calendar-toolbar .segmented button { min-height:44px; }
 .calendar-grid { overflow-x:auto;grid-template-columns:repeat(7,minmax(110px,1fr)); }
 .calendar-grid.day-view { grid-template-columns:minmax(0,1fr); }
 .calendar-event { min-height:44px; }
 .toast { max-width:calc(100vw - 32px); }
}

@media screen and (min-width:601px) and (max-width:800px) {
 .topbar { gap:10px; }
 .topstart { flex:1 1 100%; }
 .topend { width:100%;justify-content:flex-end; }
 .topend .storepicker,.topend>.badge { flex:1; }
 .storepicker select { max-width:none; }
 .report-grid,.help-grid { grid-template-columns:1fr; }
 .topbar .avatar { display:grid; }
}

/* Phones: single-column workflows, full-screen dialogs and labelled records. */
@media screen and (max-width:600px) {
 html { scroll-padding-top:145px; }
 body { font-size:17px;line-height:1.55; }
 .main { padding-bottom:calc(76px + var(--device-safe-bottom)); }
 .topbar { padding:8px max(12px,env(safe-area-inset-left)) 10px;gap:7px; }
 .topstart { width:100%;gap:8px; }
 .topstart .mobile { order:0; }
 .topstart .back-control { order:1; }
 .device-page-title { order:2;flex:1;font-size:17px; }
 .topend { width:100%;gap:8px; }
 .topend>.storepicker,.topend>.badge { flex:1;min-width:0; }
 .storepicker { border:1px solid #e4c9cb;border-radius:9px;padding-left:10px;background:#fff7f7; }
 .storepicker select { max-width:none;padding:8px 6px;font-size:16px; }
 .topend>.badge { min-height:40px;display:flex;align-items:center;font-size:14px;padding:8px 12px; }
 .topend .avatar { display:none; }
 .topend .iconbtn { width:42px;height:42px;min-width:42px;min-height:42px; }
 main { padding:18px max(12px,env(safe-area-inset-left)) 22px max(12px,env(safe-area-inset-right)); }
 .main footer { padding:12px;font-size:12px; }
 h1,.pageheading h1 { font-size:27px;letter-spacing:-.5px; }
 h2 { font-size:21px; }
 .pageheading { margin-bottom:18px;gap:12px; }
 .pageheading .btn { font-size:16px; }
 .subtitle { font-size:16px;line-height:1.6;margin-top:8px; }
 .eyebrow { font-size:12px;letter-spacing:1px;margin-bottom:7px; }
 .page-guide { margin-bottom:17px; }
 .page-guide summary { padding:12px;font-size:14px; }
 .page-guide summary span { flex:1; }
 .page-guide ol { font-size:15px;line-height:1.7;padding:0 16px 16px 33px; }
 .page-guide summary:after { display:none; }
 .sectionhead { gap:10px;margin:22px 0 12px;align-items:flex-start; }
 .sectionhead h2 { font-size:20px;line-height:1.4;flex-wrap:wrap; }
 .sectionhead p,.tiny { font-size:14px; }
 .sectionhead .tiny { max-width:none;text-align:left; }
 .btn,.btn.small { padding:10px 12px;font-size:15px;min-height:44px; }
 .textbtn { font-size:15px; }
 .actions { gap:8px; }
 .actions .btn { flex:1 1 auto; }
 .tag,.badge { white-space:normal;max-width:100%;font-size:13px;overflow-wrap:anywhere; }
 .revenue-badge { font-size:13px; }
 .customer-value { gap:6px; }
 .customer-value small { font-size:14px; }
 .stats,.work-stats,.report-stats,.commerce-stats { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:17px 0; }
 .stat,.work-stat,.report-stats>.card,.commerce-stats>.card { padding:13px; }
 .stat strong,.work-stat strong,.report-stats strong,.commerce-stats strong { font-size:22px;letter-spacing:-.5px;line-height:1.3; }
 .stat span,.work-stat p,.report-stats span { font-size:13px; }
 .work-stat { display:block; }
 .work-stat .stat-icon { width:32px;height:32px;margin-bottom:8px; }
 .stat-icon svg { width:19px;height:19px; }
 .work-stat strong { display:block; }
 /* A phone metric is one full-width record. Reset the legacy first/second
    card spans, which otherwise create an implicit second track below 360px. */
 .work-stats { grid-template-columns:minmax(0,1fr); }
 .work-stats>.work-stat { grid-column:1/-1;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px 12px; }
 .work-stats>.work-stat>.stat-icon { grid-column:1;margin:0; }
 .work-stats>.work-stat>div { display:contents; }
 .work-stats>.work-stat>div>p { grid-column:2;margin:0;font-size:15px;line-height:1.5; }
 .work-stats>.work-stat>div>strong { grid-column:1/-1;margin-top:4px;font-size:clamp(20px,6vw,26px);line-height:1.35;white-space:normal;word-break:normal;overflow-wrap:anywhere; }
 .goalbar { padding:16px;gap:13px; }
 .goalbar>div:first-child { min-width:0;flex-basis:100%; }
 .goaltrack { min-width:90px; }
 .welcome { padding:22px 18px; }
 .welcome h2 { font-size:27px; }
 .welcome>div { max-width:100%; }
 .welcome p { max-width:100%; }
 .report-grid,.help-grid,.insight-grid { grid-template-columns:1fr;gap:16px; }
 .chart-card,.help-topic,.help-welcome,.insight-story,.insight-facts { padding:17px; }
 .chart-card h2 { font-size:20px;overflow-wrap:anywhere; }
 .chart-legend { gap:9px;font-size:13px; }
 .responsive-filters { display:block!important;min-width:0;padding:0!important;border:1px solid #e1c4c8;border-radius:10px;background:#fff;margin:17px 0;overflow:visible; }
 .device-filter-toggle { display:flex;align-items:center;gap:9px;background:#fff2f3;color:#7c2c39;font-size:15px;font-weight:650;padding:12px;width:100%;min-height:48px;border-radius:9px;text-align:left; }
 .device-filter-toggle span { flex:1; }
 .device-filter-toggle small { display:block;font-size:12px;font-weight:400;color:#8b6a6b;margin-top:4px;overflow-wrap:anywhere; }
 .filters-expanded>.device-filter-toggle { border-radius:9px 9px 0 0;border-bottom:1px solid #e1c4c8; }
 .filters-expanded>.device-filter-toggle>svg:last-child { transform:rotate(180deg); }
 .responsive-filters>.filter-fields { display:none; }
 .responsive-filters.filters-expanded>.filter-fields { display:flex;align-items:stretch;flex-wrap:wrap;gap:12px;padding:14px; }
 .filter-fields>*,.filter-fields>label,.filter-fields>.search,.customer-filters .filter-fields>label { width:100%;min-width:0!important;max-width:none!important;flex:1 1 100%!important; }
 .filter-fields>label:not(.search) { display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:14px; }
 .filter-fields select,.filter-fields input,.filters .filter-fields select { width:100%;max-width:none;min-height:46px;font-size:16px; }
 .filter-fields>.btn { flex:1 1 100%!important; }
 .filter-fields>.textbtn { justify-content:center; }
 .filter-fields>.segmented { display:flex; }
 .filter-fields .segmented button { flex:1;white-space:normal;min-height:44px;font-size:14px; }
 .filter-fields .date-filter { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%; }
 .filter-fields .date-filter label { min-width:0;max-width:100%; }
 .filter-fields .date-filter label:first-child { grid-column:1/-1; }
 .filter-fields .datefield { width:100%; }
 .filter-fields .datefield input { width:100%; }
 .search { width:100%;min-width:0;padding-left:10px; }
 .search input { font-size:16px; }
 .tablewrap { overflow-x:auto; }
 .tablewrap table.device-card-table,table.device-card-table { width:100%;min-width:0!important;display:block;border-collapse:separate; }
 .device-card-table thead { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
 .device-card-table tbody { display:grid;gap:12px;padding:12px; }
 .device-card-table tbody tr { display:block;min-width:0;border:1px solid #e9d9d6;border-radius:11px;padding:7px 13px;background:#fff;box-shadow:0 2px 5px #4a202006; }
 .device-card-table tbody tr.cancelled-row { background:#faf6f5; }
 .device-card-table tbody td { display:grid;grid-template-columns:minmax(85px,.7fr) minmax(0,1.3fr);column-gap:12px;align-items:start;padding:9px 0;border:0!important;font-size:15px;white-space:normal!important;min-width:0!important;width:auto!important;overflow-wrap:anywhere; }
 .device-card-table tbody td:before { content:attr(data-label);grid-column:1;font-size:13px;color:#81706b;line-height:1.55; }
 .device-card-table tbody td>* { grid-column:2;min-width:0;max-width:100%; }
 .device-card-table tbody td:first-child { display:block;padding-top:7px;padding-bottom:12px;border-bottom:1px solid #f1e8e5!important;margin-bottom:4px;font-weight:600; }
 .device-card-table tbody td:first-child:before { display:none; }
 .device-card-table tbody td:first-child>* { max-width:100%; }
 .device-card-table .rowlink { font-size:17px;min-height:40px; }
 .device-card-table .rowlink small,.device-card-table small { font-size:13px; }
 .device-card-table .record-link { flex-wrap:wrap;overflow-wrap:anywhere; }
 .device-card-table td>.actions { margin-top:0; }
 .device-card-table td>.actions .btn { flex:1 1 100%; }
 .device-card-table tfoot { display:block;background:#fbf4eb;padding:14px;border-top:1px solid #d8c6b3; }
 .device-card-table tfoot tr { display:flex;flex-wrap:wrap;gap:8px 16px; }
 .device-card-table tfoot th,.device-card-table tfoot td { display:block;min-width:0!important;padding:3px 0;font-size:15px;white-space:normal;overflow-wrap:anywhere;background:transparent;border:0; }
 .device-card-table tfoot th:empty,.device-card-table tfoot td:empty { display:none; }
 .device-wide-table { min-width:620px; }
 .pager { gap:8px;padding:12px;font-size:13px; }
 .pager>div { gap:10px; }
 .customer-hero { padding:18px;gap:14px; }
 .customer-hero h1 { font-size:26px; }
 .customer-hero>div>p:last-child { font-size:16px; }
 .customer-hero .actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
 .customer-hero .actions .btn { width:100%; }
 .customer-workspace { gap:16px; }
 .device-disclosure-toggle { display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:12px 14px;border:1px solid #dccbb6;border-radius:10px;background:#fbf6eb;color:#75563d;font-weight:650;font-size:15px;text-align:left; }
 .device-disclosure-body { display:none; }
 .disclosure-expanded>.device-disclosure-body { display:block;margin-top:10px; }
 .disclosure-expanded>.device-disclosure-toggle svg { transform:rotate(180deg); }
 .customer-facts { padding:17px; }
 .customer-facts dl { grid-template-columns:1fr;gap:5px; }
 .customer-facts dd { margin-bottom:12px; }
 .customer-main .tabs { margin-top:0; }
 .composer,.care-composer { padding:16px; }
 .composerfoot,.care-composer .composerfoot { align-items:stretch;flex-direction:column; }
 .composerfoot>span { max-width:none; }
 .care-composer .composerfoot .btn { width:100%; }
 .followup-box { padding:14px; }
 .check-inline { gap:10px;align-items:flex-start; }
 .followup-box label.check-inline { font-size:16px;line-height:1.5; }
 .note { padding:18px 15px; }
 .notecontent { font-size:16px;line-height:1.75; }
 .notetop { flex-wrap:wrap;gap:10px; }
 .notetop strong { font-size:16px; }
 .notetop span:not(.tag) { font-size:13px; }
 .note-actions { width:100%;margin:0; }
 .rich-toolbar { gap:6px;padding:7px; }
 .rich-toolbar span { flex-basis:100%;margin-left:0;font-size:12px; }
 .rich-input { font-size:17px;min-height:160px;padding:12px; }
 .taskcard { padding:17px 14px; }
 .tasktitle { flex-wrap:wrap;align-items:flex-start; }
 .tasktitle strong { font-size:16px;min-width:0;overflow-wrap:anywhere; }
 .taskmeta { font-size:13px; }
 .taskmeta .btn { width:100%;margin-left:0; }
 .taskcard>p { font-size:15px; }
 .personal-shortcuts { gap:9px; }
 .personal-shortcuts button { display:flex;flex-wrap:wrap;padding:14px;font-size:14px;gap:8px; }
 .personal-shortcuts button strong { flex-basis:calc(100% - 34px); }
 .personal-shortcuts button>svg:last-child { display:none; }
 .calendar-toolbar { gap:12px; }
 .calendar-toolbar>.actions { display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;width:100%; }
 .calendar-toolbar .actions strong { font-size:17px;text-align:center;align-self:center; }
 .calendar-toolbar .actions>.btn { grid-column:1/2;min-width:100px; }
 .calendar-toolbar .actions>input { grid-column:2/4;width:100%;max-width:none;min-width:0;justify-self:end; }
 .calendar-toolbar>.segmented { width:100%;display:flex; }
 .calendar-toolbar>.segmented button { flex:1;font-size:14px;padding:8px 5px; }
 .calendar-toolbar>.btn { width:100%; }
 .calendar-legend { gap:7px;font-size:12px; }
 .device-calendar-hint { display:block;font-size:14px;color:#7c6a64;margin:10px 0; }
 .calendar-grid.month-view { grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border-radius:10px; }
 .month-view .calendar-weekday { font-size:11px;padding:9px 1px; }
 .month-view .calendar-cell { padding:2px;min-height:67px; }
 .month-view .calendar-date { min-height:60px;padding:5px 1px;display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:15px; }
 .month-view .calendar-date span { display:block;background:#f0dfde;border-radius:10px;min-width:21px;font-size:12px;color:#84313c; }
 .month-view .calendar-date span:empty { min-height:0;background:none; }
 .month-view .calendar-event,.month-view .calendar-cell>.textbtn { display:none; }
 .calendar-grid.week-view,.calendar-grid.day-view { display:grid;grid-template-columns:minmax(0,1fr);overflow:visible; }
 .week-view .calendar-weekday { display:none; }
 .week-view .calendar-cell,.day-view .calendar-cell { padding:12px;min-height:100px; }
 .week-view .calendar-date,.day-view .calendar-date { min-height:44px;font-size:16px; }
 .week-view .calendar-event,.day-view .calendar-event { padding:12px; }
 .calendar-event strong,.day-view .calendar-event strong { font-size:16px; }
 .calendar-event span,.calendar-event small { font-size:13px; }
 .week-view .calendar-cell>.textbtn { font-size:14px; }
 .pos-section,.pos-payment { padding:16px; }
 .pos-section .sectionhead,.pos-payment .sectionhead { gap:10px;flex-wrap:wrap;margin-bottom:16px; }
 .pos-line { padding:12px; }
 .pos-line-top { gap:8px; }
 .pos-line-top strong { flex:1;font-size:14px; }
 .pos-line-top>.btn { font-size:14px; }
 .pos-line-top>label { flex-basis:100%!important;width:100%; }
 .pos-fields { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
 .pos-fields label:nth-child(n) { grid-column:auto;min-width:0;font-size:14px; }
 .pos-fields label:nth-child(1),.pos-fields label:nth-child(2) { grid-column:1/-1; }
 .pos-fields input { font-size:16px;min-height:46px; }
 .line-total { justify-content:space-between;gap:10px;flex-wrap:wrap; }
 .line-total strong { font-size:19px; }
 .picked-customer { align-items:flex-start;padding:13px;gap:9px; }
 .picked-customer>div { min-width:0; }
 .picked-customer strong { font-size:17px;overflow-wrap:anywhere; }
 .picked-customer span { overflow-wrap:anywhere; }
 .customer-results button { flex-direction:column;gap:3px;min-height:58px; }
 .payment-total { margin:18px 0;padding:17px; }
 .payment-total strong { font-size:28px;overflow-wrap:anywhere; }
 .pos-payment dl { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px; }
 .pos-payment dd { margin:0; }
 .pos-payment .paybtn { width:100%;min-height:50px; }
 .overlay,.pos-editor-overlay { padding:0;top:var(--device-viewport-top,0px);bottom:auto;height:var(--device-viewport-height,100dvh);align-items:stretch; }
 .modal,.pos-admin-modal,.pos-receipt-modal { width:100%;max-width:none;height:100%;max-height:100%;border-radius:0;padding:16px max(16px,env(safe-area-inset-right)) calc(24px + var(--device-safe-bottom)) max(16px,env(safe-area-inset-left));overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch; }
 .modalhead { position:sticky;top:-16px;z-index:8;background:#fff;padding:14px 16px;margin:-16px -16px 20px;border-bottom:1px solid #e7d5d3;box-shadow:0 3px 8px #44202008; }
 .modalhead h2 { font-size:20px;line-height:1.4; }
 .modalhead .iconbtn { align-self:flex-start; }
 .modal .formgrid,.formgrid { grid-template-columns:minmax(0,1fr);gap:15px; }
 .modal .formgrid input,.modal .formgrid select,.modal textarea { font-size:17px; }
 .modalfoot { position:sticky;bottom:calc(-24px - var(--device-safe-bottom));z-index:5;background:#fffaf8;display:flex;gap:9px;flex-wrap:wrap;padding:14px 0 calc(14px + var(--device-safe-bottom));margin-top:22px;border-top:1px solid #dec4c2; }
 .modalfoot .btn { flex:1 1 130px;min-width:0; }
 .modalfoot .btn.primary { min-height:48px; }
 .order-facts,.detailgrid,.raw dl { grid-template-columns:minmax(0,1fr);gap:6px;padding:16px;font-size:15px; }
 .order-facts dd,.detailgrid dd,.raw dd { margin-bottom:12px; }
 .orderhead .actions { gap:9px; }
 .orderhead .actions .btn { flex:1 1 130px; }
 .payment-summary { padding:16px; }
 .payment-summary strong { font-size:24px;overflow-wrap:anywhere; }
 .pos-admin-modal .pos-grid { grid-template-columns:minmax(0,1fr); }
 .pos-admin-modal .pos-admin-intro { font-size:15px;overflow-wrap:anywhere; }
 .pos-admin-modal .pos-payment-method select { min-height:48px;font-size:16px; }
 .pos-admin-modal .pos-receipt { display:block; }
 .pos-admin-modal .pos-receipt .btn { margin-top:10px;width:100%; }
 .pos-receipt-allocations { grid-template-columns:minmax(0,1fr); }
 .pos-receipt-allocations label { min-width:0;display:grid;gap:8px; }
 .pos-receipt-allocations input { width:100%; }
 .ai-header { padding:15px;gap:9px; }
 .ai-header h2 { font-size:19px;line-height:1.4; }
 .ai-header p { font-size:13px; }
 .ai-state { font-size:12px;margin-left:48px; }
 .sakura-chat { padding:16px; }
 .sakura-chat .ai-header { margin:-16px -16px 15px; }
 .sakura-chat .ai-state { margin-left:0; }
 .sakura-chat .ai-message-area,.compact.sakura-chat .ai-message-area { min-height:180px;max-height:55dvh;padding:0; }
 .chat-toolbar { flex-direction:column;align-items:stretch;gap:10px; }
 .chat-toolbar label { min-width:0; }
 .chat-toolbar .btn { width:100%; }
 .chat-target { padding:11px;font-size:14px;flex-wrap:wrap; }
 .assistant-mode { gap:5px;padding:5px; }
 .assistant-mode button { padding:10px 7px;font-size:14px;line-height:1.45; }
 .preset-assistant,.preset-assistant.compact { padding:16px; }
 .preset-select select { font-size:16px; }
 .sakura-chat .ai-message { padding:13px;margin:12px 0; }
 .chat-content,.chat-message p { font-size:16px; }
 .chat-customer { padding:12px!important; }
 .chat-compose-footer { flex-direction:column;align-items:stretch;gap:10px; }
 .chat-compose-footer .btn { width:100%; }
 .chat-compose-footer small { font-size:12px; }
 .prompt-chips { flex-direction:column; }
 .prompt-chips button { min-width:0;width:100%;font-size:15px;min-height:48px; }
 .chat-composer textarea { min-height:110px;scroll-margin:30px 0; }
 .analysis-answer,.analysis-draft { font-size:16px;padding:13px; }
 .analysis-metrics { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
 .analysis-metrics span { min-width:0;padding:12px;overflow-wrap:anywhere; }
 .analysis-customer .actions { flex-direction:column; }
 .analysis-customer .actions .btn { width:100%; }
 .ai-footer { font-size:12px;flex-wrap:wrap; }
 .reminder-popover { position:fixed;left:12px;right:12px;top:128px;width:auto;max-width:none;max-height:calc(100dvh - 220px);padding:17px; }
 .reminder-popover h3 { font-size:19px; }
 .reminder-count { font-size:11px;top:0;right:-3px;background:#8b2b2d;color:#fff;border:2px solid #fff; }
 .notice { font-size:14px;padding:14px;line-height:1.65;overflow-wrap:anywhere; }
 .error { font-size:15px;align-items:flex-start;overflow-wrap:anywhere; }
 .formhint { font-size:13px; }
 .admin-import,.migration-panel { padding:16px; }
 .admin-import .actions { flex-direction:column; }
 .admin-import .actions .btn { width:100%; }
 .grant-stores { padding:14px; }
 .grant-stores .check { padding:8px 0; }
 .entry { margin:24px auto;padding:12px;max-width:100%; }
 .entry .login-card { width:100%;padding:24px 18px; }
 .login-card h1 { font-size:25px;letter-spacing:0; }
 .login-card p { font-size:15px; }
 .login-card input { font-size:17px; }
 .login-card .login-logo { width:155px;max-width:100%; }
 .device-quicknav { display:block;position:fixed;left:0;right:0;bottom:0;z-index:75;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + var(--device-safe-bottom)) max(8px,env(safe-area-inset-left));background:#fffffff7;border-top:1px solid #e5c7ca;box-shadow:0 -4px 18px #52242409;backdrop-filter:blur(12px); }
 .device-quicknav>div { display:flex;gap:4px;max-width:600px;margin:auto; }
 .device-quicknav button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0;min-height:53px;padding:5px 2px;border-radius:9px;background:transparent;color:#87706f;font-size:11px;line-height:1.3;text-align:center; }
 .device-quicknav button.active { background:#f9e6e9;color:#842d3b;font-weight:750; }
 .device-quicknav button:focus-visible { outline:3px solid #ae763c;outline-offset:0; }
 .device-editing .device-quicknav { display:none; }
 .toast { left:12px;right:12px;bottom:calc(85px + var(--device-safe-bottom));font-size:15px;padding:13px 15px;max-width:none; }
 .device-editing .toast { bottom:15px; }
}

@media screen and (max-width:359px) {
 .stats,.work-stats,.report-stats,.commerce-stats { grid-template-columns:minmax(0,1fr); }
 .work-stat { display:flex; }
 .work-stat .stat-icon { margin:0; }
 .device-page-title { font-size:16px; }
 .device-card-table tbody { padding:8px; }
 .device-card-table tbody td { grid-template-columns:minmax(72px,.7fr) minmax(0,1.3fr);gap:8px; }
 .customer-hero .actions { grid-template-columns:minmax(0,1fr); }
 .personal-shortcuts { grid-template-columns:minmax(0,1fr); }
 .modalfoot .btn { flex-basis:100%; }
}

@media screen and (pointer:coarse) and (min-width:1101px) {
 .btn.small,.iconbtn,.rich-toolbar button { min-height:44px;min-width:44px; }
 input,select { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
 .shell .sidebar { transition:none; }
}
@media print {
 .device-quicknav,.device-drawer-close,.device-page-title,.device-filter-toggle,.device-disclosure-toggle,.device-calendar-hint { display:none!important; }
 .filter-fields,.device-disclosure-body { display:contents!important; }
}
