/* 0.4.3: scoped shell, compact calendar and touch-friendly controls. */
:root{--sidebar-width:252px}
.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}
.app-shell>main{grid-column:2;margin:0 auto;width:100%;max-width:1640px;min-width:0;padding:0 clamp(18px,2.2vw,40px) 28px}
.app-shell>.app-sidebar{width:var(--sidebar-width);z-index:50}
.menu-toggle,.sidebar-close,.sidebar-backdrop{display:none}
.app-shell main .order-layout>aside{min-width:0}
.app-shell main .order-layout{min-width:0}
.orders-table{table-layout:fixed}.orders-table th:first-child{width:17%}.orders-table th:nth-child(2){width:19%}.orders-table th:nth-child(5){width:19%}
.orders-table td,.orders-table th{overflow-wrap:anywhere;padding:12px 10px}
.group-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.group-chip{display:inline-flex;align-items:center;gap:4px;background:#edf7f0;color:#31674a;border:1px solid #dbece1;border-radius:6px;padding:2px 6px;font-size:11px;max-width:100%;overflow-wrap:anywhere;line-height:1.5}.group-chip b{white-space:nowrap}
.group-more{border:0;padding:0;margin-top:3px}.group-more summary{color:#245faf;font-size:12px;padding:5px 0}.group-more .group-chip{background:#f3f6fa;color:#48617c}
.compact-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dce6f1;border:1px solid #dce6f1;border-radius:14px;overflow:hidden}
.compact-weekday{text-align:center;background:#edf4fc;padding:9px 0;font-weight:600;font-size:12px}
.compact-day{background:#fff;min-width:0;height:132px}.compact-day.outside{background:#f3f6fa}.outside-number{display:block;padding:10px;color:#97a5b6;font-size:12px}
.day-open{display:flex;flex-direction:column;width:100%;height:100%;background:transparent;color:#253b55;text-align:left;white-space:normal;border-radius:0;box-shadow:none;padding:10px;gap:6px;font-weight:400}
.day-open:hover{background:#f0f6ff;color:#253b55}.compact-day.today{background:#edf5ff}.compact-day.selected{box-shadow:inset 0 0 0 2px #3d7edb}.day-open:focus-visible{outline-offset:-3px}
.day-top{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:13px}.day-count{background:#eaf2fd;border-radius:999px;padding:1px 6px;color:#2c61a5;font-size:11px}
.day-preview{display:grid;gap:3px;width:100%;min-width:0;font-size:11px}.day-preview-line{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:3px solid #3d7edb;padding-left:5px}.day-preview-line.done{border-color:#49986c}.day-more{color:#6c809a;font-size:10px}
.day-status{display:flex;gap:8px;margin-top:auto;font-size:10px}.status-done{color:#28724a}.status-planned{color:#396caa}
.day-dialog{padding:22px;border:1px solid #dce6f1;border-radius:20px;max-width:760px;width:calc(100% - 40px);max-height:85vh;color:#172033;box-shadow:0 24px 90px #17315033}.day-dialog::backdrop{background:#14283d66}
.day-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.day-dialog-header h2{margin:0}.day-dialog-close{min-width:44px;min-height:44px}
.day-summary{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:#61748c;margin-bottom:14px}.day-event-list{display:grid;gap:10px}.agenda-event{border:1px solid #dfe7f1;border-left:3px solid #3d7edb;border-radius:12px;padding:14px;background:#f7faff;min-width:0}.agenda-event.done{border-left-color:#49986c;background:#f5fbf7}
.agenda-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.agenda-event-head strong{overflow-wrap:anywhere;font-size:14px}.agenda-event .event-time{font-size:12px;margin:6px 0}.agenda-order{display:block;overflow-wrap:anywhere}.agenda-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px}.agenda-actions .button{font-size:12px;padding:10px 12px;min-height:40px}.empty-day{padding:14px 0}.mobile-agenda{display:none}.calendar-note{font-size:12px}
@media(min-width:701px) and (max-width:1100px){:root{--sidebar-width:225px}.orders-table{table-layout:auto;min-width:900px}}
@media(max-width:900px){.app-shell main .order-layout>.order-venues{grid-row:auto}.app-shell main .order-venues{max-height:280px;overflow-y:auto}.compact-day{height:112px}.day-open{padding:7px}.day-preview-line{font-size:10px}}
@media(max-width:700px){
 .app-shell{display:block}.app-shell>main{margin:0;padding:0 12px 24px;width:100%;max-width:none}
 .app-shell>.app-sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);height:100dvh;overflow-y:auto;padding:24px 18px;transform:translateX(-105%);visibility:hidden;border-right:1px solid #dce6f1;border-bottom:0;background:#fff;transition:transform .18s ease}
 .app-shell.sidebar-open>.app-sidebar{transform:translateX(0);visibility:visible}
 .app-sidebar .brand{padding-right:30px;font-size:16px}.app-sidebar .section-name{display:block;margin-top:28px}.app-sidebar nav{display:grid;margin-top:12px;overflow:visible;gap:6px}.app-sidebar nav a{min-height:46px;font-size:14px;white-space:normal}.app-sidebar .aside-footer{display:block;margin-top:auto}.app-sidebar .sidebar-close{display:block;position:absolute;top:8px;right:8px;width:44px;height:44px;padding:0}
 .menu-toggle{display:inline-flex;align-items:center;min-height:44px;font-size:13px;padding:8px 12px}.sidebar-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:40;background:#14283d66;box-shadow:none;border-radius:0}.sidebar-backdrop:hover{background:#14283d66}
 .app-shell header{gap:10px;min-height:66px;height:auto;padding:10px 0;margin-bottom:18px}.header-breadcrumb{display:none}.app-shell header .badge{max-width:none;overflow-wrap:anywhere}
 h1{font-size:24px}.page-title{gap:10px;margin-bottom:16px}.page-title p{margin:8px 0;font-size:13px}.page-title>.button{align-self:flex-start}.card{padding:16px}.search{gap:8px}.search input{min-width:0}.search button{padding:10px 13px}
 input,select,textarea{font-size:16px;min-height:44px;max-width:100%;min-width:0}input[type=checkbox],input[type=radio]{min-height:0;width:auto}button,.button{min-height:44px}label{margin-top:14px}.field-grid,.field-grid.three{grid-template-columns:1fr}.field-grid.three p:first-child{grid-column:auto}.columns,.venue-grid{grid-template-columns:1fr}.actions{gap:8px}.actions a{padding:10px 0}.order-save{bottom:8px;gap:10px;padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom));z-index:5}.order-save button{white-space:normal;flex:1}.order-layout{gap:12px}.order-total strong{font-size:22px}.order-layout>.order-venues{max-height:220px}
 .table-wrap:has(.responsive-table){overflow:visible;padding:0;border:0;background:transparent;box-shadow:none}.responsive-table{display:block;min-width:0;width:100%;table-layout:auto}.responsive-table thead{display:none}.responsive-table tbody{display:grid;gap:12px}.responsive-table tr{display:block;background:#fff;border:1px solid #dfe7f1;border-radius:14px;padding:8px 12px}.responsive-table td{display:grid;grid-template-columns:minmax(90px,35%) minmax(0,1fr);gap:8px;padding:10px 0;overflow-wrap:anywhere;border-bottom:1px solid #edf1f6;min-width:0}.responsive-table td:before{content:attr(data-label);font-size:11px;color:#6d8099;font-weight:600}.responsive-table td>*{grid-column:2;min-width:0}.responsive-table td:first-child{display:block;font-weight:600;font-size:15px}.responsive-table td:first-child:before{display:none}.responsive-table td:last-child{border:0}.responsive-table td[colspan]{display:block;font-weight:400}.responsive-table td[colspan]:before{display:none}.group-chip{font-size:12px}.group-more summary{min-height:40px;display:flex;align-items:center}
 .calendar-toolbar{display:grid;gap:12px}.month-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-toolbar form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.calendar-toolbar form input,.calendar-toolbar form select{width:100%;font-size:14px;min-width:0}.calendar-toolbar form button{grid-column:1/-1}.compact-weekday{font-size:11px;padding:8px 0}.compact-day{height:68px}.day-open{padding:5px;gap:4px;align-items:center;text-align:center}.day-top{justify-content:center;gap:3px;font-size:13px}.day-count{font-size:9px;padding:0 4px}.day-preview{display:none}.day-status{font-size:9px;gap:4px;justify-content:center;flex-wrap:wrap;margin-top:4px}.outside-number{text-align:center;padding:8px 2px}.mobile-agenda{display:block;margin-top:14px}.mobile-agenda h2{font-size:17px}.day-summary{font-size:11px;gap:6px 10px}.agenda-event{padding:12px}.agenda-event-head{flex-wrap:wrap}.agenda-actions{gap:10px}.agenda-actions .button{min-height:44px}.agenda-actions>a:not(.button){padding:10px 0}.agenda-order{font-size:14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .card{min-width:0;padding:14px}.stats strong{font-size:20px;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.app-shell>.app-sidebar{transition:none}}
@media(max-width:700px){.app-shell main .order-layout{grid-template-columns:minmax(0,1fr)}.order-form,.order-form .card,.field-grid>*,.placement-line{min-width:0}.order-save{flex-wrap:wrap}.line-price{gap:8px;flex-wrap:wrap}.line-heading{gap:8px}.order-save button{min-width:0}.order-total{min-width:0;overflow-wrap:anywhere}}

.order-dates{display:grid;gap:3px;margin-top:8px;font-size:11px;color:#71829a;font-weight:400}.order-dates b{font-weight:550}.post-dates>a{display:block;margin:6px 0;font-size:11px;overflow-wrap:anywhere}.contact-people{margin-top:6px;font-size:12px}.contact-person{display:block;margin-top:5px;overflow-wrap:anywhere}.contact-person small{margin:0 0 3px;font-size:10px}.contact-person a{display:inline-block}.post-dates summary{font-weight:400}@media(max-width:700px){.order-dates{font-size:12px}.post-dates>a{padding:8px 0;font-size:12px}.contact-person a{padding:6px 0}.contact-people{grid-column:2}.post-dates summary{min-height:40px}}
