:root{--color-bg:#f2fbfe;--color-surface:#fff;--color-surface-soft:#e9f8fd;--color-panel:#fff;--color-border:#bddce6;--color-border-strong:#0069c1;--color-text:#102b38;--color-muted:#597985;--color-primary:#009fba;--color-primary-hover:#0069c1;--color-primary-soft:#bff1fa;--color-primary-tint:#dbf7fd;--color-focus-ring:#009fba38;--color-iconbar-bg:#004f92;--color-iconbar-text:#bfefff;--color-toast-bg:#063d64;--color-dark:#063d64;--color-success:#16a34a;--color-danger:#dc2626;--color-warning:#d97706;--color-info:#0284c7;--header-height:64px;--iconbar-width:60px;--sidebar-width:260px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-xxl:32px;--font-sm:13px;--color-text-muted:#597985;--radius-sm:4px;--radius-md:6px;--shadow-sm:0 1px 2px #052f4d14;--shadow-md:0 12px 24px #052f4d1f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);margin:0;font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;animation:.35s both page-enter}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}@keyframes page-enter{0%{opacity:0}to{opacity:1}}@keyframes item-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes badge-pulse{0%{box-shadow:0 0 #00acc873}70%{box-shadow:0 0 0 8px #00acc800}to{box-shadow:0 0 #00acc800}}.material-symbols-rounded{letter-spacing:0;text-transform:none;white-space:nowrap;word-wrap:normal;font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-feature-settings:"liga";direction:ltr;flex:none;justify-content:center;align-items:center;font-family:Material Symbols Rounded;font-size:20px;font-style:normal;font-weight:400;line-height:1;display:inline-flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-layout{grid-template-columns:var(--iconbar-width) var(--sidebar-width) minmax(0, 1fr);grid-template-rows:var(--header-height) minmax(0, 1fr);grid-template-areas:"header header header""iconbar sidebar main";height:100vh;min-height:100vh;display:grid}.admin-layout--no-iconbar{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-areas:"header header""sidebar main"}.admin-layout--no-sidebar{grid-template-columns:var(--iconbar-width) minmax(0, 1fr);grid-template-areas:"header header""iconbar main"}.admin-layout--no-iconbar.admin-layout--no-sidebar{grid-template-columns:minmax(0,1fr);grid-template-areas:"header""main"}.admin-layout.admin-layout--no-header{grid-template:"main"minmax(0,1fr)/minmax(0,1fr)}.management-topbar{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.management-topbar-title{color:var(--color-text);margin:0;font-size:18px;font-weight:700}.management-topbar-actions{align-items:center;gap:var(--space-md);display:flex}.management-topbar-user{color:var(--color-text-muted);font-size:14px;font-weight:500}.management-topbar .ui-btn--outline{align-items:center;gap:4px;display:inline-flex}.management-topbar .material-symbols-rounded{font-size:18px}.admin-header{z-index:30;align-items:center;gap:var(--space-lg);height:var(--header-height);padding:0 var(--space-xl);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);grid-area:header;display:flex;position:sticky;top:0}.admin-header:before{content:"";background:linear-gradient(90deg,#0069c1 0%,#00b7d6 58%,#00d2e4 100%);height:2px;position:absolute;top:0;left:0;right:0}.sidebar-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:40px;min-height:40px;color:var(--color-text);box-shadow:var(--shadow-sm);font-size:20px;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;display:none}.sidebar-toggle .material-symbols-rounded{transition:transform .22s}.sidebar-toggle[aria-expanded=true] .material-symbols-rounded{transform:rotate(90deg)}.admin-logo{flex:none;align-items:center;line-height:0;display:flex}.admin-logo a{align-items:center;font-weight:700;display:flex}.admin-logo img{width:174px;max-width:100%;height:auto;display:block}.admin-logo .logo-mini{width:42px;display:none}.admin-navbar{scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex:auto;min-width:0;overflow:auto hidden}.admin-navbar ul,.admin-iconbar ul,.admin-side-nav ul{margin:0;padding:0;list-style:none}.admin-navbar ul{align-items:center;gap:var(--space-xs);flex-wrap:nowrap;width:max-content;min-height:40px;display:flex}.admin-navbar li{flex:none}.admin-navbar a{align-items:center;gap:var(--space-sm);min-height:40px;padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--color-muted);white-space:nowrap;font-size:14px;font-weight:600;transition:background .2s,color .2s,transform .2s;display:inline-flex}.admin-navbar a:hover,.admin-navbar a.is-active{background:var(--color-surface-soft);color:var(--color-primary)}.admin-navbar a:hover{transform:translateY(-1px)}.admin-navbar-label{display:inline}.admin-header-actions{align-items:center;gap:var(--space-sm);flex:none;margin-left:auto;display:flex;position:relative}.admin-header-actions>button,.admin-user-menu>button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:40px;color:var(--color-text);box-shadow:var(--shadow-sm);transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.admin-header-actions>button{place-items:center;width:40px;display:inline-grid;position:relative}.notification-badge{border:2px solid var(--color-surface);background:var(--color-primary);border-radius:999px;width:9px;height:9px;animation:1.8s ease-out infinite badge-pulse;position:absolute;top:7px;right:7px}.admin-header-actions>button:hover,.admin-user-menu>button:hover,.sidebar-toggle:hover{background:var(--color-surface-soft);transform:translateY(-1px);box-shadow:0 10px 18px #052f4d24}.admin-header-actions>button:active,.admin-user-menu>button:active,.sidebar-toggle:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.admin-user-menu{position:relative}.admin-user-menu>button{align-items:center;gap:var(--space-sm);padding:0 var(--space-sm);display:inline-flex}.admin-user-menu>button .material-symbols-rounded:last-child{transition:transform .22s}.admin-user-menu>button[aria-expanded=true] .material-symbols-rounded:last-child{transform:rotate(180deg)}.admin-user-menu .avatar{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);border-radius:999px;place-items:center;font-size:13px;font-weight:700;display:grid}.admin-user-menu .user-name{font-size:14px;font-weight:600}.dropdown-menu{right:0;top:calc(100% + var(--space-sm));min-width:180px;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform-origin:100% 0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;transform:translateY(-6px)scale(.98)}.dropdown-menu.is-open{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)scale(1)}.dropdown-menu a,.dropdown-menu button{align-items:center;gap:var(--space-sm);width:100%;min-height:36px;padding:0 var(--space-sm);border-radius:var(--radius-sm);color:var(--color-text);text-align:left;background:0 0;border:0;font-size:14px;display:flex}.dropdown-menu a:hover,.dropdown-menu button:hover{background:var(--color-surface-soft)}.admin-iconbar{top:var(--header-height);height:calc(100vh - var(--header-height));background:var(--color-iconbar-bg);color:var(--color-iconbar-text);padding:var(--space-lg) var(--space-xs);z-index:20;border-right:1px solid #ffffff14;grid-area:iconbar;position:sticky;box-shadow:inset -1px 0 #00b7d633}.admin-iconbar ul{gap:var(--space-sm);justify-items:center;display:grid}.admin-iconbar a{border-radius:var(--radius-sm);opacity:0;place-items:center;width:44px;height:44px;font-size:22px;transition:background .2s,color .2s,transform .2s;animation:.35s both item-enter;display:grid}.admin-iconbar a:hover,.admin-iconbar a.is-active{color:#fff;background:#ffffff24;transform:translateY(-1px)}.admin-iconbar li:first-child a{animation-delay:20ms}.admin-iconbar li:nth-child(2) a{animation-delay:60ms}.admin-iconbar li:nth-child(3) a{animation-delay:.1s}.admin-iconbar li:nth-child(4) a{animation-delay:.14s}.admin-iconbar li:nth-child(5) a{animation-delay:.18s}.admin-iconbar li,.admin-iconbar a[data-tooltip]{position:relative}.admin-iconbar a[data-tooltip]:after{content:attr(data-tooltip);border-radius:var(--radius-sm);color:#f8fafc;white-space:nowrap;box-shadow:var(--shadow-md);z-index:100;opacity:0;visibility:hidden;pointer-events:none;background:#0f172af0;border:1px solid #ffffff1f;padding:6px 10px;font-size:12px;font-weight:700;line-height:1.3;transition:opacity .12s,visibility .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.admin-iconbar a[data-tooltip]:hover:after{opacity:1;visibility:visible}}.admin-iconbar a[data-tooltip]:focus-visible:after{opacity:1;visibility:visible}.admin-iconbar .material-symbols-rounded{font-size:24px}.ui-tooltip{display:inline-flex;position:relative}.ui-tooltip[data-tooltip]:after{content:attr(data-tooltip);border-radius:var(--radius-sm);color:#f8fafc;white-space:nowrap;box-shadow:var(--shadow-md);z-index:100;opacity:0;visibility:hidden;pointer-events:none;background:#0f172af0;border:1px solid #ffffff1f;padding:6px 10px;font-size:12px;font-weight:700;line-height:1.3;transition:opacity .12s,visibility .12s;position:absolute;top:calc(100% + 8px);right:0}@media (hover:hover) and (pointer:fine){.ui-tooltip[data-tooltip]:hover:after{opacity:1;visibility:visible}}.ui-tooltip[data-tooltip]:focus-within:after{opacity:1;visibility:visible}.admin-sidebar{top:var(--header-height);height:calc(100vh - var(--header-height));background:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-lg) var(--space-lg);z-index:15;flex-direction:column;grid-area:sidebar;transition:transform .28s,box-shadow .28s;display:flex;position:sticky;overflow-y:auto}.admin-sidebar section+section{margin-top:var(--space-xl)}.admin-sidebar h2{margin:0 0 var(--space-sm);color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.admin-sidebar--with-footer{overflow:hidden}.admin-sidebar--with-footer .sidebar-scroll{flex:auto;min-height:0;overflow-y:auto}.sidebar-toggle-row{padding-top:var(--space-lg);margin-top:var(--space-md);border-top:1px solid var(--color-border);flex:none}.ui-switch{justify-content:space-between;align-items:center;gap:var(--space-sm);cursor:pointer;color:var(--color-text);font-size:13px;display:flex}.ui-switch input{opacity:0;width:0;height:0;position:absolute}.ui-switch .track{background:var(--color-border);border-radius:999px;flex:none;width:38px;height:22px;transition:background .2s;position:relative}.ui-switch .track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.ui-switch input:checked+.track{background:var(--color-primary)}.ui-switch input:checked+.track:after{transform:translate(16px)}.ui-switch input:focus-visible+.track{outline:2px solid var(--color-primary);outline-offset:2px}.admin-side-nav ul{gap:var(--space-xs);display:grid}.admin-side-nav a,.admin-side-nav button{align-items:center;gap:var(--space-sm);width:100%;min-height:40px;padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--color-muted);text-align:left;background:0 0;border:0;font-size:14px;font-weight:600;transition:background .2s,color .2s,transform .2s;display:flex}.admin-side-nav a:hover,.admin-side-nav button:hover,.admin-side-nav a.is-active,.admin-side-nav .has-submenu.is-open>button{background:var(--color-surface-soft);color:var(--color-primary)}.admin-side-nav a:hover,.admin-side-nav button:hover{transform:translate(2px)}.admin-side-nav .submenu-arrow{margin-left:auto;transition:transform .22s}.admin-side-nav .has-submenu.is-open .submenu-arrow{transform:rotate(180deg)}.admin-side-nav .submenu{gap:var(--space-xs);max-height:0;padding-left:var(--space-xl);opacity:0;transition:max-height .28s,opacity .2s,transform .28s,margin .28s;display:grid;overflow:hidden;transform:translateY(-4px)}.admin-side-nav .has-submenu.is-open .submenu{max-height:480px;margin-top:var(--space-xs);opacity:1;transform:translateY(0)}.admin-side-nav .submenu a{min-height:32px;padding:0 var(--space-sm);font-size:13px;font-weight:500}.admin-main{min-width:0;padding:var(--space-xl);scroll-behavior:smooth;background:var(--color-bg);scrollbar-gutter:stable both-edges;grid-area:main;font-size:14px;overflow:auto}.dashboard-content{gap:var(--space-xl);width:100%;min-width:0;margin:0 auto;display:grid}.dashboard-content--wide{max-width:100%;margin:0;overflow-x:clip}.dashboard-content--wide>*{min-width:0;max-width:100%}.content-nav{top:var(--space-md);z-index:5;gap:var(--space-sm);max-width:100%;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scrollbar-width:thin;background:#fffffff0;display:flex;position:sticky;overflow-x:auto}.content-nav a{justify-content:center;align-items:center;gap:var(--space-sm);min-height:38px;padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--color-muted);flex:none;font-size:14px;font-weight:700;transition:background .2s,color .2s,transform .2s;display:inline-flex}.content-nav a:hover,.content-nav a.is-active{background:var(--color-surface-soft);color:var(--color-primary)}.content-nav a:hover{transform:translateY(-1px)}.content-nav .material-symbols-rounded{font-size:20px}.scope-bar{align-items:center;display:flex}.scope-field{align-items:center;gap:var(--space-md);display:flex}.scope-field .label{color:var(--color-text);font-size:18px;font-weight:700}.scope-field select{min-width:140px;height:44px;padding:0 2.5rem 0 var(--space-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);border-radius:6px;outline:none;font-size:15px}.scope-field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.ui-form{gap:var(--space-lg);display:grid}.ui-form-grid{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ui-field{gap:var(--space-sm);min-width:0;display:grid}.ui-label{color:var(--color-muted);letter-spacing:.02em;font-size:13px;font-weight:700}.ui-control{width:100%;min-height:44px;padding:0 var(--space-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;outline:none;transition:border-color .2s,box-shadow .2s}.ui-control--readonly{background:var(--color-surface-muted,#00000008);color:var(--color-muted);border-style:dashed;align-items:center;margin:0;display:flex}.ui-control::placeholder{color:#597985bf}.ui-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.scope-field select,select.ui-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%23597985' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;cursor:pointer;background-size:1.125rem;background-color:var(--color-surface);padding-right:2.5rem}textarea.ui-control{padding:var(--space-md);resize:vertical;min-height:120px}.ui-help{color:var(--color-muted);white-space:pre-line;margin:0;font-size:12px;line-height:1.45}.ui-checkgroup,.ui-radiogroup{gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.ui-choice{align-items:center;gap:var(--space-sm);color:var(--color-text);-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600;display:inline-flex}.ui-choice input{width:16px;height:16px;accent-color:var(--color-primary)}.ui-segment-toggle{border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);width:min(100%,20rem);display:inline-flex;overflow:hidden}.ui-segment-toggle__option{min-height:44px;padding:var(--space-sm) var(--space-md);color:var(--color-primary);background:var(--color-surface);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;flex:1;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:relative}.ui-segment-toggle__option+.ui-segment-toggle__option{border-left:1px solid var(--color-primary)}.ui-segment-toggle__option input{opacity:0;cursor:pointer;z-index:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.ui-segment-toggle__option>:not(input){z-index:1;pointer-events:none;position:relative}.ui-segment-toggle__option.is-selected{background:var(--color-primary);color:#fff}.ui-segment-toggle__option:has(input:checked){background:var(--color-primary);color:#fff}.ui-segment-toggle__option:has(input:focus-visible){outline:2px solid var(--color-focus-ring);outline-offset:-2px;z-index:1}.ui-check-toggle{border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);flex-wrap:wrap;max-width:100%;display:inline-flex;overflow:hidden}.ui-check-toggle .ui-segment-toggle__option{gap:var(--space-xs);flex:auto;min-width:0}.ui-check-toggle .ui-check-toggle__icon{flex-shrink:0;font-size:18px;line-height:1}.ui-check-toggle .ui-check-toggle__icon--on{display:none}.ui-check-toggle .ui-segment-toggle__option:not(:has(input:checked)){color:var(--color-text);opacity:.55}.ui-check-toggle .ui-segment-toggle__option:has(input:checked){opacity:1}.ui-check-toggle .ui-segment-toggle__option:has(input:checked) .ui-check-toggle__icon--off{display:none}.ui-check-toggle .ui-segment-toggle__option:has(input:checked) .ui-check-toggle__icon--on{display:inline-flex}.ui-tabs{gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);scrollbar-width:thin;background:#fffffff0;display:flex;overflow-x:auto}.ui-breadcrumbs{align-items:center;gap:var(--space-xs);color:var(--color-muted);flex-wrap:wrap;font-size:12px;font-weight:600;display:flex}.ui-breadcrumbs a{color:var(--color-primary);text-decoration:none}.ui-breadcrumbs a:hover{text-decoration:underline}.ui-breadcrumbs .sep{opacity:.7}.ui-scroll-x{max-width:100%;overflow:auto}.ui-min-w-0{min-width:0}.ui-flex-wrap{gap:var(--space-sm);flex-wrap:wrap;display:flex}.ui-block-stack{gap:var(--space-md);margin-top:var(--space-xl);display:grid}.ui-form--gap-xl{gap:var(--space-xl)}.ui-form--gap-md{gap:var(--space-md)}.ui-form--mt-lg{margin-top:var(--space-lg)}.ui-field--mb-md{margin-bottom:var(--space-md)}.ui-field--mt-xl,.ui-form-grid--mt-xl{margin-top:var(--space-xl)}.ui-form-grid--mb-xl{margin-bottom:var(--space-xl)}.ui-search-panel{margin-bottom:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#ffffffb8;overflow:hidden}.ui-search-panel .ui-label{font-size:12px}.ui-search-panel .ui-control{min-height:40px;font-size:14px}.ui-search-panel :is(button,a)[class*=ui-btn--]{min-height:40px;padding:0 var(--space-md);font-size:13px}.ui-search-panel__toolbar{align-items:flex-end;gap:var(--space-md);padding:var(--space-md) var(--space-lg);flex-wrap:wrap;display:flex}.ui-search-panel__primary{gap:var(--space-md);flex:16rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:start;min-width:0;display:grid}.ui-search-panel__actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;flex-shrink:0;display:flex}.ui-search-panel__chevron{transition:transform .2s}.ui-search-panel.is-expanded .ui-search-panel__chevron{transform:rotate(180deg)}.ui-search-panel__adv-count{background:var(--color-primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;min-height:1.25rem;margin-left:.15rem;padding:0 .35rem;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.ui-search-panel__body{border-top:1px solid #0000;grid-template-rows:0fr;transition:grid-template-rows .22s,border-color .22s;display:grid}.ui-search-panel.is-expanded .ui-search-panel__body{border-top-color:var(--color-border);grid-template-rows:1fr}.ui-search-panel__body-inner{min-height:0;overflow:hidden}.ui-search-panel__body-inner>.ui-form-grid--filters{min-height:0;padding:var(--space-md) var(--space-lg) var(--space-lg)}.ui-form-grid--filters{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr))}.ui-search-panel__summary{align-items:center;gap:var(--space-xs) var(--space-sm);padding:0 var(--space-lg) var(--space-md);flex-wrap:wrap;display:flex}.ui-search-panel__summary:empty{display:none}.ui-search-panel__summary-label{color:var(--color-muted);margin-right:var(--space-xs);font-size:12px;font-weight:700}.ui-filter-chip{background:var(--color-surface-soft);max-width:100%;color:var(--color-text);border:1px solid #052f4d24;border-radius:999px;align-items:center;gap:.2rem;padding:.2rem .35rem .2rem .55rem;font-size:12px;font-weight:600;line-height:1.35;display:inline-flex}.ui-filter-chip__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-filter-chip__remove{width:1.35rem;height:1.35rem;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-filter-chip__remove:hover{color:var(--color-text);background:#052f4d14}.ui-filter-chip__remove .material-symbols-rounded{font-size:1rem}.ui-field--align-end{align-self:end}.ui-label--mb-sm{margin-bottom:var(--space-sm)}.ui-label--section{margin-top:var(--space-xl);margin-bottom:var(--space-sm)}.ui-btn-row--center{justify-content:center}.ui-alert--my-xl{margin:var(--space-xl) 0}.ui-text-reset{margin:0}.section-subtitle{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:14px;font-weight:500}.section-meta{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:13px}.section-breadcrumb{margin:var(--space-xs) 0 0;font-size:13px}.section-breadcrumb ol{align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.section-breadcrumb li+li:before{content:"/";margin-right:var(--space-xs);color:var(--color-muted)}.section-breadcrumb a{color:var(--color-muted);text-decoration:none}.section-breadcrumb a:hover{text-decoration:underline}.section-breadcrumb [aria-current=page]{color:var(--color-text);font-weight:600}.ui-modal-overlay--preview{padding:var(--space-xl);border-radius:var(--radius-md);position:relative;inset:auto}.dashboard-bottom-grid--mt-xl{margin-top:var(--space-xl)}.section-block>.section-header+.ui-search-panel{margin-top:calc(-1 * var(--space-sm))}.section-block>.ui-search-panel+.ui-field{margin-top:var(--space-lg)}.section-block>.section-header+.ui-alert,.section-block>.section-header+.ui-pagination,.section-block>.ui-tabs{margin-bottom:var(--space-lg)}.section-block>.ui-field+.ui-field,.section-block>.ui-btn-row:last-child{margin-top:var(--space-xl)}.section-block form>.ui-btn-row:last-child{margin-top:var(--space-md)}.section-block>.ui-pagination:last-of-type{margin-top:var(--space-xl);justify-content:center}.section-title .ui-badge{margin-left:var(--space-sm);vertical-align:middle}.section-header .ui-btn-row{margin:0}.ui-pagination{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.ui-page{align-items:center;gap:var(--space-xs);padding:var(--space-xs);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#fffffff0;border-radius:12px;display:inline-flex}.ui-page>button,.ui-page>a,.ui-page>span{min-width:36px;height:36px;padding:0 var(--space-sm);color:var(--color-text);justify-content:center;align-items:center;gap:var(--space-xs);background:0 0;border:1px solid #0000;border-radius:10px;font-size:13px;font-weight:900;transition:background .2s,color .2s,transform .2s,border-color .2s;display:inline-flex}.ui-page>button:hover,.ui-page>a:hover{background:var(--color-surface-soft);transform:translateY(-1px);box-shadow:0 10px 18px #052f4d24}.ui-page>button.is-active,.ui-page>a.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.ui-page>button.is-disabled,.ui-page>a.is-disabled,.ui-page>span.is-disabled,.ui-page>button:disabled,.ui-page>a[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.ui-page>span[aria-hidden=true]{border-color:#0000}.ui-page-meta{color:var(--color-muted);align-items:center;gap:var(--space-sm);white-space:nowrap;font-size:12px;font-weight:800;display:inline-flex}.ui-tabs>:is(button,a){justify-content:center;align-items:center;gap:var(--space-sm);min-height:36px;padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--color-muted);background:0 0;border:0;flex:none;font-size:13px;font-weight:800;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.ui-tabs>:is(button,a):hover,.ui-tabs>:is(button,a).is-active{background:var(--color-surface-soft);color:var(--color-primary)}.ui-tabs>:is(button,a):hover{transform:translateY(-1px)}.ui-badge{padding:0 var(--space-sm);border:1px solid var(--color-border);background:var(--color-surface-soft);min-height:22px;color:var(--color-primary);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.document-status-badge{letter-spacing:.02em;min-height:24px;font-size:11px}.document-status-badge.is-status-pending{color:var(--color-muted);background:#5979851a;border-color:#59798559}.document-status-badge.is-status-progress{background:var(--color-primary-soft);color:var(--color-primary-hover);border-color:#009fba59}.document-status-badge.is-status-done{color:var(--color-success);background:#16a34a1f;border-color:#16a34a59}.ui-alert{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);white-space:pre-line;display:flex}.ui-alert .material-symbols-rounded{color:var(--color-primary);margin-top:1px}.ui-alert--info{background:#0284c714;border-color:#0284c759}.ui-alert--info .material-symbols-rounded{color:var(--color-info)}.ui-alert--success{background:#16a34a14;border-color:#16a34a59}.ui-alert--success .material-symbols-rounded{color:var(--color-success)}.ui-alert--warning{background:#d977061a;border-color:#d9770666}.ui-alert--warning .material-symbols-rounded{color:var(--color-warning)}.ui-alert--danger{background:#dc262614;border-color:#dc262659}.ui-alert--danger .material-symbols-rounded{color:var(--color-danger)}.ui-alert .title{margin:0;font-size:13px;font-weight:800;line-height:1.35}.ui-alert .text{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:13px;line-height:1.45}.ui-table{border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.ui-table th,.ui-table td{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;font-size:13px}.ui-table th{background:var(--color-surface-soft);color:var(--color-muted);letter-spacing:.02em;white-space:nowrap;font-weight:800}.ui-table tbody tr:last-child td,.ui-table tbody tr:last-child th{border-bottom:0}.ui-table td .ui-badge{margin-left:var(--space-sm)}.ui-table td .ui-badge:first-child{margin-left:0}.ui-table--detail th[scope=row]{width:7.5rem}.ui-table--detail td{word-break:break-word}.ui-modal--calendar-task{width:min(640px,100%)}.ui-spinner{border:2px solid #00b7d640;border-top-color:var(--color-primary);border-radius:999px;flex:none;width:18px;height:18px;animation:.8s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-loading-panel{justify-content:center;align-items:center;gap:var(--space-sm);min-height:240px;padding:var(--space-xl);color:var(--color-muted);display:flex}.ui-spinner--lg{border-width:3px;width:40px;height:40px}.ui-busy-overlay{z-index:70;cursor:progress;background:#fff9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-busy-overlay .box{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-sm);font-size:14px;font-weight:700;display:flex}.icon-spin{animation:.8s linear infinite ui-spin}.ui-modal-overlay{padding:var(--space-xl);z-index:60;opacity:0;pointer-events:none;background:#0f172a75;justify-content:center;align-items:center;transition:opacity .22s;display:flex;position:fixed;inset:0;overflow-y:auto}.ui-modal-overlay[hidden]{display:none!important}.ui-modal-overlay.is-open{opacity:1;pointer-events:auto}.ui-modal{--modal-overlay-pad:var(--space-xl);width:min(720px,100%);max-height:calc(100vh - var(--modal-overlay-pad) * 2);max-height:calc(100dvh - var(--modal-overlay-pad) * 2);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);opacity:0;flex-direction:column;flex-shrink:0;margin:auto;transition:transform .22s,opacity .22s;display:flex;overflow:hidden;transform:translateY(10px)scale(.98)}.ui-modal-overlay.is-open .ui-modal{opacity:1;transform:translateY(0)scale(1)}.ui-modal>.header{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;flex:none;display:flex}.ui-modal>.header .title{color:var(--color-text);margin:0;font-size:15px;font-weight:900;line-height:1.3}.ui-modal>.header .close{border:1px solid var(--color-border);background:var(--color-surface);width:38px;height:38px;box-shadow:var(--shadow-sm);border-radius:10px;place-items:center;display:grid}.ui-modal>.header .close:hover{background:var(--color-surface-soft);transform:translateY(-1px)}.ui-modal>.body{min-height:0;padding:var(--space-xl);gap:var(--space-lg);overscroll-behavior:contain;flex:auto;grid-template-columns:minmax(0,1fr);display:grid;overflow-y:auto}.ui-modal>.footer{padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border);gap:var(--space-sm);background:var(--color-surface);flex:none;justify-content:flex-end;display:flex}.ui-empty{place-items:center;gap:var(--space-sm);padding:var(--space-xxl);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;background:#fff9;display:grid}.ui-empty .material-symbols-rounded{color:var(--color-primary);font-size:34px}.ui-empty .title{color:var(--color-text);margin:0;font-size:14px;font-weight:900}.ui-empty .text{color:var(--color-muted);max-width:42ch;margin:0;font-size:12px;font-weight:700;line-height:1.45}.ui-chat{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.ui-chat .header{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;display:flex}.ui-chat .topic{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.ui-chat .topic .material-symbols-rounded{color:var(--color-primary);font-size:22px}.ui-chat .name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:900;line-height:1.25;overflow:hidden}.ui-chat .sub{margin:var(--space-xs) 0 0;color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;line-height:1.3;overflow:hidden}.ui-chat .thread{background:linear-gradient(#e4f7fd2e 0%,#fffffff5 100%);overflow:auto}.ui-chat .divider{z-index:2;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#fffffffa 0%,#fff9 100%);grid-template-columns:1fr auto 1fr;display:grid;position:sticky;top:0}.ui-chat .divider:before,.ui-chat .divider:after{content:"";background:#bddce6d9;height:1px}.ui-chat .divider>span{padding:4px var(--space-md);border:1px solid var(--color-border);color:var(--color-muted);box-shadow:var(--shadow-sm);white-space:nowrap;background:#ffffffeb;border-radius:999px;justify-self:center;font-size:12px;font-weight:900}.ui-chat .divider.is-unread>span{color:var(--color-border-strong);background:#0069c114;border-color:#0069c159}.ui-chat .msg{gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-top:1px solid #bddce6a6;grid-template-columns:36px minmax(0,1fr);min-width:0;display:grid;position:relative}.ui-chat .msg:first-of-type{border-top:0}.ui-chat .msg:hover{background:#ffffffbf}.ui-chat .msg:hover .row-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.ui-chat .avatar{background:var(--color-primary-soft);width:36px;height:36px;color:var(--color-primary-hover);border:1px solid var(--color-border);border-radius:10px;place-items:center;font-size:13px;font-weight:900;display:grid}.ui-chat .bubble{gap:var(--space-xs);min-width:0;display:grid;position:relative}.ui-chat .meta{align-items:baseline;gap:var(--space-sm);min-width:0;display:flex}.ui-chat .who{color:var(--color-text);white-space:nowrap;font-size:13px;font-weight:900}.ui-chat .time{color:var(--color-muted);white-space:nowrap;font-size:12px;font-weight:800}.ui-chat .message{color:var(--color-text);word-break:break-word;white-space:pre-wrap;font-size:13px;line-height:1.6}.ui-chat .reactions{gap:var(--space-sm);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.ui-chat .reaction{border:1px solid var(--color-border);height:26px;color:var(--color-text);background:#ffffffe6;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:900;transition:transform .15s,background .15s;display:inline-flex}.ui-chat .reaction:hover{background:var(--color-primary-tint);transform:translateY(-1px)}.ui-chat .row-actions{z-index:1;gap:var(--space-xs);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;background:#fffffff2;border-radius:12px;padding:4px;transition:opacity .15s,transform .15s;display:inline-flex;position:absolute;top:0;right:0;transform:translateY(-4px)}.ui-chat .row-actions .label{display:none}.ui-chat .row-actions .action{width:34px;height:34px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.ui-chat .row-actions .action:hover{background:var(--color-surface-soft);color:var(--color-primary)}.ui-chat .composer{padding:var(--space-md);border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:var(--space-sm);background:#fffffff5;display:grid}.ui-chat .composer-row{gap:var(--space-sm);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;display:grid}.ui-chat .composer .ui-control{min-height:44px}.chat-spin{animation:.8s linear infinite chat-spin}@keyframes chat-spin{to{transform:rotate(360deg)}}.chat-composer{position:relative}.chat-mention-menu{left:var(--space-md);right:var(--space-md);bottom:calc(100% - var(--space-sm));z-index:20;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:220px;box-shadow:var(--shadow-md);position:absolute;overflow:auto}.chat-mention-menu button{align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-sm) var(--space-md);text-align:left;color:var(--color-text);cursor:pointer;background:0 0;border:0;font-size:13px;display:flex}.chat-mention-menu button:hover{background:var(--color-primary-tint)}.chat-mention-menu button.is-selected{color:var(--color-primary);font-weight:700}.chat-mention-menu button .material-symbols-rounded{font-size:18px}.chat-mention-empty{padding:var(--space-sm) var(--space-md);color:var(--color-muted);margin:0;font-size:12px}.composer-tools{gap:var(--space-xs);display:flex}.chat-composer .composer-row{align-items:end}.chat-composer-input{resize:none;min-height:44px;max-height:200px;padding-top:10px;padding-bottom:10px;line-height:1.5;overflow-y:auto}.chat-chips{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chat-chip{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.chat-chip--mention{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-tint)}.chat-chip .material-symbols-rounded{font-size:16px}.chat-chip button{cursor:pointer;color:var(--color-muted);background:0 0;border:0;display:inline-flex}.chat-chip button .material-symbols-rounded{font-size:14px}.chat-mention-tags{margin-top:var(--space-xs);flex-wrap:wrap;gap:4px;display:flex}.chat-mention-tag{border-radius:var(--radius-sm);background:var(--color-primary-tint);color:var(--color-primary);padding:1px 6px;font-size:12px;font-weight:700}.chat-mention-badge{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;padding:1px 6px;font-size:11px;font-weight:700}.ui-chat .bubble.is-mentioned{background:var(--color-primary-tint);border-radius:var(--radius-sm)}.chat-attachment-list{margin:var(--space-xs) 0 0;flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.chat-attachment{color:var(--color-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:13px;text-decoration:none;display:inline-flex}.chat-attachment-name{text-decoration:underline}.chat-attachment .material-symbols-rounded{font-size:16px}.chat-attachment-image-wrap{flex-direction:column;align-items:flex-start;gap:4px;display:inline-flex}.chat-attachment-image-btn{cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.chat-attachment-download{color:var(--color-primary);align-items:center;gap:4px;font-size:12px;text-decoration:none;display:inline-flex}.chat-attachment-download .material-symbols-rounded{font-size:16px}.chat-attachment-image{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:auto;max-width:min(420px,100%);height:auto;max-height:360px;display:block}.chat-lightbox{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.chat-lightbox-image{border-radius:var(--radius-sm);cursor:default;max-width:92vw;max-height:92vh}.chat-lightbox-toolbar{gap:var(--space-sm);display:flex;position:fixed;top:16px;right:16px}.chat-lightbox-btn{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.chat-lightbox-btn:hover{background:#ffffff47}.chat-reply-quote{margin-bottom:var(--space-xs);padding:4px var(--space-sm);border-left:3px solid var(--color-border-strong,var(--color-border));border-radius:var(--radius-sm);background:#00000008;flex-direction:column;gap:2px;display:flex}.chat-reply-quote-who{color:var(--color-muted);font-size:11px;font-weight:700}.chat-reply-quote-body{color:var(--color-muted);white-space:pre-wrap;word-break:break-word;font-size:12px}.chat-reply-bar{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary-tint);display:flex}.chat-reply-bar-body{flex-direction:column;gap:2px;min-width:0;display:flex}.chat-reply-bar-who{color:var(--color-primary);font-size:12px;font-weight:700}.chat-reply-bar-text{color:var(--color-muted);white-space:pre-wrap;word-break:break-word;font-size:12px}.chat-reply-bar button{cursor:pointer;color:var(--color-muted);background:0 0;border:0;display:inline-flex}@media (max-width:768px){.ui-chat .msg{padding:var(--space-md)}}.ui-chat-embed{margin-top:var(--space-sm);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);gap:var(--space-md);display:grid}.ui-chat-embed .lead{color:var(--color-muted);margin:0;font-size:12px;font-weight:700;line-height:1.45}.ui-chat-embed .title{color:var(--color-text);margin:0;font-size:15px;font-weight:900;line-height:1.35}.ui-chat-embed .to{color:var(--color-muted);margin:0;font-size:12px;font-weight:700}.ui-chat-embed .comment{padding:var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-soft);gap:var(--space-xs);display:grid}.ui-chat-embed .comment .heading{color:var(--color-text);margin:0;font-size:12px;font-weight:800}.ui-chat-embed .comment .text{color:var(--color-text);margin:0;font-size:13px;font-weight:600;line-height:1.55}.ui-chat-embed .ui-field{margin:0}.dashboard-content--chat{gap:var(--space-lg);max-width:none;margin:0;display:grid}.chat-board{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;display:grid}.chat-board .main{min-width:0;max-height:calc(100vh - var(--header-height) - 2 * var(--space-xl));flex-direction:column;align-self:start;display:flex;position:sticky;top:0}.chat-board .main .ui-chat{min-height:0;max-height:calc(100vh - var(--header-height) - 2 * var(--space-xl));flex:auto}.chat-board .main .ui-chat:has(.composer){min-height:calc(100vh - var(--header-height) - 2 * var(--space-xl))}.chat-board .main .ui-chat .composer-row{grid-template-columns:auto minmax(0,1fr) auto}.chat-board .aside{gap:var(--space-lg);align-content:start;min-width:0;display:grid;overflow:visible}:is(.chat-board,.detail-schedule.workspace)>.aside .section-block{padding:var(--space-md) var(--space-lg) var(--space-lg);margin:0;overflow:visible}:is(.chat-board,.detail-schedule.workspace)>.aside .section-header{margin-bottom:var(--space-md)}:is(.chat-board,.detail-schedule.workspace)>.aside .section-title{font-size:16px}.chat-board .aside .document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-board .aside .document-box--widget{gap:var(--space-sm);min-height:0;padding:var(--space-md);flex-direction:column;display:flex}.chat-board .aside .document-box--widget.is-status-pending{background:#59798514;border-color:#59798559}.chat-board .aside .document-box--widget.is-status-progress{background:#009fba14;border-color:#009fba59}.chat-board .aside .document-box--widget.is-status-done{background:#16a34a14;border-color:#16a34a59}.chat-board .aside .document-box--widget .label{color:var(--color-text);margin:0;font-weight:700;line-height:1.35}.chat-board .aside .document-box--widget .value{margin:0;font-size:14px;font-weight:900;line-height:1.2}.chat-board .aside .document-box--widget .meta{color:var(--color-muted);margin:0;font-size:12px;font-weight:700}.chat-board .aside .document-box--widget .ui-btn--sm{width:100%;margin-top:auto}.panel-tabs{margin-bottom:var(--space-md)}.panel-tabs .list{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.panel-tabs .tab{width:100%;min-height:32px;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);text-align:center;cursor:pointer;justify-content:center;align-items:center;font-size:11px;font-weight:800;line-height:1.25;transition:background .2s,border-color .2s,color .2s;display:flex}.panel-tabs .tab:hover{border-color:var(--color-border-strong);background:var(--color-primary-tint);color:var(--color-primary)}.panel-tabs .tab.is-active{border-color:var(--color-border-strong);background:var(--color-primary-tint);color:var(--color-primary);box-shadow:var(--shadow-sm)}.chat-board .aside .panel-tabs .list{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.chat-board .aside .panel-tabs .list>li{min-width:0}.thread-nav .list{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.thread-nav .item{border-radius:var(--radius-md);border:1px solid #0000;margin:0;transition:border-color .2s,box-shadow .2s;overflow:hidden}.thread-nav .item.is-active{border-color:var(--color-border-strong);background:var(--color-surface);box-shadow:var(--shadow-sm)}.thread-nav .link{align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-sm) var(--space-md);color:var(--color-text);text-decoration:none;transition:background .2s;display:flex}.thread-nav .link:hover,.thread-nav .link.is-active{background:var(--color-primary-tint)}.thread-nav .icon{color:var(--color-primary);flex:none;font-size:20px}.thread-nav .body{flex:auto;gap:2px;min-width:0;display:grid}.thread-nav .name{word-break:break-word;font-size:14px;font-weight:700;line-height:1.35}.thread-nav .meta{color:var(--color-muted);font-size:11px;font-weight:700;line-height:1.3}.thread-nav .meta.is-strong{color:var(--color-text)}.thread-nav .sub{padding:var(--space-xs) var(--space-md) var(--space-sm);border-top:1px solid var(--color-border);background:var(--color-primary-tint);gap:2px;margin:0;list-style:none;display:grid}.thread-nav .sub a{align-items:center;gap:var(--space-xs);min-height:32px;padding:0 var(--space-sm);border-radius:var(--radius-sm);color:var(--color-muted);font-size:13px;font-weight:700;text-decoration:none;transition:background .2s,color .2s;display:flex}.thread-nav .sub a .material-symbols-rounded{color:var(--color-primary);font-size:18px}.thread-nav .sub a:hover,.thread-nav .sub a.is-active,.thread-nav .sub a[aria-current=page]{background:var(--color-surface);color:var(--color-primary)}.thread-nav .item:not(.is-active) .sub,.chat-view-switch{display:none}.chat-view-switch .input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-view-switch .tabs{gap:var(--space-xs);padding:var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.chat-view-switch .tab{justify-content:center;align-items:center;gap:var(--space-xs);min-height:44px;padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--color-muted);cursor:pointer;background:0 0;border:1px solid #0000;font-size:13px;font-weight:800;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.chat-view-switch .tab .material-symbols-rounded{font-size:20px}#chat-view-chat:checked~.tabs .tab[for=chat-view-chat],#chat-view-info:checked~.tabs .tab[for=chat-view-info]{border-color:var(--color-border-strong);background:var(--color-primary-tint);color:var(--color-primary)}@media (max-width:1200px){.chat-board{grid-template-columns:1fr}.chat-board .main{max-height:none;position:static}.chat-board .main .ui-chat{max-height:calc(100vh - var(--header-height) - 2 * var(--space-xl))}}@media (max-width:900px){.admin-layout--chat .admin-main{padding:var(--space-md)}.dashboard-content--chat{gap:var(--space-md)}.chat-view-switch{z-index:6;display:block;position:sticky;top:0}.dashboard-content--chat:has(#chat-view-chat:checked) .chat-board .aside{display:none}.dashboard-content--chat:has(#chat-view-info:checked) .chat-board .main{display:none}.dashboard-content--chat:has(#chat-view-chat:checked) .admin-footer{display:none}.chat-board{gap:var(--space-md)}.chat-board .main .ui-chat{max-height:calc(100dvh - var(--header-height) - 7.5rem)}.chat-board .main .ui-chat:has(.composer){min-height:calc(100dvh - var(--header-height) - 7.5rem)}.ui-chat .header{align-items:stretch;gap:var(--space-md);padding:var(--space-md);flex-direction:column}.ui-chat .header .toolbar{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.ui-chat .header .toolbar :is(a,button)[class*=ui-btn--]{width:100%;min-height:40px;padding:0 var(--space-sm);font-size:12px}.ui-chat .header .toolbar .material-symbols-rounded{font-size:18px}.ui-chat .sub{white-space:normal;text-overflow:unset;overflow:visible}.ui-chat .msg{padding:var(--space-md)}.ui-chat .msg:has(>.row-actions){grid-template-rows:auto auto;grid-template-columns:36px minmax(0,1fr);align-items:start}.ui-chat .msg:has(>.row-actions) .avatar{grid-area:1/1}.ui-chat .msg:has(>.row-actions) .bubble{grid-area:1/2}.ui-chat .msg>.row-actions{grid-area:2/2;justify-self:stretch}.ui-chat .row-actions{z-index:auto;gap:var(--space-xs);width:100%;margin-top:var(--space-sm);padding:var(--space-sm) 0 0;border:0;border-top:1px solid var(--color-border);box-shadow:none;opacity:1;pointer-events:auto;background:0 0;border-radius:0;flex-wrap:wrap;display:flex;position:static;transform:none}.ui-chat .row-actions .label{font-size:11px;font-weight:700;line-height:1;display:inline}.ui-chat .row-actions .action{width:auto;height:auto;min-height:34px;padding:6px var(--space-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);border-radius:999px;justify-content:center;align-items:center;gap:4px;display:inline-flex}.ui-chat .row-actions .action .material-symbols-rounded{color:var(--color-primary);font-size:17px}.ui-chat .row-actions .action:hover{border-color:var(--color-border-strong);background:var(--color-primary-tint);color:var(--color-primary)}.ui-chat-embed{padding:var(--space-md)}.chat-board .aside .section-header{flex-direction:column;align-items:stretch}.chat-board .aside .section-header :is(a,button)[class*=ui-btn--]{justify-content:center;width:100%}.chat-board .aside .panel-tabs .list{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-board .aside .panel-tabs .tab{min-height:36px;font-size:12px}.chat-board .aside .ui-btn-row{flex-direction:column}.chat-board .aside .ui-btn-row :is(a,button)[class*=ui-btn--]{justify-content:center;width:100%}}@media (max-width:768px){.chat-board .aside .document-grid{grid-template-columns:1fr}}@media (max-width:480px){.ui-chat .row-actions{flex-wrap:nowrap;justify-content:flex-end;gap:6px}.ui-chat .row-actions .label{display:none}.ui-chat .row-actions .action{gap:0;width:34px;min-width:34px;min-height:34px;padding:0}}@media (max-width:640px){.chat-board .main .ui-chat{max-height:calc(100dvh - var(--header-height) - 7rem)}.chat-board .main .ui-chat:has(.composer){min-height:calc(100dvh - var(--header-height) - 7rem)}.ui-chat .name{font-size:15px}.ui-chat .composer{padding:var(--space-sm)}.ui-chat .composer-row{gap:var(--space-xs);grid-template-columns:auto minmax(0,1fr) auto}.ui-chat .composer :is(a,button)[class*=ui-btn--]{min-width:44px;padding:0 var(--space-sm)}.thread-nav .sub a{min-height:40px;font-size:12px}}.ui-table--striped tbody tr:nth-child(odd) td{background:#e9f8fd73}.ui-table--hover tbody tr:hover td{background:var(--color-primary-tint)}.ui-listgroup{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);display:grid;overflow:hidden}.ui-listgroup--flush{border-left:0;border-right:0;border-radius:0}.ui-listgroup>*{justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:44px;padding:0 var(--space-lg);border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:left;background:0 0;font-size:13px;font-weight:700;display:flex}.ui-listgroup>:last-child{border-bottom:0}.ui-listgroup>a,.ui-listgroup>button{cursor:pointer;border:0;width:100%}.ui-listgroup>a:hover,.ui-listgroup>button:hover{background:var(--color-primary-tint)}.ui-listgroup>.is-active{background:var(--color-surface-soft);color:var(--color-primary)}.ui-listgroup>.is-disabled,.ui-listgroup>:disabled{opacity:.55;cursor:not-allowed;background:0 0}.ui-listgroup>* .meta{align-items:center;gap:var(--space-sm);flex:none;display:inline-flex}.ui-listgroup>* .title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ui-listgroup>.ui-listitem--tone-primary{border-left:4px solid var(--color-primary)}.ui-listgroup>.ui-listitem--tone-success{border-left:4px solid var(--color-success)}.ui-listgroup>.ui-listitem--tone-danger{border-left:4px solid var(--color-danger)}.ui-listgroup>.ui-listitem--tone-warning{border-left:4px solid var(--color-warning)}.ui-listgroup>.ui-listitem--tone-info{border-left:4px solid var(--color-info)}.ui-listgroup>.ui-listitem--tone-dark{border-left:4px solid var(--color-dark)}.ui-listgroup>.ui-listitem--custom{padding:var(--space-md) var(--space-lg);align-items:flex-start}.ui-listgroup>* .heading{margin:0;font-size:13px;font-weight:900;line-height:1.35}.ui-listgroup>* .subtext{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:12px;font-weight:600;line-height:1.45}.ui-btn-row{gap:var(--space-sm);flex-wrap:wrap;align-items:center;display:flex}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a)[class*=ui-btn--]{justify-content:center;align-items:center;gap:var(--space-sm);min-height:44px;padding:0 var(--space-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;cursor:pointer;border:1px solid #0000;border-radius:6px;font-family:inherit;font-size:14px;font-weight:800;text-decoration:none;transition:transform .2s,background .2s,color .2s,border-color .2s,box-shadow .2s,filter .2s;display:inline-flex}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a)[class*=ui-btn--]:hover{transform:translateY(-1px);box-shadow:0 10px 18px #052f4d24}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a)[class*=ui-btn--]:active{box-shadow:var(--shadow-sm);transform:translateY(0)}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a)[class*=ui-btn--]:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a)[class*=ui-btn--]:disabled,:is(.admin-main,.ui-modal,.resident-shell) button.is-disabled[class*=ui-btn--],:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).is-disabled[class*=ui-btn--],:is(.admin-main,.ui-modal,.resident-shell) :is(button,a)[aria-disabled=true][class*=ui-btn--]{opacity:.55;cursor:not-allowed;box-shadow:var(--shadow-sm);pointer-events:none;transform:none}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--secondary{background:var(--color-surface-soft);border-color:var(--color-border);color:var(--color-text)}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--secondary:hover{filter:brightness(.98)}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--light{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--light:hover{background:var(--color-surface-soft);border-color:var(--color-primary)}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--dark{background:var(--color-dark);border-color:var(--color-dark);color:#fff}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--success{background:var(--color-success);border-color:var(--color-success);color:#fff}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--warning{background:var(--color-warning);border-color:var(--color-warning);color:#fff}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--info{background:var(--color-info);border-color:var(--color-info);color:#fff}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--link{box-shadow:none;color:var(--color-primary);padding:0 var(--space-sm);background:0 0;border-color:#0000;min-height:36px}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--link:hover{background:var(--color-primary-tint);box-shadow:none;transform:translateY(-1px)}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--outline{border-color:var(--color-border);box-shadow:none;background:0 0}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--outline:hover{background:var(--color-surface-soft);border-color:var(--color-primary);box-shadow:none}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--outline.ui-btn--primary{color:var(--color-primary);border-color:var(--color-primary)}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--outline.ui-btn--primary:hover{background:var(--color-primary);color:#fff}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--outline.ui-btn--danger{color:var(--color-danger);border-color:var(--color-danger)}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--outline.ui-btn--danger:hover{background:var(--color-danger);color:#fff}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--sm{min-height:34px;padding:0 var(--space-md);font-size:13px;font-weight:800}:is(.admin-main,.ui-modal,.resident-shell) :is(button,a).ui-btn--lg{min-height:50px;padding:0 var(--space-xl);font-size:15px;font-weight:800}.ui-btn-group{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:var(--space-sm);gap:var(--space-sm);border-radius:10px;display:inline-flex;overflow:hidden}.ui-btn-group>button,.ui-btn-group>a{box-shadow:none;border:0;border-radius:0}.ui-btn-group>*+*{border-left:1px solid var(--color-border)}.ui-prose{color:var(--color-text)}.ui-prose h1,.ui-prose h2,.ui-prose h3,.ui-prose h4,.ui-prose h5,.ui-prose h6{margin:0 0 var(--space-sm);letter-spacing:-.01em;line-height:1.25}.ui-prose h1{font-size:28px;font-weight:900}.ui-prose h2{font-size:24px;font-weight:900}.ui-prose h3{font-size:20px;font-weight:900}.ui-prose h4{font-size:18px;font-weight:900}.ui-prose h5{font-size:16px;font-weight:900}.ui-prose h6{font-size:14px;font-weight:900}.ui-prose p{margin:0 0 var(--space-md);color:var(--color-text);line-height:1.7}.ui-prose .lead{color:var(--color-text);font-size:15px;font-weight:600}.ui-prose blockquote{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-soft);box-shadow:var(--shadow-sm);margin:0}.ui-prose blockquote p{color:var(--color-text);margin:0;font-weight:600}.ui-prose blockquote footer{margin-top:var(--space-sm);color:var(--color-muted);font-size:12px;font-weight:700}.text-muted{color:var(--color-muted)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-info{color:var(--color-info)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalized{text-transform:capitalize}@media (max-width:1200px){.ui-form-grid--filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.ui-form-grid--filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-search-panel__toolbar{flex-direction:column;align-items:stretch}.ui-search-panel__primary{flex:none;width:100%}.ui-search-panel__actions{flex:none;justify-content:flex-end}}@media (max-width:768px){.ui-form-grid,.ui-form-grid--filters{grid-template-columns:1fr}.ui-search-panel__toolbar{padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.ui-search-panel__primary{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.ui-search-panel__primary .ui-field{gap:.2rem}.ui-search-panel .ui-label{font-size:11px;line-height:1.25}.ui-search-panel .ui-control{height:36px;min-height:36px;padding:0 var(--space-sm);font-size:16px;line-height:1.2}.ui-search-panel :is(button,a)[class*=ui-btn--]{min-height:36px;padding:0 var(--space-sm)}.ui-search-panel__summary{padding:0 var(--space-md) var(--space-sm)}.ui-search-panel__body-inner>.ui-form-grid--filters{padding:var(--space-sm) var(--space-md) var(--space-md)}}@media (max-width:480px){.ui-search-panel__primary{grid-template-columns:1fr}}.dashboard-section{min-width:0;max-width:100%;scroll-margin-top:calc(var(--header-height) + var(--space-xl));display:block}.resident-root{flex-direction:column;min-height:100dvh;display:flex}.resident-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-md);height:56px;padding:0 var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;position:sticky;top:0}.resident-header__logo{align-items:center;display:inline-flex}.resident-header__logo img{width:auto;height:26px;display:block}.resident-header__logout{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-muted);font-size:var(--font-sm);cursor:pointer;font-weight:700;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.resident-header__logout:hover{background:var(--color-primary-tint);color:var(--color-primary);border-color:var(--color-primary-soft)}.resident-header__logout .material-symbols-rounded{font-size:18px}.resident-shell{width:100%;max-width:1480px;padding:var(--space-xl) var(--space-lg) var(--space-xxl);flex:auto;margin-inline:auto}.resident-shell .section-block{padding:var(--space-lg)}.resident-shell .ui-form>.ui-btn-row:last-child{margin-top:var(--space-sm)}.resident-shell .ui-form>.ui-btn-row:last-child>.ui-btn--primary:only-child{width:100%}.resident-menu{margin-top:var(--space-lg);gap:var(--space-sm);flex-direction:column;display:flex}.resident-menu-item{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);text-align:left;box-shadow:var(--shadow-sm);font-weight:700;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;display:flex}.resident-menu-item:hover{background:var(--color-primary-tint);border-color:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.resident-menu-item .icon{color:var(--color-primary);flex:none;font-size:22px}.resident-menu-item .label{flex:auto;min-width:0}.resident-menu-item .chevron{color:var(--color-muted);flex:none;margin-left:auto;font-size:22px}.section-block{padding:var(--space-xl) var(--space-xl) var(--space-xl);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);scroll-margin-top:calc(var(--header-height) + var(--space-xl));min-width:0;max-width:100%;overflow:hidden}.section-header{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl);display:flex}.section-header-start{align-items:center;gap:var(--space-md);flex-wrap:wrap;min-width:0;display:flex}.section-header-title{min-width:0}.section-header-filter{flex:0 auto;min-width:0}.section-header-filter .ui-control{min-width:10.5rem;max-width:100%;min-height:40px}.section-header-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.section-title{color:var(--color-text);margin:0;font-size:20px;font-weight:800;line-height:1.3}.section-block>.section-title+*{margin-top:var(--space-lg)}.outline-button{min-width:180px;height:44px;padding:0 var(--space-lg);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);justify-content:center;align-items:center;gap:var(--space-sm);box-shadow:var(--shadow-sm);border-radius:6px;font-size:14px;font-weight:700;transition:transform .2s,background .2s,color .2s,border-color .2s,box-shadow .2s,filter .2s;display:inline-flex}.outline-button:hover{background:var(--color-border-strong);color:#fff;transform:translateY(-1px);box-shadow:0 10px 18px #052f4d24}.outline-button:active{box-shadow:var(--shadow-sm);filter:brightness(.98);transform:translateY(0)}.summary-grid{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.summary-box{padding:var(--space-lg) var(--space-lg) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);opacity:0;transition:border-color .2s,box-shadow .2s,transform .2s;animation:.35s both item-enter;position:relative}.summary-box:first-child{animation-delay:40ms}.summary-box:nth-child(2){animation-delay:80ms}.summary-box:nth-child(3){animation-delay:.12s}.summary-box:nth-child(4){animation-delay:.16s}.summary-box:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.summary-box>.material-symbols-rounded{right:var(--space-lg);top:var(--space-lg);color:var(--color-primary);font-size:24px;position:absolute}.summary-box .label{margin:0 0 var(--space-sm);color:var(--color-muted);font-size:13px;font-weight:500}.summary-box .value{color:var(--color-text);margin:0;font-size:20px;font-weight:800;line-height:1.2}.summary-box .value .unit{margin-left:2px;font-size:14px;font-weight:700}a.summary-box,button.summary-box{text-align:left;width:100%;color:inherit;cursor:pointer;font:inherit;text-decoration:none;display:block}button.summary-box{appearance:none}.summary-box--tone-warn{border-left:4px solid var(--color-warning)}.summary-box--tone-danger{border-left:4px solid var(--color-danger)}.summary-box--tone-info{border-left:4px solid var(--color-info)}.summary-box .hint{margin:var(--space-md) 0 0;color:var(--color-primary);font-size:12px;font-weight:700}a.summary-box:hover .hint{text-decoration:underline}.dashboard-page .section-lead{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:14px;font-weight:500;line-height:1.5}.dashboard-page-intro{padding:var(--space-md) var(--space-lg);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:space-between;align-items:flex-end;gap:var(--space-lg);flex-wrap:wrap;display:flex}.dashboard-page-intro .scope-field{gap:var(--space-sm);min-width:min(100%,14rem);display:grid}.dashboard-page-updated{align-items:center;gap:var(--space-xs);color:var(--color-muted);margin:0;font-size:13px;font-weight:600;display:inline-flex}.dashboard-page-updated .material-symbols-rounded{font-size:18px}.dashboard-bottom-grid .section-header>:is(a,button)[class*=ui-btn--]{white-space:nowrap;flex-shrink:0}.dashboard-page .list-more{margin:var(--space-md) 0 0;padding-top:var(--space-sm);justify-content:center;display:flex}.document-grid--dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .document-box--widget{gap:var(--space-sm);min-height:0;padding:var(--space-md);flex-direction:column;transition:border-color .2s,background-color .2s;display:flex}.dashboard-page .document-box--widget.is-status-pending{background:#59798514;border-color:#59798559}.dashboard-page .document-box--widget.is-status-progress{background:#009fba14;border-color:#009fba59}.dashboard-page .document-box--widget.is-status-done{background:#16a34a14;border-color:#16a34a59}.dashboard-page .document-box--widget .label{color:var(--color-text);margin:0;font-weight:700;line-height:1.35}.dashboard-page .document-box--widget .value{margin:0;font-size:14px;font-weight:800;line-height:1.2}.dashboard-page .document-box--widget .meta{color:var(--color-muted);margin:0;font-size:12px;font-weight:700;line-height:1.35}@media (min-width:1181px){.document-grid--dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}}.list-card-group{gap:var(--space-md);display:grid}.info-row{justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:72px;padding:0 var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;transition:background .2s,border-color .2s,transform .2s;display:flex}.info-row:hover{background:var(--color-primary-tint);border-color:var(--color-primary);transform:translate(2px)}.info-row .main{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.info-row .main>.material-symbols-rounded{color:var(--color-primary);font-size:22px}.info-row .name{color:var(--color-text);font-size:16px;font-weight:500}.info-row .meta{justify-content:flex-end;align-items:center;gap:var(--space-lg);text-align:right;flex-wrap:wrap;min-width:0;display:flex}.meta-text{color:var(--color-text);white-space:nowrap;font-size:13px;font-weight:700}.meta-text.is-strong{font-weight:800}.info-row--with-chevron{align-items:center;gap:var(--space-md);display:flex}.info-row--with-chevron .info-row-inner{justify-content:space-between;align-items:center;gap:var(--space-lg);flex:auto;min-width:0;display:flex}.info-row--with-chevron .chevron{color:var(--color-muted);flex:none;align-self:center;font-size:22px;transition:transform .2s,color .2s}.info-row--with-chevron:hover .chevron{color:var(--color-primary);transform:translate(2px)}@media (min-width:769px){.dashboard-page .info-row--with-chevron .meta{gap:var(--space-md);flex-wrap:nowrap}}.work-calendar{--cal-day-col:3.375rem;--cal-week-col:calc(var(--cal-day-col) * 1.5);--cal-site-bg:#dbeafe;--cal-site-border:#2563eb;--cal-site-text:#1e3a8a;--cal-survey-bg:#e0f2fe;--cal-survey-border:#0284c7;--cal-survey-text:#0c4a6e;--cal-meeting-bg:#ffedd5;--cal-meeting-border:#d97706;--cal-meeting-text:#7c2d12;--cal-handover-bg:#dcfce7;--cal-handover-border:#16a34a;--cal-handover-text:#14532d;--cal-office-bg:#f3e8ff;--cal-office-border:#7c3aed;--cal-office-text:#4c1d95;--cal-remaining-bg:#ffe4e6;--cal-remaining-border:#e11d48;--cal-remaining-text:#881337}.work-calendar .toolbar{justify-content:space-between;align-items:center;gap:var(--space-lg);min-width:0;max-width:100%;margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.work-calendar .nav{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.work-calendar .nav button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:40px;min-height:40px;color:var(--color-text);box-shadow:var(--shadow-sm);place-items:center;transition:background .2s,border-color .2s,transform .2s;display:inline-grid}.work-calendar .nav button:hover{background:var(--color-surface-soft);border-color:var(--color-border-strong);transform:translateY(-1px)}.work-calendar .period{text-align:center;min-width:10em;color:var(--color-text);margin:0;font-size:20px;font-weight:800;line-height:1.3}.work-calendar .view-tabs{flex:none}:is(.process-schedule,.work-calendar,.detail-schedule) .legend{gap:var(--space-sm) var(--space-lg);min-width:0;max-width:100%;margin:0 0 var(--space-lg);color:var(--color-muted);background:0 0;border:0;flex-wrap:wrap;padding:0;font-size:12px;font-weight:700;line-height:1.5;display:flex}:is(.process-schedule,.work-calendar,.detail-schedule) .legend .item{align-items:center;gap:var(--space-sm);display:inline-flex}:is(.process-schedule,.work-calendar,.detail-schedule) .legend .swatch{box-sizing:border-box;flex-shrink:0}.work-calendar .legend .swatch{border:2px solid #0000;border-radius:3px;width:14px;height:14px}.work-calendar .legend .swatch.is-site{background:var(--cal-site-bg);border-color:var(--cal-site-border)}.work-calendar .legend .swatch.is-survey{background:var(--cal-survey-bg);border-color:var(--cal-survey-border)}.work-calendar .legend .swatch.is-meeting{background:var(--cal-meeting-bg);border-color:var(--cal-meeting-border)}.work-calendar .legend .swatch.is-handover{background:var(--cal-handover-bg);border-color:var(--cal-handover-border)}.work-calendar .legend .swatch.is-office{background:var(--cal-office-bg);border-color:var(--cal-office-border)}.work-calendar .legend .swatch.is-remaining{background:var(--cal-remaining-bg);border-color:var(--cal-remaining-border)}.work-calendar .legend .flag{background:var(--color-surface);width:18px;height:18px;color:var(--color-success);border-radius:999px;place-items:center;font-size:14px;display:inline-grid;box-shadow:0 1px 2px #052f4d24,0 0 0 1px #16a34a38}.work-calendar .panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:100%;display:grid;overflow:auto visible}.work-calendar .panel>.month-view,.work-calendar .panel>.week-view{box-sizing:border-box;grid-column:1;justify-self:stretch;width:100%;min-width:0;max-width:100%}.work-calendar .weekdays,.work-calendar .week-row .days{grid-template-columns:repeat(7, minmax(var(--cal-day-col), 1fr));min-width:0;display:grid}.work-calendar .weekdays{border-bottom:1px solid var(--color-border);background:var(--color-surface-soft)}.work-calendar .weekday{min-width:0;padding:var(--space-sm);text-align:center;color:var(--color-muted);font-size:12px;font-weight:800}.work-calendar .weekday.is-sun{color:var(--color-danger)}.work-calendar .weekday.is-sat{color:var(--color-info)}.work-calendar .week-row{border-bottom:1px solid var(--color-border)}.work-calendar .week-row:last-child{border-bottom:0}.work-calendar .week-row .days{min-height:60px}.work-calendar .day{border-right:1px solid var(--color-border);padding:var(--space-xs);background:var(--color-surface);min-width:0;overflow:hidden}.work-calendar .day:last-child{border-right:0}.work-calendar .day.is-other{background:#e9f8fd73}.work-calendar .day.is-weekend{background:#dbf7fd59}.work-calendar .day.is-holiday,.work-calendar .day-col.is-holiday{background:#fff1f2b8}.work-calendar .day.is-holiday.is-other{background:#ffecee8c}.work-calendar .day.is-holiday .date,.work-calendar .day-col.is-holiday .date{color:var(--color-danger)}.work-calendar .day.is-today.is-holiday .date{background:var(--color-primary);color:#fff}.work-calendar .holiday{margin-bottom:var(--space-xs);color:var(--color-danger);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;line-height:1.25;display:block;overflow:hidden}.work-calendar .legend .item.is-holiday:before{content:"";box-sizing:border-box;border:2px solid var(--color-danger);background:#fff1f2f2;border-radius:3px;width:14px;height:14px}.work-calendar .day.is-today .date{background:var(--color-primary);color:#fff}.work-calendar .day .date{width:28px;height:28px;margin-bottom:var(--space-xs);color:var(--color-text);border-radius:999px;place-items:center;font-size:13px;font-weight:800;display:inline-grid}.work-calendar .day .tasks{gap:2px;min-width:0;display:grid}.work-calendar .task{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:4px;min-width:0;max-width:100%;min-height:24px;padding:0 6px;font-size:11px;font-weight:700;line-height:1.25;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.work-calendar .task:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.work-calendar .task .time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;opacity:.92;font-size:10px;font-weight:800;line-height:1.2}.work-calendar .month-view .task.has-time{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:2px 4px;min-height:auto;padding:4px 6px}.work-calendar .month-view .task.has-time .time{flex:0 0 100%;width:100%}.work-calendar .month-view .task.has-time .main{flex:auto;align-items:flex-start;gap:4px;min-width:0;display:flex}.work-calendar .month-view .task.has-time .label{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.work-calendar .task .icon{flex:none;font-size:16px}.work-calendar .task .label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.work-calendar .task .flag{background:var(--color-surface);width:20px;height:20px;color:var(--color-success);border-radius:999px;flex:none;place-items:center;margin-left:auto;font-size:14px;display:inline-grid;box-shadow:0 1px 3px #052f4d29,0 2px 4px #052f4d14,0 0 0 1px #16a34a47}.work-calendar .month-view .task.has-time .flag{align-self:flex-start}.work-calendar .task.is-done{opacity:.88}.work-calendar .task.is-done .flag{opacity:1}.work-calendar .task.is-done .label{-webkit-text-decoration:line-through #102b3859;text-decoration:line-through #102b3859}.work-calendar .task.is-site{background:var(--cal-site-bg);border-color:var(--cal-site-border);color:var(--cal-site-text)}.work-calendar .task.is-survey{background:var(--cal-survey-bg);border-color:var(--cal-survey-border);color:var(--cal-survey-text)}.work-calendar .task.is-meeting{background:var(--cal-meeting-bg);border-color:var(--cal-meeting-border);color:var(--cal-meeting-text)}.work-calendar .task.is-handover{background:var(--cal-handover-bg);border-color:var(--cal-handover-border);color:var(--cal-handover-text)}.work-calendar .task.is-office{background:var(--cal-office-bg);border-color:var(--cal-office-border);color:var(--cal-office-text)}.work-calendar .task.is-remaining{background:var(--cal-remaining-bg);border-color:var(--cal-remaining-border);color:var(--cal-remaining-text)}.work-calendar .week-view{grid-template-columns:repeat(7, minmax(var(--cal-week-col), 1fr));width:100%;min-width:0;display:grid}.work-calendar .day-col{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;min-width:0;min-height:360px;display:flex}.work-calendar .day-col:last-child{border-right:0}.work-calendar .day-col.is-weekend{background:#dbf7fd59}.work-calendar .day-col .holiday-bar{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);background:#ffffff80;flex:none}.work-calendar .day-col .holiday-bar .holiday{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.work-calendar .day-col.is-today .head{background:var(--color-primary-tint);border-bottom-color:var(--color-primary)}.work-calendar .day-col .head{justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--color-border);background:var(--color-surface-soft);display:flex}.work-calendar .day-col .dow{color:var(--color-muted);font-size:12px;font-weight:800}.work-calendar .day-col.is-today .date{color:var(--color-primary)}.work-calendar .day-col .date{color:var(--color-text);font-size:18px;font-weight:800}.work-calendar .day-col .tasks{gap:var(--space-sm);padding:var(--space-md) var(--space-sm);flex:auto;min-height:0;display:grid}.work-calendar .day-col .empty{margin:var(--space-md);color:var(--color-muted);font-size:12px}.work-calendar .week-view .task{align-items:stretch;gap:var(--space-xs);min-height:auto;padding:var(--space-sm);flex-direction:column;font-size:12px}.work-calendar .week-view .task .head{align-items:center;gap:var(--space-xs);flex-wrap:wrap;width:100%;min-width:0;display:flex}.work-calendar .week-view .task .head .flag{margin-left:auto}.work-calendar .week-view .task .time{font-variant-numeric:tabular-nums;opacity:.9;font-size:11px;font-weight:800;line-height:1.3}.work-calendar .week-view .task .type{opacity:.9;font-size:11px;font-weight:800}.work-calendar .week-view .task .label{white-space:normal;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;width:100%;line-height:1.35;display:-webkit-box;overflow:hidden}@media (max-width:900px){.work-calendar .toolbar{flex-direction:column;align-items:stretch}.work-calendar .nav{justify-content:center}.work-calendar .view-tabs{justify-content:center;width:100%}}@media (max-width:768px){.work-calendar .section-header-actions{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.work-calendar .section-header-actions .ui-btn--outline{justify-content:center;width:100%;min-height:44px}.work-calendar .legend{gap:var(--space-md);padding:var(--space-sm) var(--space-md);-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.work-calendar .legend .item{white-space:nowrap;flex:none}.work-calendar .period{min-width:0;font-size:17px}.work-calendar{--cal-day-col:5.5rem}.work-calendar .panel>.month-view,.work-calendar .panel>.week-view{justify-self:start;min-width:100%;max-width:none}.work-calendar .panel>.month-view{width:calc(var(--cal-day-col) * 7)}.work-calendar .panel>.week-view{width:calc(var(--cal-week-col) * 7)}.work-calendar .month-view .task .label{white-space:normal;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}.work-calendar .week-row .days{min-height:52px}.work-calendar .weekday{padding:var(--space-xs) 2px;font-size:11px}.work-calendar .day{padding:var(--space-xs)}.work-calendar .day .date{width:24px;height:24px;margin-bottom:2px;font-size:11px}.work-calendar .holiday{margin-bottom:2px;font-size:9px}.work-calendar .task{gap:2px;min-height:20px;padding:0 4px;font-size:10px}.work-calendar .task .icon{font-size:14px}.work-calendar .month-view .task.has-time{padding:3px 4px}.work-calendar .day-col{min-height:300px}.work-calendar .day-col .head{padding:var(--space-sm)}.work-calendar .day-col .date{font-size:16px}.work-calendar .day-col .tasks{padding:var(--space-sm) var(--space-xs);gap:var(--space-xs)}}@media (max-width:640px){.work-calendar{--cal-day-col:5rem}.work-calendar .section-header-actions{grid-template-columns:1fr}.work-calendar .period{font-size:16px}.work-calendar .week-row .days{min-height:44px}.work-calendar .weekday{font-size:10px}.work-calendar .month-view .task .icon{display:none}.work-calendar .month-view .task .label{font-size:9px}.work-calendar .task .flag{width:18px;height:18px;font-size:12px}.work-calendar .day-col{min-height:260px}.work-calendar .day-col .date{font-size:15px}.work-calendar .week-view .task{padding:var(--space-xs) var(--space-sm);font-size:11px}}.process-schedule{--ps-day-width:44px;--ps-info-width:280px;--ps-head-height:52px;--ps-bar-height:22px;--ps-bar-gap:4px;--ps-track-pad-y:6px;--ps-track-rows:6;--ps-reserve-bg:#fef3c7;--ps-reserve-border:#d97706;--ps-reserve-text:#92400e;--ps-holiday-bg:#f3f4f6;--ps-holiday-border:#6b7280;--ps-holiday-text:#374151;--ps-labor-row-min:4rem;--ps-labor-cell-min:2.125rem;--ps-labor-chip-size:1.875rem}.process-schedule .toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);min-width:0;max-width:100%;margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.process-schedule .nav{align-items:center;gap:var(--space-sm);display:flex}.process-schedule .nav button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:40px;min-height:40px;color:var(--color-text);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.process-schedule .nav button:hover{background:var(--color-surface-soft);border-color:var(--color-border-strong);transform:translateY(-1px)}.process-schedule .period{text-align:center;min-width:14em;color:var(--color-text);margin:0;font-size:15px;font-weight:800}.process-schedule .toolbar-start{align-items:center;gap:var(--space-sm);flex:none;min-width:0;display:flex}.process-schedule .toolbar-start .ui-label{color:var(--color-muted);white-space:nowrap;margin:0;font-size:12px;font-weight:700}.process-schedule .toolbar-start .ui-control{min-width:10.5rem;min-height:40px}.process-schedule .legend .swatch{border:2px solid var(--color-border);border-radius:3px;width:14px;height:14px}.process-schedule .legend .swatch.is-unassigned{background:var(--color-surface);border-style:dashed}.process-schedule .board-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-width:0;max-width:100%;overflow:hidden}.process-schedule .labor-section{margin-top:var(--space-xl);min-width:0;max-width:100%}.process-schedule .labor-heading{margin:0 0 var(--space-md);color:var(--color-text);font-size:16px;font-weight:800;line-height:1.3}.process-schedule .project-no{min-width:1.35rem;height:1.35rem;margin-right:var(--space-xs);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;vertical-align:middle;place-items:center;padding:0 4px;font-size:11px;font-weight:800;line-height:1;display:inline-grid}.process-schedule .labor-project-legend{gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-md);color:var(--color-muted);flex-wrap:wrap;font-size:12px;font-weight:700;display:flex}.process-schedule .labor-project-legend .item{align-items:center;gap:var(--space-sm);display:inline-flex}.process-schedule .labor-project-legend .project-no{margin-right:0}.process-schedule .labor-project-legend .name{color:var(--color-text);font-weight:600}.process-schedule .labor-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-width:0;max-width:100%;overflow:hidden}.process-schedule .labor-board-layout{grid-template-columns:var(--ps-info-width) minmax(0, 1fr);min-width:0;display:grid}.process-schedule .labor-labels-pane{border-right:1px solid var(--color-border);background:var(--color-surface)}.process-schedule .labor-staff-info{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);box-sizing:border-box;min-height:var(--ps-labor-row-min);flex-direction:column;justify-content:center;gap:2px;display:flex}.process-schedule .labor-staff-info:last-child{border-bottom:0}.process-schedule .labor-staff-info .title{color:var(--color-text);margin:0;font-size:13px;font-weight:800;line-height:1.25}.process-schedule .labor-staff-info .role{color:var(--color-muted);margin:0;font-size:11px;font-weight:600;line-height:1.35}.process-schedule .labor-timeline-pane{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;min-width:0;overflow:auto hidden}.process-schedule .labor-timeline-body{width:calc(var(--ps-days) * var(--ps-day-width));min-width:calc(var(--ps-days) * var(--ps-day-width))}.process-schedule .labor-head-row{grid-template-columns:repeat(var(--ps-days), var(--ps-day-width));height:var(--ps-head-height);min-height:var(--ps-head-height);box-sizing:border-box;background:var(--color-surface-soft);border-bottom:1px solid var(--color-border);align-items:stretch;display:grid}.process-schedule .labor-head-row .day-head{height:100%;min-height:0}.process-schedule .labor-row{grid-template-columns:repeat(var(--ps-days), var(--ps-day-width));border-bottom:1px solid var(--color-border);box-sizing:border-box;min-height:var(--ps-labor-row-min);display:grid}.process-schedule .labor-row:last-child{border-bottom:0}.process-schedule .labor-day-cell{width:100%;min-height:var(--ps-labor-cell-min);border:none;border-right:1px solid var(--color-border);box-sizing:border-box;background:var(--color-surface);cursor:pointer;min-width:0;font:inherit;color:inherit;text-align:center;appearance:none;justify-content:center;align-items:center;margin:0;padding:2px;display:flex;position:relative}.process-schedule .labor-fill-handle{border:1px solid var(--color-surface);background:var(--color-primary);cursor:crosshair;opacity:0;border-radius:1px;width:8px;height:8px;transition:opacity .12s;position:absolute;bottom:1px;right:1px}.process-schedule .labor-day-cell:hover .labor-fill-handle,.process-schedule .labor-day-cell:focus-within .labor-fill-handle{opacity:1}.process-schedule .labor-day-cell.is-fill-range{outline:2px solid var(--color-primary);outline-offset:-2px}.process-schedule .labor-day-cell:last-child{border-right:0}.process-schedule .labor-day-cell:hover{background:#3b82f60f}.process-schedule .labor-day-cell:focus-visible{outline-offset:-2px;z-index:1;outline:2px solid #2563eb}.process-schedule .labor-day-cell.is-sat{background:#dbf7fd59}.process-schedule .labor-day-cell.is-sat:hover{background:#dbf7fd8c}.process-schedule .labor-day-cell.is-sun,.process-schedule .labor-day-cell.is-holiday{background:#fff1f273}.process-schedule .labor-day-cell.is-sun:hover,.process-schedule .labor-day-cell.is-holiday:hover{background:#fff1f2a6}.process-schedule .labor-day-cell.is-off-day{background:#f3f4f6d9}.process-schedule .labor-day-cell.is-empty .labor-empty-hint{color:var(--color-muted);opacity:.45;font-size:15px;font-weight:700;line-height:1}.process-schedule .labor-day-cell .labor-chip{flex:none}.process-schedule .labor-picker{z-index:200;min-width:11rem;max-width:min(20rem,100vw - 1rem);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);position:fixed;box-shadow:0 10px 28px #0f172a29}.process-schedule .labor-picker[hidden]{display:none!important}.process-schedule .labor-picker-title{margin:0 0 var(--space-sm);color:var(--color-muted);font-size:12px;font-weight:700}.process-schedule .labor-picker-options{gap:var(--space-xs);flex-wrap:wrap;display:flex}.process-schedule .labor-pick-chip{min-width:2.25rem;min-height:2.25rem;padding:var(--space-xs) var(--space-sm);border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-variant-numeric:tabular-nums;cursor:pointer;place-items:center;font-size:14px;font-weight:900;line-height:1;transition:transform .12s,box-shadow .12s;display:grid}.process-schedule .labor-pick-chip:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0f172a1f}.process-schedule .labor-pick-chip:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.process-schedule .labor-pick-chip.is-selected{box-shadow:0 0 0 2px var(--color-surface), 0 0 0 4px #2563eb}.process-schedule .labor-pick-chip.is-clear{min-width:auto;padding-inline:var(--space-sm);color:var(--color-muted);font-size:11px;font-weight:700}.process-schedule .labor-pick-chip.is-off{background:var(--ps-holiday-bg);border-color:var(--ps-holiday-border);color:var(--ps-holiday-text)}.process-schedule .labor-pick-chip.is-unassigned{color:var(--color-muted);border-style:dashed}.process-schedule .labor-chip{width:min(var(--ps-labor-chip-size), calc(100% - 4px));aspect-ratio:1;border:2px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;pointer-events:none;place-items:center;height:auto;padding:0;line-height:1;display:grid}.process-schedule .labor-chip.is-off{background:var(--ps-holiday-bg);border-color:var(--ps-holiday-border);color:var(--ps-holiday-text)}.process-schedule .labor-chip.is-off .labor-chip-title{font-size:11px;font-weight:800}.process-schedule .labor-chip.is-unassigned{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-muted);border-style:dashed}.process-schedule .labor-chip .labor-chip-title{font-variant-numeric:tabular-nums;font-size:14px;font-weight:900;line-height:1}.process-schedule .board-layout{grid-template-columns:var(--ps-info-width) minmax(0, 1fr);min-width:0;display:grid}.process-schedule .labels-pane{border-right:1px solid var(--color-border);background:var(--color-surface);min-width:0}.process-schedule .timeline-pane{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;min-width:0;overflow:auto hidden}.process-schedule .timeline-body{width:calc(var(--ps-days) * var(--ps-day-width));min-width:calc(var(--ps-days) * var(--ps-day-width))}.process-schedule .timeline-pane .schedule-row.is-head{grid-template-columns:repeat(var(--ps-days), var(--ps-day-width));height:var(--ps-head-height);min-height:var(--ps-head-height);box-sizing:border-box;background:var(--color-surface-soft);border-bottom:1px solid var(--color-border);align-items:stretch;display:grid}.process-schedule .timeline-pane .schedule-row.is-head .day-head{height:100%;min-height:0}.process-schedule .timeline-pane .schedule-row[data-schedule-track]{padding:var(--ps-track-pad-y) 0;box-sizing:border-box;border-bottom:1px solid var(--color-border);min-height:calc(var(--ps-bar-height) * 6 + var(--ps-bar-gap) * 5 + var(--ps-track-pad-y) * 2);flex-direction:column;justify-content:center;display:flex;position:relative}.process-schedule .day-lanes{grid-template-columns:repeat(var(--ps-days), var(--ps-day-width));pointer-events:none;z-index:0;display:grid;position:absolute;inset:0}.process-schedule .track-grid{z-index:1;grid-template-columns:repeat(var(--ps-days), var(--ps-day-width));grid-template-rows:repeat(var(--ps-track-rows), var(--ps-bar-height));row-gap:var(--ps-bar-gap);flex:none;width:100%;display:grid;position:relative}.process-schedule .timeline-pane .schedule-row:last-child{border-bottom:0}.process-schedule .corner{height:var(--ps-head-height);min-height:var(--ps-head-height);padding:var(--space-sm) var(--space-md);background:var(--color-surface-soft);border-bottom:1px solid var(--color-border);box-sizing:border-box;align-items:flex-end;display:flex}.process-schedule .corner-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.process-schedule .day-head{min-height:var(--ps-head-height);padding:var(--space-xs) 2px;border-right:1px solid var(--color-border);box-sizing:border-box;color:var(--color-text);background:var(--color-surface-soft);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:800;line-height:1.2;display:flex}.process-schedule .day-head .dow{color:var(--color-muted);font-size:10px;font-weight:700}.process-schedule .day-head.is-sat{color:var(--color-info);background:#dbf7fd8c}.process-schedule .day-head.is-sun,.process-schedule .day-head.is-holiday{color:var(--color-danger);background:#fff1f2b8}.process-schedule .day-head.is-today .md{background:var(--color-primary);color:#fff;border-radius:999px;padding:0 6px}.process-schedule .labels-pane .info{padding:var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-sizing:border-box;min-height:calc(var(--ps-bar-height) * 6 + var(--ps-bar-gap) * 5 + var(--ps-track-pad-y) * 2)}.process-schedule .labels-pane .info:last-child{border-bottom:0}.process-schedule .info .title{align-items:flex-start;gap:var(--space-xs);margin:0 0 var(--space-sm);color:var(--color-text);font-size:13px;font-weight:800;line-height:1.4;display:flex}.process-schedule .info .title .project-no{flex:none;margin-top:2px}.process-schedule .info .meta{gap:var(--space-sm);margin:0;display:grid}.process-schedule .info .meta>div{gap:var(--space-xs);grid-template-columns:4.5em minmax(0,1fr);align-items:center;display:grid}.process-schedule .info .meta dt{color:var(--color-muted);margin:0;font-size:11px;font-weight:700}.process-schedule .info .meta dd{color:var(--color-text);min-width:0;margin:0;font-size:12px;font-weight:600}.process-schedule .info select.ui-control{width:100%;min-height:32px;padding:4px 2rem 4px var(--space-sm);background-position:right var(--space-sm) center;font-size:12px;font-weight:600}.process-schedule .info-actions{gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.ui-modal--schedule-items{width:min(720px,100%)}.ui-modal--order{width:min(1200px,100%)}.ui-modal--schedule-items .modal-project{margin:0 0 var(--space-lg);color:var(--color-text);font-size:14px;font-weight:700}.ui-modal--schedule-items .document-box--item{gap:var(--space-sm);flex-direction:column;min-height:0;transition:border-color .2s,background-color .2s;display:flex}.ui-modal--schedule-items .document-box--item.is-status-pending{background:#59798514;border-color:#59798559}.ui-modal--schedule-items .document-box--item.is-status-progress{background:#009fba14;border-color:#009fba59}.ui-modal--schedule-items .document-box--item.is-status-done{background:#16a34a14;border-color:#16a34a59}.ui-modal--schedule-items .document-box-head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.ui-modal--schedule-items .document-box--item .label{min-width:0;color:var(--color-text);flex:auto;margin:0;font-weight:700}.ui-modal--schedule-items .document-status-badge{letter-spacing:.02em;flex:none;min-height:24px;font-size:11px}.ui-modal--schedule-items .document-status-badge.is-status-pending{color:var(--color-muted);background:#5979851a;border-color:#59798559}.ui-modal--schedule-items .document-status-badge.is-status-progress{background:var(--color-primary-soft);color:var(--color-primary-hover);border-color:#009fba59}.ui-modal--schedule-items .document-status-badge.is-status-done{color:var(--color-success);background:#16a34a1f;border-color:#16a34a59}.ui-modal--schedule-items .document-item-meta{gap:var(--space-sm);margin:0;display:grid}.ui-modal--schedule-items .document-item-meta>div{gap:var(--space-xs);grid-template-columns:3.5em minmax(0,1fr);align-items:center;display:grid}.ui-modal--schedule-items .document-item-meta dt{color:var(--color-muted);margin:0;font-size:11px;font-weight:700}.ui-modal--schedule-items .document-item-meta dd{color:var(--color-text);min-width:0;margin:0;font-size:13px;font-weight:600}.ui-modal--schedule-items .document-item-meta select.ui-control{width:100%;min-height:36px;font-size:13px;font-weight:600}.process-schedule .schedule-row[data-schedule-track]{cursor:pointer}.process-schedule .schedule-row[data-schedule-track]:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.process-schedule .timeline-pane .schedule-row.is-empty{background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#102b3808 6px 12px)}.process-schedule .day-cell{border-right:1px solid var(--color-border);box-sizing:border-box;height:100%}.process-schedule .day-cell:last-child,.process-schedule .day-head:last-child{border-right:0}.process-schedule .day-cell.is-sat{background:#dbf7fd59}.process-schedule .day-cell.is-sun,.process-schedule .day-cell.is-holiday{background:#fff1f273}.process-schedule .bar{min-height:var(--ps-bar-height);padding:0 var(--space-sm);border-radius:var(--radius-sm);pointer-events:auto;cursor:pointer;box-shadow:var(--shadow-sm);box-sizing:border-box;z-index:1;border:2px solid #0000;align-self:center;align-items:center;margin:0 2px;font-size:11px;font-weight:800;line-height:1.2;display:flex;overflow:hidden}.process-schedule .bar .label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.process-schedule .bar.is-unassigned{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-muted);border-style:dashed}.process-schedule .bar.is-assigned:hover,.process-schedule .bar.is-segment-reserve:hover,.process-schedule .bar.is-segment-holiday:hover{filter:brightness(.97);transform:translateY(-1px)}.process-schedule .bar.is-segment-reserve{background:var(--ps-reserve-bg);border-color:var(--ps-reserve-border);color:var(--ps-reserve-text)}.process-schedule .bar.is-segment-holiday{background:var(--ps-holiday-bg);border-color:var(--ps-holiday-border);color:var(--ps-holiday-text)}.process-schedule .legend .swatch.is-segment-reserve{background:var(--ps-reserve-bg);border-color:var(--ps-reserve-border)}.process-schedule .legend .swatch.is-segment-holiday{background:var(--ps-holiday-bg);border-color:var(--ps-holiday-border)}.process-schedule .bar.is-day{justify-content:center;padding:0}.process-schedule .bar.is-day .label{font-size:10px}.process-schedule .empty-hint{color:var(--color-muted);pointer-events:none;z-index:0;place-items:center;font-size:12px;font-weight:700;display:grid}.ui-modal--schedule-task{width:min(640px,100%)}.ui-modal--schedule-task .modal-project{margin:0 0 var(--space-lg);color:var(--color-text);font-size:14px;font-weight:700}.ui-form-grid--schedule{gap:var(--space-lg);grid-template-columns:1fr}.ui-form-grid--schedule fieldset{border:0;margin:0;padding:0}.ui-form-grid--schedule .date-range{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid}.ui-form-grid--schedule .range-sep{color:var(--color-muted);font-weight:700}.ui-form-grid--schedule .multi-day .add-row{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.ui-form-grid--schedule .day-list{margin:var(--space-sm) 0 0;gap:var(--space-xs);padding:0;list-style:none;display:grid}.ui-form-grid--schedule .day-list li{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);font-size:13px;font-weight:600;display:flex}.ui-form-grid--schedule .day-list li.empty{color:var(--color-muted);justify-content:center;font-size:12px;font-weight:500}.ui-form-grid--schedule .day-list .remove{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.ui-form-grid--schedule .day-list .remove:hover{background:var(--color-surface);color:var(--color-danger)}@media (max-width:768px){.process-schedule{--ps-info-width:200px;--ps-day-width:34px;--ps-head-height:46px;--ps-bar-height:20px;--ps-track-pad-y:4px}.process-schedule .section-header-actions{width:100%}.process-schedule .section-header-actions .ui-btn--outline{justify-content:center;width:100%}.process-schedule .toolbar{flex-direction:column;align-items:stretch}.process-schedule .nav{justify-content:center}.process-schedule .toolbar-start{justify-content:space-between;width:100%}.process-schedule .toolbar-start .ui-control{flex:auto;min-width:0;max-width:16rem}.process-schedule .period{min-width:0;font-size:14px}.process-schedule .info .title{font-size:12px}.process-schedule .info .meta>div{grid-template-columns:4em minmax(0,1fr)}.process-schedule .info .meta dt,.process-schedule .info .meta dd{font-size:10px}.process-schedule .day-head{padding:var(--space-xs) 1px;font-size:10px}.process-schedule .day-head .dow{font-size:9px}.process-schedule .bar{padding:0 4px;font-size:10px}.process-schedule .timeline-pane,.process-schedule .labor-timeline-pane{box-shadow:inset -12px 0 14px -12px #0f172a1a}.process-schedule .labor-staff-info .title{font-size:12px}.process-schedule .labor-staff-info .role{font-size:10px}}@media (max-width:640px){.process-schedule{--ps-info-width:148px;--ps-day-width:30px;--ps-head-height:42px;--ps-bar-height:18px;--ps-labor-row-min:3.5rem;--ps-labor-cell-min:1.875rem;--ps-labor-chip-size:1.625rem}.process-schedule .period{font-size:13px}.process-schedule .info{padding:var(--space-sm)}.process-schedule .info .meta>div{grid-template-columns:1fr;gap:2px}.process-schedule .info .meta dt{font-size:10px}.process-schedule .info .meta dd{font-size:11px}.process-schedule .info select.ui-control{min-height:30px;font-size:11px}.process-schedule .labor-pick-chip{min-width:2rem;min-height:2rem;font-size:13px}.process-schedule .labor-chip .labor-chip-title{font-size:13px}.process-schedule .corner-label{font-size:10px}.process-schedule .bar.is-day .label{font-size:9px}.ui-form-grid--schedule .date-range{grid-template-columns:1fr}.ui-form-grid--schedule .range-sep{text-align:center}}.admin-layout--detail-schedule .dashboard-content--wide,.detail-schedule-page,.detail-schedule-page>.section-block{overflow:visible}.detail-schedule-head{z-index:10;margin-bottom:var(--space-lg);position:relative}.detail-schedule-head .section-header-start{flex-flow:column;align-items:flex-start;gap:2px}.detail-schedule.workspace{z-index:0;gap:var(--space-lg);--slot-status-unconfirmed-bg:#ffe4e6;--slot-status-unconfirmed-border:#e11d48;--slot-status-unconfirmed-text:#881337;--slot-status-confirmed-bg:#e0f2fe;--slot-status-confirmed-border:#0284c7;--slot-status-confirmed-text:#0c4a6e;--slot-status-done-bg:#f1f5f9;--slot-status-done-border:#94a3b8;--slot-status-done-text:#475569;--slot-ng-accent:#9333ea;--slot-ng-bg:color-mix(in srgb, var(--slot-ng-accent) 12%, var(--color-surface));--slot-ng-bg-strong:color-mix(in srgb, var(--slot-ng-accent) 22%, var(--color-surface));--slot-ng-border:color-mix(in srgb, var(--slot-ng-accent) 50%, var(--color-border));--slot-ng-target-bg:color-mix(in srgb, var(--slot-ng-accent) 7%, var(--color-surface));grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;display:grid;position:relative}.detail-schedule.workspace>.main{gap:var(--space-lg);min-width:0;display:grid}.detail-schedule.workspace>.aside{gap:var(--space-lg);min-width:0;top:var(--space-md);z-index:2;align-content:start;align-self:start;display:grid;position:sticky;overflow:visible}.detail-schedule .toolbar{align-items:flex-start;gap:var(--space-md);display:flex}.detail-schedule .toolbar-ng{gap:var(--space-xs);display:grid}.detail-schedule .ng-mode-hint{color:var(--slot-ng-accent);margin:0;font-size:12px;font-weight:600;line-height:1.4}.detail-schedule .legend .slot-sample--ng-target{border-style:dashed;border-color:var(--slot-ng-border);background:var(--slot-ng-target-bg);width:28px;min-width:28px;min-height:22px}.detail-schedule .legend .slot-sample--ng-set{border-color:var(--slot-ng-border);background:var(--slot-ng-bg-strong);min-width:28px;min-height:22px;color:var(--slot-ng-accent);gap:0}.detail-schedule .legend .slot-sample--ng-set .material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 700, "GRAD" 0, "opsz" 20;font-size:16px;line-height:1}.detail-schedule.is-ng-mode .slot-cell.is-ng-target{cursor:pointer;background:var(--slot-ng-target-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--slot-ng-accent) 28%, transparent)}.detail-schedule.is-ng-mode .slot-cell.is-ng-target:hover,.detail-schedule.is-ng-mode .slot-cell.is-ng-target:focus-visible{background:color-mix(in srgb, var(--slot-ng-accent) 14%, var(--color-surface));box-shadow:inset 0 0 0 2px var(--slot-ng-border);outline:none}.detail-schedule.is-ng-mode .slot-cell.is-ng{background:var(--slot-ng-bg-strong);box-shadow:inset 0 0 0 2px var(--slot-ng-border)}.detail-schedule.is-ng-mode .slot-cell.is-ng:hover,.detail-schedule.is-ng-mode .slot-cell.is-ng:focus-visible{background:color-mix(in srgb, var(--slot-ng-accent) 18%, var(--color-surface));box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--slot-ng-accent) 40%, var(--color-border));outline:none}.detail-schedule.is-ng-mode .slot-cell.is-ng-occupied{cursor:not-allowed}.detail-schedule.is-ng-mode .slot-ng-placeholder{border:1px dashed var(--slot-ng-border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface) 70%, transparent);justify-content:center;align-items:center;width:100%;min-height:28px;display:inline-flex}.detail-schedule.is-ng-mode .slot-ng-placeholder:before{content:"";border:2px solid var(--slot-ng-border);background:var(--color-surface);border-radius:3px;width:14px;height:14px}.detail-schedule.is-ng-mode .slot-cell.is-ng-occupied .slot-room{cursor:not-allowed}.detail-schedule.is-ng-mode .slot-room{pointer-events:none}.detail-schedule.is-ng-mode .slot-room:hover{border-color:inherit;box-shadow:none}.detail-schedule .slot-ng-mark{display:none}.detail-schedule.is-ng-mode .slot-cell.is-ng .slot-ng-mark{background:var(--slot-ng-accent);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;line-height:1;display:inline-flex}.detail-schedule .slot-ng-mark .material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 700, "GRAD" 0, "opsz" 20;font-size:16px;line-height:1}.detail-schedule.is-ng-mode .slot-cell.is-ng .slot-cell-inner{justify-content:center;align-items:center;width:100%;min-height:36px;display:flex}.detail-schedule.is-ng-mode .slot-cell-inner{justify-content:center;gap:3px;min-height:32px}.detail-schedule.is-ng-mode .slot-cell.is-ng .slot-ng{display:none}.detail-schedule .mode-toggle{margin:0;font-weight:600}.detail-schedule-board-view{gap:var(--space-lg);display:grid}.detail-schedule-board-view>.legend,.detail-schedule-list-view>.legend{margin-bottom:0}.detail-schedule-board-view[hidden],.detail-schedule-list-view[hidden]{display:none!important}.detail-schedule .legend .legend-ng-group{display:contents}.detail-schedule .legend .legend-ng-group[hidden]{display:none}.detail-schedule .legend .item>.swatch{border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:center;align-items:center;min-width:24px;min-height:22px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.detail-schedule .legend .item .slot-room-icon,.detail-schedule .legend .item .slot-room-priority{flex-shrink:0}.detail-schedule .day-badge,.detail-schedule .band-badge{border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);white-space:nowrap;padding:1px 6px;font-size:10px;font-weight:800;line-height:1.35;display:inline-block}.detail-schedule .day-badge--reserve,.detail-schedule .band-badge--reserve{letter-spacing:.02em}.detail-schedule .slot-board thead .day-badge{width:fit-content;margin:0 auto 4px;display:block}.detail-schedule .slot-board thead th.is-reserve-day{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface))}.detail-schedule .slot-board .time.is-reserve-band{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface-soft))}.detail-schedule .slot-board thead th.col-day.is-preparation{background:color-mix(in srgb, var(--color-warning,#d98a00) 10%, var(--color-surface))}.detail-schedule .slot-board thead .day-badge--preparation{background:color-mix(in srgb, var(--color-warning,#d98a00) 18%, var(--color-surface));color:var(--color-warning,#a86a00);border-radius:999px;padding:0 6px;font-size:11px;font-weight:800}.detail-schedule .slot-board td.slot-cell.is-preparation{background:color-mix(in srgb, var(--color-muted) 14%, var(--color-surface-soft));cursor:not-allowed}.detail-schedule .slot-board .time-cell .band-badge{margin-bottom:2px}.detail-schedule .legend .slot-sample--ng{border-color:var(--slot-ng-border);background:var(--slot-ng-bg-strong);color:var(--slot-ng-accent)}.detail-schedule .legend .slot-sample--unconfirmed{border-color:var(--slot-status-unconfirmed-border);background:var(--slot-status-unconfirmed-bg);color:var(--slot-status-unconfirmed-text)}.detail-schedule .legend .slot-sample--confirmed{border-color:var(--slot-status-confirmed-border);background:var(--slot-status-confirmed-bg);color:var(--slot-status-confirmed-text)}.detail-schedule .legend .slot-sample--done{border-color:var(--slot-status-done-border);background:var(--slot-status-done-bg);color:var(--slot-status-done-text)}.detail-schedule .slot-board thead th.is-holiday{width:var(--slot-board-day-col);max-width:var(--slot-board-day-col);background:var(--color-surface-soft);color:var(--color-muted);line-height:1.35}.detail-schedule .slot-board thead .holiday-label{white-space:normal;margin-top:4px;font-size:10px;font-weight:700;line-height:1.3;display:block}.detail-schedule .slot-board tbody td.slot-cell.is-holiday{width:var(--slot-board-day-col);max-width:var(--slot-board-day-col);background:color-mix(in srgb, var(--color-muted) 10%, var(--color-surface-soft));cursor:not-allowed}.detail-schedule .slot-board .slot-holiday{min-width:28px;min-height:28px;color:var(--color-muted);letter-spacing:.08em;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.detail-schedule.is-ng-mode .slot-cell.is-holiday{cursor:not-allowed}.detail-schedule .slot-board .time.time--spare{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-surface-soft))}.detail-schedule .slot-board .time.time--spare .time-label{color:var(--color-primary)}.detail-schedule .slot-board td.slot-cell.spare-cell--disabled,.detail-schedule .slot-board td.slot-cell.is-drop-disabled{background:color-mix(in srgb, var(--color-muted) 12%, var(--color-surface-soft));cursor:not-allowed}.detail-schedule .slot-board .slot-disabled-mark{min-width:28px;min-height:24px;color:var(--color-muted);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.detail-schedule .undecided-area{gap:var(--space-sm);display:grid}.detail-schedule .undecided-area-head{align-items:baseline;gap:var(--space-xs) var(--space-md);flex-wrap:wrap;display:flex}.detail-schedule .undecided-drop{align-content:flex-start;gap:var(--space-sm);min-height:84px;padding:var(--space-md);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-muted,#00000008);flex-wrap:wrap;display:flex}.detail-schedule .undecided-drop.is-drop-target{border-style:solid;border-color:var(--color-primary);background:var(--color-primary-tint)}.detail-schedule .undecided-empty{color:var(--color-muted);align-self:center;margin:0;font-size:12px}.detail-schedule .undecided-card{display:inline-flex}.detail-schedule .undecided-card.is-dragging{opacity:.4}.detail-schedule .slot-board-actions{gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-primary-tint);display:grid}.detail-schedule .slot-board-actions[hidden]{display:none}.detail-schedule .slot-board-actions .hint{color:var(--color-text);margin:0;font-size:13px;font-weight:600;line-height:1.5}.detail-schedule .slot-pattern-note{margin-top:var(--space-xs);color:var(--color-muted);font-size:12px;font-weight:600;line-height:1.45;display:block}.detail-schedule .slot-pattern-note[hidden]{display:none}.detail-schedule .subsection{gap:var(--space-sm);display:grid}.detail-schedule .subsection-title{margin:0;font-size:14px;font-weight:700}.detail-schedule-board-view .slot-board-scroll{max-width:100%;box-shadow:none;background:0 0;border:0}.detail-schedule-board-view .slot-board-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:max-content;box-shadow:var(--shadow-sm);overflow:hidden}.detail-schedule-board-view .slot-board-panel>.slot-board.ui-table{box-shadow:none;border:0;border-radius:0}.detail-schedule .slot-board{--slot-board-time-col:90px;--slot-board-day-col:100px;table-layout:fixed;border-collapse:collapse;border-spacing:0;width:max-content}.detail-schedule .slot-board .col-time,.detail-schedule .slot-board tbody th.time{width:var(--slot-board-time-col);max-width:var(--slot-board-time-col)}.detail-schedule .slot-board th,.detail-schedule .slot-board td{text-align:center;vertical-align:middle;border:1px solid var(--color-border)}.detail-schedule-board-view .slot-board-panel .slot-board thead tr:first-child>:is(th,td){border-top:0}.detail-schedule-board-view .slot-board-panel .slot-board tbody tr:last-child>:is(th,td){border-bottom:0}.detail-schedule-board-view .slot-board-panel .slot-board tr>:is(th,td):first-child{border-left:0}.detail-schedule-board-view .slot-board-panel .slot-board tr>:is(th,td):last-child{border-right:0}.detail-schedule .slot-board thead th{white-space:nowrap}.detail-schedule .slot-board thead th.col-time{white-space:normal;vertical-align:middle;padding:var(--space-xs)}.detail-schedule .slot-board thead .col-time-head{justify-content:center;align-items:stretch;gap:var(--space-xs);width:100%;max-width:var(--slot-board-time-col);flex-direction:column;margin-inline:auto;display:flex}.detail-schedule .slot-board thead .col-time-label{color:var(--color-muted);letter-spacing:.02em;text-align:center;font-size:12px;font-weight:800;line-height:1.3;display:block}.detail-schedule .slot-board thead .col-time-head>:is(button,a)[class*=ui-btn--]{white-space:nowrap;justify-content:center;gap:2px;width:100%;padding-inline:2px;font-size:10px;line-height:1.2}.detail-schedule .slot-board thead .col-time-head .material-symbols-rounded{font-size:14px}.detail-schedule .slot-board thead th:not(.col-time){width:var(--slot-board-day-col);max-width:var(--slot-board-day-col)}.detail-schedule .slot-board .dow{color:var(--color-muted);margin-top:2px;font-size:11px;font-weight:500;display:block}.detail-schedule .slot-board .time{background:var(--color-surface-soft);color:var(--color-text);white-space:normal;font-size:10px;font-weight:700;line-height:1.3}.detail-schedule .slot-board .time-cell{justify-content:center;align-items:center;gap:var(--space-xs);min-height:100%;max-width:var(--slot-board-time-col);flex-direction:column;margin-inline:auto;display:flex}.detail-schedule .slot-board .time-label{word-break:break-all;max-width:100%;display:block}.detail-schedule .slot-board .time-cell .ui-btn--sm{width:100%;max-width:40px;padding-inline:2px;font-size:10px;line-height:1.2}.detail-schedule .slot-board tbody td.slot-cell{width:var(--slot-board-day-col);max-width:var(--slot-board-day-col);height:48px;padding:var(--space-xs);box-sizing:border-box}.detail-schedule .slot-cell{transition:background .15s,box-shadow .15s}.detail-schedule .slot-cell-inner{vertical-align:middle;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;max-width:100%;display:inline-flex}.detail-schedule .slot-cell.is-drop-target{background:var(--color-primary-tint);box-shadow:inset 0 0 0 2px var(--color-primary)}.detail-schedule .slot-cell.is-ng{background:var(--slot-ng-bg);box-shadow:inset 0 0 0 1px var(--slot-ng-border)}.detail-schedule .slot-cell--unconfirmed{background:var(--slot-status-unconfirmed-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--slot-status-unconfirmed-border) 65%, transparent)}.detail-schedule .slot-cell--confirmed{background:var(--slot-status-confirmed-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--slot-status-confirmed-border) 80%, transparent)}.detail-schedule .slot-cell--done{background:var(--slot-status-done-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--slot-status-done-border) 65%, transparent)}.detail-schedule .slot-ng{color:var(--slot-ng-accent);letter-spacing:.06em;flex:none;font-size:10px;font-weight:800;line-height:1}.detail-schedule .slot-room-icon{width:14px;height:14px;color:var(--color-muted);justify-content:center;align-items:center;display:inline-flex}.detail-schedule .slot-room-icon .material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;font-size:13px;line-height:1}.detail-schedule .slot-room-icon--history{color:var(--color-primary)}.detail-schedule .slot-room-icon--remarks{color:#d97706}.detail-schedule .slot-room-priority{background:color-mix(in srgb, var(--color-danger) 12%, var(--color-surface));min-width:14px;height:14px;color:var(--color-danger);border-radius:2px;justify-content:center;align-items:center;padding:0 2px;font-size:9px;font-weight:900;line-height:1;display:inline-flex}:is(.detail-schedule .slot-board .slot-cell:has(.slot-room).slot-cell--unconfirmed,.detail-schedule .slot-board .slot-cell:has(.slot-room).slot-cell--confirmed,.detail-schedule .slot-board .slot-cell:has(.slot-room).slot-cell--done){box-shadow:none;background:0 0}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room{box-sizing:border-box;border-radius:var(--radius-sm);cursor:grab;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:4px;width:100%;min-width:0;max-width:100%;min-height:24px;padding:2px 6px;font-size:11px;font-weight:700;line-height:1.25;transition:transform .15s,box-shadow .15s,border-color .15s,color .15s,opacity .15s;display:flex;overflow:hidden}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room-badges{flex:none;align-items:center;gap:1px;display:inline-flex}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room-num{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.02em;flex:auto;min-width:0;font-size:11px;font-weight:800;overflow:hidden}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room-badges--trail{flex:none;margin-left:auto}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room-icon{width:16px;height:16px}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room-icon .material-symbols-rounded{font-size:14px}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room--unconfirmed{border-color:var(--slot-status-unconfirmed-border);background:var(--slot-status-unconfirmed-bg);color:var(--slot-status-unconfirmed-text)}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room--confirmed{border-color:var(--slot-status-confirmed-border);background:var(--slot-status-confirmed-bg);color:var(--slot-status-confirmed-text)}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room--done{border-color:var(--slot-status-done-border);background:var(--slot-status-done-bg);color:var(--slot-status-done-text)}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room--done .slot-room-num{opacity:.88;-webkit-text-decoration:line-through #102b3859;text-decoration:line-through #102b3859}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room:hover:not(.is-dragging){border-color:inherit;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus-ring);transform:none}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room.is-selected .slot-room-num,.detail-schedule :is(.slot-board,.undecided-drop) .slot-room.is-selected:hover .slot-room-num{color:var(--color-primary-hover)}.detail-schedule :is(.slot-board,.undecided-drop) .slot-room.is-dragging{opacity:.45;cursor:grabbing}.detail-schedule .undecided-drop .slot-room{width:auto;min-width:76px}.detail-schedule .history-table{min-width:720px}.detail-schedule .history-table.ui-table--hover tbody tr:hover td,.detail-schedule .history-table.ui-table--striped tbody tr:nth-child(odd):hover td{background:var(--color-primary-tint)}.detail-schedule .th-sort{white-space:nowrap;color:inherit;font:inherit;text-align:inherit;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:inline-flex}.detail-schedule .th-sort:hover,.detail-schedule .th-sort:hover .material-symbols-rounded{color:var(--color-primary)}.detail-schedule .th-sort .material-symbols-rounded{color:var(--color-muted);font-size:16px}.detail-schedule .history-table thead tr:last-child th{border-bottom:1px solid var(--color-border);font-size:12px}.detail-schedule .history-table thead th[rowspan],.detail-schedule .history-table thead tr:first-child th[colspan]{border-bottom:1px solid var(--color-border)}.detail-schedule-head .detail-schedule-change-menu{position:relative}.detail-schedule-head .detail-schedule-change-menu .dropdown-menu{z-index:20;min-width:200px;left:auto;right:0}.detail-schedule-head .detail-schedule-change-menu .dropdown-menu a{justify-content:flex-start;font-weight:600}.detail-schedule-head .detail-schedule-change-menu .dropdown-menu a .material-symbols-rounded{color:var(--color-primary);flex:none;font-size:20px}@media (max-width:768px){.admin-layout--detail-schedule .admin-main{scrollbar-gutter:stable}.admin-layout--detail-schedule .dashboard-content--wide{overflow-x:clip}.detail-schedule-page{width:100%;overflow-x:clip}.detail-schedule.workspace{gap:var(--space-md);width:100%;max-width:100%}.detail-schedule-head{margin-bottom:var(--space-md)}.detail-schedule-head .section-header-actions{gap:var(--space-sm);flex-wrap:nowrap;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.detail-schedule-head .section-header-actions>.detail-schedule-change-menu{min-width:0}.detail-schedule-head .section-header-actions>.detail-schedule-change-menu>:is(button,a)[class*=ui-btn--],.detail-schedule-head .section-header-actions>:is(button,a)[class*=ui-btn--]{width:100%;min-width:0;padding-inline:var(--space-sm);white-space:nowrap;justify-content:center;font-size:13px}.detail-schedule-head .section-header-actions .material-symbols-rounded{font-size:18px}.detail-schedule .toolbar{align-items:stretch;gap:var(--space-sm);flex-direction:column}.detail-schedule .slot-board-actions .ui-btn-row{gap:var(--space-sm);flex-wrap:nowrap;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.detail-schedule .slot-board-actions .ui-btn-row :is(button,a)[class*=ui-btn--]{justify-content:center;width:100%}:is(.process-schedule,.work-calendar,.detail-schedule) .legend{gap:var(--space-xs) var(--space-md);font-size:11px}}@media (max-width:520px){.detail-schedule-head .section-header-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-schedule-head .section-header-actions>[data-detail-schedule-excel-export]{grid-column:1/-1}}.detail-schedule.workspace.is-list-view{grid-template-columns:minmax(0,1fr)}.detail-schedule.workspace.is-list-view>.aside{display:none}.detail-schedule-list-view{gap:var(--space-lg);display:grid}.detail-schedule-list-room{justify-content:flex-start;align-items:center;gap:2px;min-width:0;display:inline-flex}.detail-schedule-list-room-num{flex:none;font-weight:800;line-height:1.2}:is(.detail-schedule-list-table,.detail-schedule-undecided-table) .col-room{white-space:nowrap}:is(.detail-schedule-list-table,.detail-schedule-undecided-table) .col-room .slot-room-badges{align-items:center;gap:1px;display:inline-flex}.detail-schedule-summary{gap:var(--space-md) var(--space-xl);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.detail-schedule-summary-item{gap:var(--space-sm);grid-template-columns:6.5em minmax(0,1fr);align-items:baseline;margin:0;display:grid}.detail-schedule-summary-item dt{color:var(--color-muted);margin:0;font-size:13px;font-weight:700}.detail-schedule-summary-item dd{margin:0;font-size:14px;font-weight:600;line-height:1.5}.detail-schedule-summary-item--options{grid-column:1/-1}.detail-schedule-summary-item--options dd{line-height:1.6}.detail-schedule-option-list{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.detail-schedule-option-list li{gap:2px;display:grid}.detail-schedule-option-list__name{font-weight:700;line-height:1.4}.detail-schedule-option-list__meta{color:var(--color-muted);font-size:12px;font-weight:600;line-height:1.4}.detail-schedule-list-table{min-width:940px}.detail-schedule-undecided-table{min-width:540px}:is(.detail-schedule-list-table,.detail-schedule-undecided-table) tbody tr.detail-schedule-list-row.is-clickable{cursor:pointer}.detail-schedule-list-table tbody tr.detail-schedule-list-row--unconfirmed td{background:var(--slot-status-unconfirmed-bg)}.detail-schedule-list-table tbody tr.detail-schedule-list-row--confirmed td{background:var(--slot-status-confirmed-bg)}.detail-schedule-list-table tbody tr.detail-schedule-list-row--done td{background:var(--slot-status-done-bg)}.detail-schedule-list-table.ui-table--hover tbody tr.detail-schedule-list-row--unconfirmed:hover td{background:color-mix(in srgb, var(--slot-status-unconfirmed-border) 14%, var(--slot-status-unconfirmed-bg))}.detail-schedule-list-table.ui-table--hover tbody tr.detail-schedule-list-row--confirmed:hover td{background:color-mix(in srgb, var(--slot-status-confirmed-border) 12%, var(--slot-status-confirmed-bg))}.detail-schedule-list-table.ui-table--hover tbody tr.detail-schedule-list-row--done:hover td{background:color-mix(in srgb, var(--slot-status-done-border) 16%, var(--slot-status-done-bg))}.detail-schedule-list-table tbody tr.detail-schedule-list-row--done .detail-schedule-list-room-num{-webkit-text-decoration:line-through #102b3859;text-decoration:line-through #102b3859}.detail-schedule-reception-status{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-height:28px;color:var(--color-text);white-space:nowrap;justify-content:center;align-items:center;padding:2px 10px;font-size:13px;font-weight:700;line-height:1.2;display:inline-flex}.detail-schedule-reception-status--unconfirmed{border-color:var(--slot-status-unconfirmed-border);background:var(--slot-status-unconfirmed-bg);color:var(--slot-status-unconfirmed-text)}.detail-schedule-reception-status--confirmed{border-color:var(--slot-status-confirmed-border);background:var(--slot-status-confirmed-bg);color:var(--slot-status-confirmed-text)}.detail-schedule-reception-status--done{border-color:var(--slot-status-done-border);background:var(--slot-status-done-bg);color:var(--slot-status-done-text);opacity:.88}@media (max-width:900px){.detail-schedule-summary{grid-template-columns:minmax(0,1fr)}}.detail-schedule .aside .panel-tabs--2 .list{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-schedule .aside .panel-tabs .list>li{min-width:0}.detail-schedule .room-tab-panels>.room-tab-panel[hidden]{display:none}.ui-modal--detail-schedule-band .body>.meta-text{margin:0;font-size:12px}@media (max-width:1180px){.detail-schedule.workspace{grid-template-columns:1fr}.detail-schedule.workspace>.aside{z-index:auto;position:static}}.dashboard-bottom-grid{gap:var(--space-xl);grid-template-columns:minmax(0,2fr) minmax(340px,1fr);display:grid}.dashboard-bottom-grid:has(>:only-child){grid-template-columns:minmax(0,1fr)}.document-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.document-box{padding:var(--space-lg) var(--space-md) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:110px}.document-box .label{margin:0 0 var(--space-md);color:var(--color-muted);font-size:13px;font-weight:500;line-height:1.4}.document-box .value{color:var(--color-text);margin:0;font-size:18px;font-weight:800;line-height:1.2}.admin-footer{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-lg) 0 0;border-top:1px solid var(--color-border);color:var(--color-muted);font-size:13px;display:flex}.admin-footer p{margin:0}.admin-footer a{align-items:center;gap:var(--space-sm);min-height:36px;padding:0 var(--space-md);border-radius:var(--radius-sm);color:var(--color-primary);font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.admin-footer a:hover{background:var(--color-primary-tint);transform:translateY(-1px)}.toast{right:var(--space-xl);bottom:var(--space-xl);z-index:1300;max-width:min(360px, calc(100vw - var(--space-xl) - var(--space-xl)));padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-toast-bg);color:#fff;box-shadow:var(--shadow-md);white-space:pre-line;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;position:fixed;transform:translateY(16px)}.toast.is-show{opacity:1;transform:translateY(0)}.toast--error{top:calc(var(--header-height) + var(--space-md));align-items:flex-start;gap:var(--space-sm);background:var(--color-danger);display:flex;bottom:auto;transform:translateY(-16px)}.toast--error.is-show{pointer-events:auto;transform:translateY(0)}.toast__close{margin:-2px calc(var(--space-xs) * -1) 0 0;color:inherit;cursor:pointer;opacity:.8;background:0 0;border:0;flex-shrink:0;padding:0}.toast__close:hover{opacity:1}.toast__close .material-symbols-rounded{font-size:18px;display:block}.overlay{inset:var(--header-height) 0 0 0;z-index:10;opacity:0;pointer-events:none;background:#0f172a66;transition:opacity .25s;position:fixed}.overlay.is-open{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:1180px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-bottom-grid{grid-template-columns:1fr}}@media (max-width:900px){:root{--iconbar-width:56px}.admin-layout,.admin-layout--no-iconbar{grid-template-columns:minmax(0,1fr);grid-template-areas:"header header""main main"}.admin-iconbar,.admin-sidebar{top:var(--header-height);height:calc(100vh - var(--header-height));opacity:1;will-change:transform;transition:transform .28s,opacity .2s;position:fixed}.admin-iconbar{width:var(--iconbar-width);pointer-events:none;left:0;transform:translate(-110%)}.admin-sidebar{left:var(--iconbar-width);width:var(--sidebar-width);transform:translateX(calc(-100% - var(--iconbar-width)));box-shadow:var(--shadow-md);pointer-events:none}.admin-layout--no-iconbar .admin-sidebar{left:0;transform:translate(-110%)}.admin-layout.is-nav-open .admin-iconbar,.admin-layout.is-nav-open .admin-sidebar{pointer-events:auto;transform:translate(0)}.sidebar-toggle{place-items:center;display:inline-grid}.admin-layout--no-iconbar.admin-layout--no-sidebar .sidebar-toggle{display:none}.admin-sidebar.is-open{transform:translate(0)}}@media (max-width:768px){.admin-main{padding:var(--space-lg) var(--space-md)}.dashboard-content{gap:var(--space-xl)}.section-block{padding:var(--space-lg) var(--space-md)}.section-title{font-size:20px}.section-header,.section-header-start{flex-direction:column;align-items:stretch}.section-header-filter .ui-control{width:100%;min-width:0}.outline-button{width:100%;min-width:auto}.summary-grid{grid-template-columns:1fr}.info-row:not(.info-row--with-chevron){min-height:auto;padding:var(--space-md);flex-direction:column;justify-content:center;align-items:flex-start}.info-row:not(.info-row--with-chevron) .meta{text-align:left;justify-content:flex-start;gap:var(--space-sm) var(--space-md)}.info-row--with-chevron{min-height:auto;padding:var(--space-md);flex-direction:row;align-items:center}.info-row--with-chevron .info-row-inner{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.info-row--with-chevron .meta{text-align:left;justify-content:flex-start;gap:var(--space-sm) var(--space-md)}.info-row--with-chevron .chevron{align-self:center}.document-grid{grid-template-columns:1fr}.admin-footer{flex-direction:column;align-items:flex-start}.dashboard-page-intro{align-items:stretch;gap:var(--space-md);flex-direction:column}.dashboard-page-intro .scope-field{width:100%}.dashboard-page-intro .scope-field .ui-control{width:100%;min-width:0}.dashboard-page .content-nav{top:calc(var(--header-height) + var(--space-sm));-webkit-overflow-scrolling:touch}.dashboard-page .content-nav a{min-height:44px}.dashboard-page .section-header :is(a,button)[class*=ui-btn--]{justify-content:center;width:100%}}@media (max-width:640px){:root{--header-height:60px;--iconbar-width:52px}.admin-header{gap:var(--space-sm);padding:0 var(--space-md)}.admin-user-menu .user-name,.admin-logo .logo-full{display:none}.admin-logo .logo-mini{display:block}.admin-header-actions{gap:var(--space-sm)}.admin-header-actions>button{width:38px}.admin-iconbar{padding:var(--space-md) var(--space-xs)}.admin-iconbar a{border-radius:var(--radius-sm);width:40px;height:40px;font-size:20px}.admin-navbar{display:none}.scope-field{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.scope-field select{width:100%;min-width:0}.dashboard-page .content-nav{gap:var(--space-xs);padding:var(--space-xs)}.dashboard-page .content-nav a{padding:0 var(--space-sm);font-size:13px}.dashboard-page .content-nav .material-symbols-rounded{font-size:18px}:is(.ui-modal-overlay:has(.ui-modal--calendar-task),.ui-modal-overlay:has(.ui-modal--schedule-task),.ui-modal-overlay:has(.ui-modal--schedule-items),.ui-modal-overlay:has(.ui-modal--supplier)){padding:var(--space-md);align-items:flex-end}.ui-modal--calendar-task,.ui-modal--schedule-task,.ui-modal--schedule-items,.ui-modal--supplier{--modal-overlay-pad:var(--space-md);width:100%;max-height:calc(100dvh - var(--modal-overlay-pad) * 2);border-bottom-right-radius:0;border-bottom-left-radius:0}.ui-modal--calendar-task>.header,.ui-modal--calendar-task>.body,.ui-modal--calendar-task>.footer,.ui-modal--schedule-task>.header,.ui-modal--schedule-task>.body,.ui-modal--schedule-task>.footer,.ui-modal--schedule-items>.header,.ui-modal--schedule-items>.body,.ui-modal--schedule-items>.footer,.ui-modal--supplier>.header,.ui-modal--supplier>.body,.ui-modal--supplier>.footer{padding-left:var(--space-md);padding-right:var(--space-md)}.ui-modal--calendar-task>.footer,.ui-modal--schedule-task>.footer,.ui-modal--schedule-items>.footer{flex-direction:column-reverse;align-items:stretch}.ui-modal--calendar-task>.footer :is(button,a)[class*=ui-btn--],.ui-modal--schedule-task>.footer :is(button,a)[class*=ui-btn--],.ui-modal--schedule-items>.footer :is(button,a)[class*=ui-btn--]{width:100%}.ui-modal--calendar-task .ui-table--detail th[scope=row]{width:5.5rem;font-size:12px}.ui-modal--calendar-task .ui-table--detail td{font-size:13px}}.auth-layout{min-height:100vh;padding:var(--space-xl) var(--space-lg);background:var(--color-surface-soft);justify-content:center;align-items:center;display:flex}.auth-layout .shell{width:min(100%,520px)}.auth-layout .logo{width:min(100%,280px);margin:0 auto var(--space-xl)}.auth-layout .logo img{width:100%;height:auto;display:block}.auth-layout .card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:min(100%,420px);box-shadow:var(--shadow-md);margin:0 auto}.auth-layout .body{gap:var(--space-lg);padding:var(--space-xxl) var(--space-xl);display:grid}.auth-layout .title{text-align:center;color:var(--color-text);margin:0;font-size:18px;font-weight:800}.auth-layout .field{gap:var(--space-sm);display:grid}.auth-layout .toggle{align-items:center;gap:var(--space-sm);color:var(--color-muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;display:flex}.auth-layout .toggle input{width:16px;height:16px;accent-color:var(--color-primary);margin:0}.auth-layout .reminder{align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);text-align:center;flex-direction:column;display:flex}.auth-layout .reminder a{color:var(--color-primary);text-underline-offset:2px;font-size:14px;font-weight:600;text-decoration:underline}.auth-layout .reminder a:hover{color:var(--color-primary-hover)}.auth-layout :is(button,a)[class*=ui-btn--]{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;min-height:44px;padding:0 var(--space-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm);cursor:pointer;border:1px solid #0000;border-radius:6px;font-family:inherit;font-size:14px;font-weight:800;text-decoration:none;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.auth-layout :is(button,a).ui-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.auth-layout :is(button,a).ui-btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 10px 18px #052f4d24}.auth-layout :is(button,a).ui-btn--primary:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.admin-layout--construction-form .admin-main{background:var(--color-bg)}.construction-form-header-actions{margin-left:auto}.construction-form-page{gap:var(--space-xl);box-sizing:border-box;width:100%;min-width:0;margin:0 auto;display:grid}.construction-form-panel{padding:var(--space-xxl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box;min-width:0;max-width:100%}.construction-form-head{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.construction-form-head .title{color:var(--color-text);margin:0;font-size:20px;font-weight:800;line-height:1.3}.construction-form-head .subtitle{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:14px;font-weight:500}.ui-stepper{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-xl);padding:var(--space-lg) 0;min-width:0;max-width:100%;display:flex}.ui-stepper .step .label{line-height:1.25}.ui-stepper .step{align-items:center;gap:var(--space-sm);text-align:center;min-width:0;color:var(--color-muted);flex-direction:column;flex:1 1 0;font-size:13px;font-weight:700;display:flex}.ui-stepper .step .num{border:2px solid var(--color-border);background:var(--color-surface);width:28px;height:28px;color:var(--color-muted);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.ui-stepper .step.is-active{color:var(--color-primary-hover)}.ui-stepper .step.is-active .num{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:#fff}.ui-stepper a.step{cursor:pointer;text-decoration:none;transition:color .2s}.ui-stepper a.step:hover:not(.is-active){color:var(--color-primary)}.ui-stepper a.step:hover:not(.is-active) .num{border-color:var(--color-primary);color:var(--color-primary)}.ui-stepper a.step.is-complete:hover:not(.is-active){color:var(--color-success)}.ui-stepper a.step.is-complete:hover:not(.is-active) .num{border-color:var(--color-success);background:var(--color-success);color:#fff;filter:brightness(.92)}.ui-stepper a.step:focus-visible{border-radius:var(--radius-sm);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.ui-stepper .step.is-disabled{cursor:default;opacity:.55}.ui-stepper .sep{background:var(--color-border);flex:none;align-self:center;width:32px;height:1px;margin-top:-18px}.ui-form-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.ui-form-card+.ui-form-card{margin-top:var(--space-xl)}.ui-form-card>.header{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-primary-hover);font-size:14px;font-weight:800;display:flex}.ui-form-card>.header .material-symbols-rounded{font-size:18px}.ui-form-card>.body{padding:var(--space-lg)}.ui-form-table{border-collapse:collapse;table-layout:fixed;width:100%}.ui-form-table .toolbar{align-items:flex-start;gap:var(--space-sm);display:flex}.ui-form-table .toolbar>:first-child{flex:auto;min-width:0}.ui-form-table th,.ui-form-table td{padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);vertical-align:middle;text-align:left}.ui-form-table th{background:var(--color-surface-soft);width:14rem;color:var(--color-muted);letter-spacing:.02em;white-space:nowrap;font-size:13px;font-weight:700}.ui-form-table td{background:var(--color-surface)}.ui-form-table .ui-control{width:100%;max-width:100%}.ui-badge--required{margin-left:var(--space-xs);padding:0 var(--space-xs);border-radius:var(--radius-sm);background:var(--color-danger);color:#fff;vertical-align:middle;border:0;min-height:18px;font-size:11px;font-weight:700}.ui-form-table .date-range{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;max-width:36rem;display:grid}.ui-form-table .date-range .range-sep{color:var(--color-muted);font-weight:700}.ui-form-table .date-time{gap:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:36rem;display:grid}.contractor-panel{gap:var(--space-md);display:grid}.contractor-panel .toolbar{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.contractor-panel .toolbar select{flex:auto;min-width:14rem;max-width:20rem}.contractor-panel .list-wrap{overflow-x:auto}.contractor-panel .ui-table{border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:none}.contractor-panel .ui-table th,.contractor-panel .ui-table td{border:1px solid var(--color-border);vertical-align:middle}.contractor-panel .ui-table tbody tr:last-child td{border-bottom:1px solid var(--color-border)}.contractor-panel .ui-checkgroup{gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;display:flex}.contractor-panel .actions{text-align:center;white-space:nowrap;width:6rem}.construction-form-stepper-row{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.construction-form-stepper-row .ui-stepper{min-width:0;padding-top:var(--space-lg);flex:auto;margin-top:0}.ui-form-table tr[hidden],.photography-fields[hidden],[data-photography-list-wrap][hidden],[data-option-list-wrap][hidden]{display:none!important}.photography-fields,.option-fields{gap:var(--space-lg);display:grid}.photography-fields{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.photography-fields .toolbar,.option-fields .toolbar{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.photography-fields .toolbar select,.option-fields .toolbar select{flex:auto;min-width:14rem;max-width:20rem}.photography-fields .list-wrap,.option-fields .list-wrap{overflow-x:auto}.option-fields .ui-table--options{border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:none}.option-fields .ui-table--options th,.option-fields .ui-table--options td{border:1px solid var(--color-border);vertical-align:middle}.option-fields .ui-table--options thead th{background:var(--color-surface-soft);white-space:nowrap;font-size:13px;font-weight:700}.option-fields .ui-table--options tbody tr:last-child td{border-bottom:1px solid var(--color-border)}.option-fields .ui-table--options .name{min-width:10rem;font-weight:600}.option-fields .ui-table--options [data-option-amount-excluded]{text-align:right;max-width:9rem}.option-fields .tax-included{white-space:nowrap;min-width:6rem;font-weight:600;display:inline-block}.option-fields .actions{text-align:center;white-space:nowrap;width:6rem}.photography-fields .ui-table--photography{border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:none}.photography-fields .ui-table--photography th,.photography-fields .ui-table--photography td{border:1px solid var(--color-border);vertical-align:middle}.photography-fields .ui-table--photography thead th{background:var(--color-surface-soft);white-space:nowrap;font-size:13px;font-weight:700}.photography-fields .ui-table--photography tbody tr:last-child td{border-bottom:1px solid var(--color-border)}.photography-fields .actions{text-align:center;white-space:nowrap;width:6rem}.ui-stepper .step.is-complete{color:var(--color-success)}.ui-stepper .step.is-complete .num{border-color:var(--color-success);background:var(--color-success);color:#fff;font-size:0}.ui-stepper .step.is-complete .num:after{content:"check";font-family:Material Symbols Rounded;font-size:16px;font-weight:400;line-height:1}.construction-form-actions{justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-xxl);flex-wrap:wrap;display:flex}.construction-form-actions [data-construction-prev],.construction-form-actions [data-construction-next]{min-height:44px}.construction-form-actions [data-construction-prev]{min-width:10rem}.construction-form-actions [data-construction-next]{min-width:12rem}.construction-form-actions .end{justify-content:flex-end;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}@media (max-width:900px){.construction-form-page{gap:var(--space-lg)}.construction-form-panel{padding:var(--space-lg)}.ui-stepper{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:var(--space-md);margin-inline:calc(var(--space-lg) * -1);padding-inline:var(--space-lg);justify-content:flex-start;overflow-x:auto}.ui-stepper .step,.ui-stepper a.step{scroll-snap-align:start;flex:0 0 5.5rem}.construction-form-stepper-row{margin-bottom:var(--space-lg);gap:var(--space-sm)}.construction-form-stepper-row .ui-stepper{padding-top:var(--space-md);padding-bottom:var(--space-sm)}.ui-form-table{border-collapse:separate;border-spacing:0}.ui-form-table tbody{gap:var(--space-lg);display:grid}.ui-form-card>.body>.ui-form-table+.ui-form-table{margin-top:var(--space-md)}.ui-form-table tr{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:block;overflow:hidden}.ui-form-table th,.ui-form-table td{box-sizing:border-box;border:0;width:100%;display:block}.ui-form-table th{width:auto;padding-bottom:var(--space-sm)}.ui-form-table td{padding-top:var(--space-xs);padding-bottom:var(--space-md)}.ui-form-table .date-range,.ui-form-table .date-time{max-width:none}.contractor-panel .toolbar{align-items:stretch;gap:var(--space-md);flex-direction:column}.contractor-panel .toolbar select,.contractor-panel .toolbar .ui-btn--primary{flex:none;width:100%;max-width:none}.photography-fields{margin-top:var(--space-sm);gap:var(--space-md);border-top:0;padding-top:0}.photography-fields .toolbar,.option-fields .toolbar{align-items:stretch;gap:var(--space-md);flex-direction:column}.photography-fields .toolbar select,.photography-fields .toolbar .ui-btn--primary,.option-fields .toolbar select,.option-fields .toolbar .ui-btn--primary{flex:none;width:100%;max-width:none}.photography-fields .list-wrap,.option-fields .list-wrap{overflow:visible}.option-fields{gap:var(--space-md)}.option-fields .ui-table--options{box-shadow:none;background:0 0;border:0;border-radius:0}.option-fields .ui-table--options thead{display:none}.option-fields .ui-table--options tbody{gap:var(--space-md);display:grid}.option-fields .ui-table--options tbody tr{gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:grid}.option-fields .ui-table--options th,.option-fields .ui-table--options td{border:0}.option-fields .ui-table--options tbody td{gap:var(--space-xs);background:0 0;padding:0;display:grid}.option-fields .ui-table--options tbody td.actions{border:0;justify-items:stretch;margin-top:0;padding-top:0}.option-fields .ui-table--options tbody tr:last-child td{border-bottom:0}.option-fields .ui-table--options tbody td:before{content:attr(data-label);color:var(--color-muted);letter-spacing:.02em;font-size:12px;font-weight:800}.option-fields .ui-table--options tbody td.actions:before{content:none}.option-fields .ui-table--options tbody td.actions .ui-btn--outline{justify-content:center;width:100%}.option-fields .ui-table--options [data-option-amount-excluded]{text-align:left;max-width:none}.option-fields .ui-check-toggle{width:100%}.option-fields .ui-check-toggle .ui-segment-toggle__option{min-height:40px;padding:var(--space-xs) var(--space-sm);flex:1;font-size:12px}.photography-fields .ui-table--photography{box-shadow:none;background:0 0;border:0;border-radius:0}.photography-fields .ui-table--photography thead{display:none}.photography-fields .ui-table--photography tbody{gap:var(--space-md);display:grid}.photography-fields .ui-table--photography tbody tr{gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:grid}.photography-fields .ui-table--photography th,.photography-fields .ui-table--photography td{border:0}.photography-fields .ui-table--photography tbody td{gap:var(--space-xs);background:0 0;padding:0;display:grid}.photography-fields .ui-table--photography tbody td.actions{border:0;justify-items:stretch;margin-top:0;padding-top:0}.photography-fields .ui-table--photography tbody tr:last-child td{border-bottom:0}.photography-fields .ui-table--photography tbody td:before{content:attr(data-label);color:var(--color-muted);letter-spacing:.02em;font-size:12px;font-weight:800}.photography-fields .ui-table--photography tbody td.actions:before{content:none}.photography-fields .ui-table--photography tbody td.actions .ui-btn--outline{justify-content:center;width:100%}.photography-fields .ui-check-toggle{width:100%}.photography-fields .ui-check-toggle .ui-segment-toggle__option{min-height:40px;padding:var(--space-xs) var(--space-sm);flex:1;font-size:12px}.contractor-panel .list-wrap{overflow:visible}.contractor-panel .ui-table--contractor{background:0 0;border:0}.contractor-panel .ui-table--contractor thead{display:none}.contractor-panel .ui-table--contractor tbody{gap:var(--space-md);display:grid}.contractor-panel .ui-table--contractor tbody tr{gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);display:grid}.contractor-panel .ui-table--contractor tbody td{gap:var(--space-xs);background:0 0;border:0;padding:0;display:grid}.contractor-panel .ui-table--contractor tbody td:before{content:attr(data-label);color:var(--color-muted);letter-spacing:.02em;font-size:12px;font-weight:800}.contractor-panel .ui-table--contractor tbody td.name{color:var(--color-primary-hover);font-size:16px;font-weight:800}.contractor-panel .ui-table--contractor tbody td.actions{padding-top:var(--space-sm);border-top:1px dashed var(--color-border)}.contractor-panel .ui-table--contractor tbody td.actions:before{content:none}.contractor-panel .ui-table--contractor tbody td.actions .ui-btn--outline{justify-content:center;width:100%}.supplier-field-row{flex-direction:column;align-items:stretch}.supplier-field-row select,.supplier-field-row .ui-btn--primary{flex:none;width:100%;max-width:none}}@media (max-width:640px){.admin-layout--construction-form .admin-header{padding:0 var(--space-md)}.construction-form-header-actions :is(a,button)[class*=ui-btn--]{min-height:40px;padding-inline:var(--space-md);font-size:13px}.construction-form-page{gap:var(--space-md)}.construction-form-panel{padding:var(--space-md);border-radius:var(--radius-sm)}.construction-form-head{align-items:stretch;gap:var(--space-md);padding-bottom:var(--space-lg);flex-direction:column}.construction-form-head :is(a,button)[class*=ui-btn--]{justify-content:center;width:100%}.construction-form-head .title{font-size:20px}.construction-form-head .subtitle{font-size:12px}.construction-form-stepper-row{margin-top:var(--space-lg);margin-bottom:var(--space-md);align-items:stretch;gap:var(--space-sm);flex-direction:column}.construction-form-stepper-row .ui-stepper{padding-top:var(--space-sm);padding-bottom:0}.ui-stepper{margin-inline:calc(var(--space-md) * -1);padding-inline:var(--space-md)}.ui-stepper .step,.ui-stepper a.step{flex:0 0 4.75rem;font-size:11px}.ui-stepper .step .num{width:26px;height:26px;font-size:12px}.ui-stepper .sep{width:20px;margin-top:-16px}.ui-form-card>.header{padding:var(--space-sm) var(--space-md);font-size:14px}.ui-form-card>.body{padding:var(--space-md)}.ui-form-card+.ui-form-card{margin-top:var(--space-lg)}.construction-form-panel>.ui-form{gap:var(--space-md)}.ui-form-table th,.ui-form-table td{padding:var(--space-sm) var(--space-md)}.ui-form-table .date-range,.ui-form-table .date-time{gap:var(--space-xs);grid-template-columns:1fr}.ui-form-table .date-range .range-sep{text-align:center;padding:var(--space-xs) 0}.contractor-panel .ui-checkgroup{flex-direction:column;align-items:flex-start}.contractor-panel .actions{width:auto}.construction-form-actions{margin-top:var(--space-xl);flex-direction:column-reverse;align-items:stretch}.construction-form-actions [data-construction-prev],.construction-form-actions [data-construction-next]{justify-content:center;width:100%;min-width:0}.construction-form-actions .end{flex-direction:column-reverse;align-items:stretch;width:100%}.construction-form-actions [data-construction-next]{justify-content:center;width:100%}.ui-modal--supplier .staff-field-row,.ui-modal--supplier .staff-field-row:first-child{gap:var(--space-xs);grid-template-columns:1fr}.ui-modal--supplier .staff-field-row .ui-btn--outline{justify-self:start}.ui-modal--supplier .staff-fields .ui-btn--primary{justify-content:center;width:100%}.ui-modal>.footer.is-centered .ui-btn--primary{width:100%;min-width:0}}.supplier-field-row{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.supplier-field-row select{flex:auto;min-width:12rem;max-width:16rem}.ui-empty-text{color:var(--color-muted);margin:0;font-size:13px}.ui-modal--supplier,.ui-modal--property-construction{width:min(820px,100%)}.ui-modal--property-construction>.header .title{color:var(--color-text);font-size:15px}.ui-modal--property-construction>.header .subtitle{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:13px;font-weight:500}.property-construction-section{gap:var(--space-md);display:grid}.property-construction-header{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.property-construction-header .ui-label{color:var(--color-muted);margin:0;font-size:13px;font-weight:700}.property-construction-section .th-sort{align-items:center;gap:var(--space-xs);white-space:nowrap;display:inline-flex}.property-construction-section .th-sort .material-symbols-rounded{color:var(--color-muted);font-size:16px}.property-construction-section [data-property-construction-list-body] tr{cursor:pointer}.property-construction-section [data-property-construction-list-body] tr:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.ui-modal--supplier>.header .heading{min-width:0}.ui-modal--supplier>.header .title{color:var(--color-text);font-size:15px}.ui-modal--supplier>.header .subtitle{margin:var(--space-xs) 0 0;color:var(--color-muted);font-size:13px;font-weight:500}.ui-modal--supplier>.body .ui-form-table{margin:0}.ui-modal--supplier .staff-fields{gap:var(--space-md);display:grid}.ui-modal--supplier .staff-field-list{gap:var(--space-sm);display:grid}.ui-modal--supplier .staff-field-row{gap:var(--space-md);grid-template-columns:6.5rem minmax(0,1fr) auto;align-items:center;display:grid}.ui-modal--supplier .staff-field-row .label{color:var(--color-muted);margin:0;font-size:13px;font-weight:700}.ui-modal--supplier .staff-field-row:first-child{grid-template-columns:6.5rem minmax(0,1fr)}.ui-modal>.footer.is-centered{justify-content:center}.ui-modal>.footer.is-centered .ui-btn--primary{min-width:12rem;min-height:48px;font-size:15px}.construction-photos-page>.section-block{gap:var(--space-lg);flex-direction:column;display:flex}.construction-photos-page .section-header{align-items:flex-start;gap:var(--space-md)}.construction-photos-page .toolbar{align-items:center;gap:var(--space-md) var(--space-lg);padding:var(--space-md);background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.construction-photos-page .filter{align-items:center;gap:var(--space-sm);display:flex}.construction-photos-page .filter .ui-label{white-space:nowrap}.construction-photos-page .filter .ui-control{min-width:10rem}.construction-photos-page .list{gap:var(--space-xl);flex-direction:column;display:flex}.construction-photos-page .empty{padding:var(--space-xl);text-align:center;color:var(--color-muted);background:var(--color-surface-soft);border:1px dashed var(--color-border);border-radius:var(--radius-md);margin:0}.construction-photos-page .category{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.construction-photos-page .category>.title{padding:var(--space-md) var(--space-lg);color:var(--color-text);background:linear-gradient(180deg, var(--color-primary-tint) 0%, var(--color-surface-soft) 100%);border-bottom:1px solid var(--color-border);margin:0;font-size:15px;font-weight:700}.construction-photos-page .item{padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.construction-photos-page .item:last-child{border-bottom:none}.construction-photos-page .item>.title{margin:0 0 var(--space-md);color:var(--color-text);font-size:14px;font-weight:600}.construction-photos-page .grid{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.construction-photos-page .category>.grid{padding:var(--space-lg)}.construction-photos-page .photo-card{gap:var(--space-sm);flex-direction:column;min-width:0;display:flex}.construction-photos-page .photo-card .timing{color:var(--color-primary);letter-spacing:.02em;margin:0;font-size:12px;font-weight:700}.construction-photos-page .photo-card .image-wrap{aspect-ratio:4/3;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft);justify-content:center;align-items:center;display:flex;overflow:hidden}.construction-photos-page .photo-card .image-wrap .meta-text{color:var(--color-muted)}.construction-photos-page .photo-card .image-wrap img{object-fit:cover;width:100%;height:100%;display:block}.construction-photos-page .photo-card .view-switch{width:100%}.construction-photos-page .photo-card .view-switch .ui-segment-toggle__option{flex:1;justify-content:center;min-height:26px;padding:3px 6px;font-size:11px;font-weight:600}.construction-photos-page .photo-card .edit-btn{width:100%;min-height:36px;font-size:12px}.construction-photos-page .photo-card .ui-btn-row{gap:var(--space-xs);margin-top:var(--space-xs);display:flex}.construction-photos-page .photo-card .ui-btn-row>*{flex:1 1 0;justify-content:center;min-width:0;min-height:36px;font-size:12px}.construction-photos-page .photo-card .date-display{color:var(--color-muted);margin:0;font-size:12px}.construction-photos-page .photo-card .comment-display{color:var(--color-muted);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px;line-height:1.5}.construction-photos-page .photo-card .comment-display[hidden]{display:none}.ui-modal.ui-modal--photo-detail{width:min(640px,100%)}.ui-modal.ui-modal--mosaic{width:min(920px,100%)}.ui-modal--photo-detail>.body{gap:var(--space-lg);flex-direction:column;display:flex}.ui-modal--photo-detail>.body .meta-text{margin:0}.ui-modal--photo-detail .preview{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);flex:none;width:100%;height:min(42vh,320px);overflow:hidden}.ui-modal--photo-detail .preview img{object-fit:contain;background:var(--color-surface-soft);width:100%;height:100%;display:block}.ui-modal--photo-detail .view-switch[hidden]{display:none}.ui-modal--photo-detail .view-switch{flex:none;width:100%}.ui-modal--photo-detail .ui-field textarea.ui-control{resize:vertical;min-height:6rem;line-height:1.5}.ui-modal--photo-detail>.footer{justify-content:space-between}.ui-modal-overlay[data-mm-mosaic-overlay].is-open{z-index:61}.ui-modal--mosaic>.body .help{color:var(--color-muted);margin:0;font-size:13px}.ui-modal--mosaic .canvas-wrap{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);justify-content:center;display:flex;overflow:auto}@media (max-width:960px){.construction-photos-page .grid{grid-template-columns:1fr}.construction-photos-page .toolbar{flex-direction:column;align-items:stretch}.construction-photos-page .filter{width:100%}.construction-photos-page .filter .ui-control{flex:1}}.ui-help--error{color:var(--color-danger)}.ui-calendar-field{max-width:460px;position:relative}.ui-calendar-trigger{justify-content:space-between;align-items:center;gap:var(--space-sm);text-align:left;cursor:pointer;width:100%;display:flex}.ui-calendar-trigger .material-symbols-rounded{color:var(--color-primary)}.ui-calendar-trigger__placeholder{color:var(--color-muted)}.ui-calendar{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;max-width:460px;padding:var(--space-md);display:inline-block}.ui-calendar--popover{z-index:1200;box-shadow:var(--shadow-md)}.ui-calendar__head{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.ui-calendar__title{color:var(--color-text);font-size:16px;font-weight:600}.ui-calendar__nav{border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;color:var(--color-primary);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.ui-calendar__nav:hover{background:var(--color-primary-tint)}.ui-calendar__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.ui-calendar__weekday{text-align:center;color:var(--color-muted);padding:var(--space-xs) 0;font-size:13px}.ui-calendar__cell{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-family:inherit;font-size:15px;display:inline-flex}.ui-calendar__cell:hover{background:var(--color-primary-tint)}.ui-calendar__cell--empty{cursor:default;background:0 0}.ui-calendar__cell.is-selected{background:var(--color-primary);color:#fff}.ui-control[aria-invalid=true]{border-color:var(--color-danger)}
