.stats-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{gap:var(--space-4);border:1px solid var(--border);background:var(--surface);padding:var(--space-6);min-width:0;box-shadow:none;border-radius:0;align-items:center;animation:none;display:flex}.stat-card p{color:var(--muted);font-size:var(--text-meta);margin-bottom:var(--space-2)}.stat-card strong{font-size:var(--text-section);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;line-height:1.7}.stat-card strong small{font-size:var(--text-meta);color:var(--muted);font-weight:400}.stat-icon{border-radius:var(--radius-control);background:var(--canvas);width:44px;height:44px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-icon svg{width:21px}.stat-icon.blue{background:var(--progress-fill);color:var(--progress)}.stat-icon.amber{background:var(--waiting-fill);color:var(--waiting)}.list-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.list-toolbar select{width:auto;max-width:220px;font-size:var(--text-meta)}.search-input{flex:1;min-width:190px;position:relative}.search-input svg{color:var(--ink);position:absolute;top:13px;left:12px}.search-input input{padding-left:var(--space-8);font-size:var(--text-meta);background:var(--canvas)}.checkbox-label{gap:var(--space-2);color:var(--muted);font-size:var(--text-meta);white-space:nowrap;align-items:center;display:flex}.table-scroll{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-compact);white-space:nowrap}thead{background:var(--canvas);color:var(--ink)}th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);font-weight:600}td{padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--border);color:var(--ink)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--canvas)}td strong{color:var(--ink);font-weight:600}.numeric{text-align:right;font-variant-numeric:tabular-nums}.product-cell{gap:var(--space-3);align-items:center;display:flex}.product-cell strong{white-space:normal;max-width:290px;font-size:var(--text-compact);display:block}.product-cell small{color:var(--muted);margin-top:var(--space-1);font-size:var(--text-meta);display:block}.product-image{border-radius:var(--radius-control);background:var(--canvas);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.product-image img{object-fit:contain;width:44px;height:38px}.category-label{font-size:var(--text-meta);background:var(--canvas);border:1px solid var(--border);padding:var(--space-1) var(--space-2);border-radius:var(--radius-small);color:var(--muted)}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-small);padding:var(--space-1) var(--space-2);font-size:var(--text-meta);white-space:nowrap;font-weight:600;display:inline-flex}.badge.success,.badge.completed,.badge.done{background:var(--positive-fill);color:var(--positive)}.badge.warning,.badge.pending,.badge.scheduled{background:var(--waiting-fill);color:var(--waiting)}.badge.paid,.badge.working,.badge.fulfillment{background:var(--progress-fill);color:var(--progress)}.badge.cancelled{background:var(--danger-fill);color:var(--danger)}.row-actions{gap:var(--space-1);justify-content:flex-end;display:flex}.row-actions .icon-button{width:30px;height:30px}.row-actions svg{width:14px;height:14px}.action-cell{text-align:right}.table-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);justify-content:space-between;gap:var(--space-3);color:var(--muted);font-size:var(--text-meta);align-items:center;display:flex}.pagination{gap:var(--space-3);align-items:center;display:flex}.pagination .icon-button{width:28px;height:28px}.modal{border:1px solid var(--border);border-radius:var(--radius-floating);width:min(540px,100% - 32px);max-height:90dvh;box-shadow:var(--floating-shadow);color:var(--ink);background:#fff;padding:0}.modal.wide{width:min(860px,100% - 32px)}.modal::backdrop{background:var(--backdrop)}.modal-heading{z-index:1;padding:var(--space-4) var(--space-6);background:var(--canvas);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex;position:sticky;top:0}.modal-heading h2{font-size:var(--text-body)}.modal-body{padding:var(--space-6)}.dialog-actions{gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border);justify-content:flex-end;display:flex}.dialog-copy{margin-bottom:var(--space-4);color:var(--ink);font-size:var(--text-compact);line-height:1.7}.form-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-note{background:var(--canvas);padding:var(--space-3);color:var(--ink);font-size:var(--text-meta);border-radius:0}.detail-summary{padding:var(--space-4);background:var(--canvas);margin-bottom:var(--space-6);border-radius:0}.detail-summary strong{font-size:var(--text-compact)}.detail-summary p{font-size:var(--text-meta);margin-top:var(--space-2)}.text-success{color:var(--positive)}.text-danger{color:var(--danger)}.toast{z-index:100;align-items:center;gap:var(--space-3);width:max-content;max-width:min(480px,100% - 32px);padding:var(--space-4) var(--space-4);background:var(--surface);color:var(--ink);border:1px solid var(--border);box-shadow:var(--floating-shadow);border-radius:var(--radius-floating);font-size:var(--text-compact);display:flex;position:fixed;bottom:26px;right:26px}.toast>svg{flex-shrink:0}.toast button{color:inherit;background:0 0;border:0;padding:0;display:flex}.toast-error{color:var(--danger);border-color:var(--border)}.error-panel{gap:var(--space-4);padding:var(--space-12) var(--space-4);text-align:center;justify-items:center;display:grid}.error-panel p{max-width:450px;color:var(--muted)}@media (width<=1100px){.stats-grid{gap:var(--space-3)}.stat-card{padding:var(--space-4) var(--space-4);gap:var(--space-2)}.stat-card strong{font-size:var(--text-section)}}@media (width<=700px){.stats-grid,.stats-grid.three{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid.three .stat-card:last-child{grid-column:1/-1}.stat-card{padding:var(--space-4) var(--space-3);gap:var(--space-2)}.stat-card strong{font-size:var(--text-section)}.stat-icon{width:35px;height:35px}.stat-card p{font-size:var(--text-meta)}.list-toolbar{padding:var(--space-4);gap:var(--space-2)}.search-input{flex-basis:100%}.list-toolbar select{flex:1;width:100%;max-width:none}.checkbox-label{flex-basis:100%}.table-footer{padding:var(--space-3) var(--space-4);font-size:var(--text-meta)}.table-footer .pagination{gap:var(--space-2)}.modal-heading{padding:var(--space-4) var(--space-4)}.modal-body{padding:var(--space-4)}.form-grid{gap:var(--space-3)}.toast{bottom:16px;right:16px}.product-cell strong{max-width:240px}.stat-card strong small{font-size:var(--text-meta)}}@font-face{font-family:IBM Plex Sans Thai;src:url(./IBMPlexSansThai-Regular-BCggY752.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans Thai;src:url(./IBMPlexSansThai-SemiBold-CMkFs6il.ttf)format("truetype");font-weight:600;font-display:swap}:root{--canvas:#f5f7f6;--surface:#fff;--ink:#233b35;--muted:#526960;--line:#7e8f87;--accent:#236b5e;--accent-light:#edf3ee;--border:color-mix(in srgb, var(--line) 32%, var(--surface));--waiting:#7a5d26;--waiting-fill:#f5f0e5;--progress:#315d76;--progress-fill:#ecf2f5;--positive:#3e6950;--positive-fill:#edf3ee;--danger:#864e45;--danger-fill:#f7eeeb;--neutral:#59635f;--neutral-fill:#f0f2f1;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-small:2px;--radius-control:4px;--radius-floating:8px;--text-meta:12px;--text-compact:14px;--text-body:16px;--text-section:20px;--text-page:28px;--line-meta:20px;--line-compact:24px;--line-body:28px;--line-section:32px;--line-page:40px;--floating-shadow:0 12px 32px #233b3529;--backdrop:#233b3559;--chart:var(--accent)}:root .text-link{color:var(--accent);font-weight:600;font-size:var(--text-meta);cursor:pointer;background:0 0;border:0;padding:0}:root .text-link:hover{text-decoration:underline}:root .cell-sub{margin-top:var(--space-1);font-size:var(--text-meta);color:var(--muted);display:block}:root .date-range{gap:var(--space-2);color:var(--ink);align-items:center;display:flex}:root .date-range label{align-items:center;gap:var(--space-1);font-size:var(--text-meta);display:flex}:root .date-range input{width:142px;font-size:var(--text-meta);min-height:42px;padding:var(--space-2)}:root .order-line{gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) 85px 36px;align-items:start;display:grid}:root .order-line .icon-button{margin-top:var(--space-6)}:root .order-line label{margin-bottom:0}:root .order-total{justify-content:flex-end;align-items:center;gap:var(--space-8);padding:var(--space-6) 0;font-size:var(--text-compact);display:flex}:root .order-total strong{font-size:var(--text-section);color:var(--accent);font-weight:600}:root .order-detail-head{justify-content:space-between;gap:var(--space-4);display:flex}:root .order-detail-head p{font-size:var(--text-meta);margin-top:var(--space-1);line-height:1.7}:root .order-detail-head>div:last-child{text-align:right;flex-shrink:0}:root .timeline{padding:var(--space-6) 0;margin:var(--space-6) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:var(--space-2);grid-template-columns:repeat(4,1fr);list-style:none;display:grid}:root .timeline li{font-size:var(--text-meta);color:var(--ink);position:relative}:root .timeline strong,:root .timeline small{font-weight:400;font-size:var(--text-meta);margin-top:var(--space-2);display:block}:root .timeline-dot{background:var(--canvas);border:1px solid var(--border);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;display:flex;position:relative}:root .timeline li:not(:last-child):before{content:"";background:var(--canvas);height:1px;position:absolute;top:13px;left:27px;right:-10px}:root .timeline .reached{color:var(--accent)}:root .reached .timeline-dot{background:var(--accent-light);border-color:var(--border)}:root .wrap-cell{white-space:normal;min-width:200px;max-width:340px}:root .dialog-actions:empty{display:none}@media (width<=700px){:root .date-range{gap:var(--space-2);width:100%}:root .date-range label{flex:1;min-width:0;display:grid}:root .date-range input{width:100%;min-width:0;max-width:100%}:root .date-range>span{margin-top:var(--space-4)}:root .order-detail-head{gap:var(--space-3);flex-direction:column}:root .order-detail-head>div:last-child{text-align:left}:root .timeline{gap:var(--space-1)}:root .timeline strong,:root .timeline small{font-size:var(--text-meta)}:root .order-line{gap:var(--space-2);grid-template-columns:minmax(0,1fr) 60px 30px}:root .order-line select{font-size:var(--text-meta);padding:var(--space-2) var(--space-1)}:root .order-line input{padding:var(--space-2) var(--space-1)}:root .order-line .icon-button{width:30px;height:30px}:root .dialog-actions{flex-wrap:wrap}:root .dialog-actions>button{flex:1}:root .order-total{gap:var(--space-4)}:root .order-total strong{font-size:var(--text-section)}}:root{color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:IBM Plex Sans Thai,sans-serif;font-size:var(--text-compact);line-height:var(--line-compact)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-size:var(--text-page);font-weight:600;line-height:var(--line-page)}h2{font-size:var(--text-section);font-weight:600;line-height:var(--line-section)}h3{font-size:var(--text-body);font-weight:600;line-height:var(--line-body)}small{font-size:var(--text-meta);line-height:var(--line-meta)}.muted{color:var(--muted)}.eyebrow{font-size:var(--text-meta);letter-spacing:0;color:var(--accent);margin-bottom:var(--space-1);font-weight:600}.demo-banner{text-align:center;padding:var(--space-1) var(--space-3);font-size:var(--text-meta);background:var(--canvas);color:var(--ink);border-bottom:1px solid var(--border)}.app-shell{min-height:calc(100dvh - 29px);display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);width:204px;color:var(--ink);padding:var(--space-8) var(--space-4) var(--space-4);flex-direction:column;flex-shrink:0;height:100dvh;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-3);padding:0 var(--space-3) var(--space-8);display:flex}.brand strong{font-size:var(--text-section);font-weight:600;display:block}.brand small{color:var(--muted);font-size:var(--text-meta);display:block}.brand-mark{background:var(--accent);color:var(--ink);border-radius:var(--radius-control);justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;display:flex}.nav-caption{font-size:var(--text-meta);color:var(--muted);padding:0 var(--space-3) var(--space-3)}.sidebar nav{gap:var(--space-2);display:grid}.sidebar nav a{gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--muted);border-radius:var(--radius-control);align-items:center;font-weight:400;display:flex}.sidebar nav a:hover{background:var(--canvas);color:var(--ink)}.sidebar nav a.active{background:var(--positive-fill);color:var(--accent);border-left:2px solid var(--accent);box-shadow:none;font-weight:600}.sidebar .brand-mark{color:var(--accent);background:0 0}.sidebar .mobile-close{background:var(--surface);color:var(--ink);border-color:var(--line)}.sidebar-bottom{padding:var(--space-4) var(--space-3) 0;margin-top:auto}.shop-status{align-items:center;gap:var(--space-2);font-size:var(--text-meta);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.shop-status small{color:var(--muted);flex-basis:100%;padding-left:0;display:block}.status-dot{background:var(--canvas);border-radius:50%;width:7px;height:7px}.logout-button{color:var(--muted);align-items:center;gap:var(--space-2);padding:var(--space-4) 0 0;background:0 0;border:0;display:flex}.workspace{flex:1;min-width:0}.app-header{background:var(--surface);border-bottom:1px solid var(--border);height:64px;padding:0 var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.header-left{gap:var(--space-3);align-items:center;display:flex}.breadcrumb{font-size:var(--text-compact);color:var(--muted)}.breadcrumb span{padding:0 var(--space-3);color:var(--muted)}.breadcrumb strong{color:var(--ink);font-weight:400}.user-chip{gap:var(--space-2);font-size:var(--text-compact);text-align:right;align-items:center;display:flex}.user-chip strong,.user-chip small{display:block}.user-chip small{color:var(--muted);font-size:var(--text-meta)}.avatar{background:var(--canvas);width:36px;height:36px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.page{padding:var(--space-8);max-width:1600px;min-height:calc(100dvh - 155px);margin:0 auto}.page-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);animation:none;display:flex}.page-heading .muted{margin-top:var(--space-1);font-size:var(--text-compact)}.heading-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.primary,.secondary,.danger{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-control);min-height:42px;font-weight:600;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:none}.primary:hover{background:var(--accent)}.secondary{color:var(--ink);background:#fff}.secondary:hover{background:var(--canvas);border-color:var(--border)}.danger{background:var(--danger-fill);color:var(--danger);border-color:var(--border)}.full{width:100%}.icon-button{border:1px solid var(--border);border-radius:var(--radius-control);width:36px;height:36px;color:var(--ink);background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button svg{width:18px;height:18px}.icon-button:hover{color:var(--accent);background:var(--accent-light)}.mobile-menu,.mobile-close{display:none}.panel{background:var(--surface);box-shadow:none;border:0;border-radius:0;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);display:flex}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--muted)}.empty-state svg{color:var(--ink);margin-bottom:var(--space-3)}.empty-state h3{color:var(--ink);margin-bottom:var(--space-2)}.empty-state p{font-size:var(--text-compact);margin-bottom:var(--space-4)}.app-footer{border-top:1px solid var(--border);padding:var(--space-4) var(--space-8);font-size:var(--text-meta);color:var(--muted);justify-content:space-between;display:flex}.login-screen{background:var(--canvas);min-height:100dvh}.login-grid{width:min(440px,100% - 32px);margin:var(--space-12) auto;display:block}.login-brand{background:var(--canvas);padding:0 0 var(--space-8);align-items:center;gap:var(--space-4);display:flex;position:relative;overflow:hidden}.login-brand .brand-mark{color:var(--accent);background:0 0}.login-brand .eyebrow{margin-top:var(--space-8);margin-bottom:var(--space-4);color:var(--ink)}.login-brand h1{font-size:var(--text-section);color:var(--ink)}.login-brand h1 span{font-size:var(--text-page);font-weight:400}.login-brand>p:not(.eyebrow){color:var(--ink);margin-top:var(--space-4);font-size:var(--text-body);line-height:1.7}.shop-scene{width:100%;max-width:460px;margin-top:var(--space-8);aspect-ratio:1.7;object-fit:contain}.login-foot{font-size:var(--text-meta);color:var(--muted);margin-top:var(--space-6)}.login-form{align-self:center;width:100%;max-width:none;margin:0;padding:0}.login-heading{align-items:center;gap:var(--space-2);color:var(--accent);font-size:var(--text-meta);margin-bottom:var(--space-6);display:flex}.login-heading svg{width:19px}.login-form h2{font-size:var(--text-page);margin-bottom:var(--space-2)}.login-form form{margin-top:var(--space-6)}.login-form label,form label{gap:var(--space-2);font-size:var(--text-meta);margin-bottom:var(--space-4);font-weight:600;display:grid}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;min-width:0;padding:var(--space-2) var(--space-3);color:var(--ink);background:#fff;min-height:42px;font-weight:400}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}input[type=checkbox],input[type=radio]{width:16px;min-height:16px;accent-color:var(--accent)}fieldset{margin:var(--space-6) 0;border:0;padding:0}legend{font-size:var(--text-meta);margin-bottom:var(--space-2);font-weight:600}.role-options{gap:var(--space-2);display:flex}.role-options label{justify-content:center;align-items:center;gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-2) var(--space-1);font-size:var(--text-meta);cursor:pointer;flex:1;margin:0;display:flex}.role-options .selected{background:var(--accent-light);border-color:var(--line);color:var(--accent)}.login-note{text-align:center;color:var(--ink);font-size:var(--text-meta);margin-top:var(--space-4)}.error-message{background:var(--danger-fill);color:var(--danger);padding:var(--space-3);border-radius:var(--radius-control);font-size:var(--text-meta);margin:var(--space-3) 0}.skeleton{background:var(--neutral-fill);border-radius:var(--radius-control);background-size:200% 100%;animation:none}.skeleton.title{width:220px;height:36px;margin-bottom:var(--space-6)}.skeleton-stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.skeleton-stats .skeleton{height:110px}.skeleton.row{height:62px;margin-bottom:var(--space-3)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=1000px){.sidebar{width:200px;padding-left:var(--space-2);padding-right:var(--space-2)}.app-header{padding:0 var(--space-6)}.page{padding:var(--space-6) var(--space-6)}.brand{padding-left:var(--space-2);gap:var(--space-2)}.brand strong{font-size:var(--text-section)}.login-brand{padding:0 0 var(--space-8)}.login-form{padding:0}.login-brand h1,.login-brand h1 span{font-size:var(--text-section)}}@media (width<=700px){h1{font-size:var(--text-page)}.sidebar{z-index:40;width:250px;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-menu,.mobile-close{display:inline-flex}.mobile-close{position:absolute;top:18px;right:14px}.nav-backdrop{background:var(--backdrop);z-index:39;border:0;position:fixed;inset:0}.app-header{height:70px;padding:0 var(--space-4)}.breadcrumb{font-size:var(--text-meta)}.breadcrumb>span{padding:0 var(--space-2)}.breadcrumb{max-width:190px}.user-chip{gap:var(--space-2)}.avatar{width:30px;height:30px}.page{padding:var(--space-6) var(--space-4)}.page-heading{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-direction:column}.heading-actions{width:100%}.heading-actions>button{font-size:var(--text-compact);flex:1}.app-footer{padding:var(--space-4)}.app-footer span{display:none}.login-grid{display:block}.login-brand{padding:0 0 var(--space-6)}.login-brand .brand-mark{width:36px;min-width:36px;height:36px}.login-brand .eyebrow{margin-top:var(--space-3);margin-bottom:var(--space-2)}.login-brand h1,.login-brand h1 span{font-size:var(--text-section)}.login-brand>p:not(.eyebrow),.shop-scene,.login-foot{display:none}.login-form{padding:0}.login-form h2{font-size:var(--text-section)}.login-heading{margin-bottom:var(--space-3)}.skeleton-stats{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.panel-heading{padding:var(--space-4)}.demo-banner{font-size:var(--text-meta)}.primary,.secondary,.danger{padding:var(--space-2) var(--space-3)}}.stock-action{min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--accent);font-size:var(--text-compact);justify-content:center;align-items:center;display:inline-flex}.stock-decrease{color:var(--ink)}@media (width<=700px){.products-table td:last-child{grid-column:1/-1}.products-table .row-actions{justify-content:flex-start;gap:var(--space-2)}.products-table .row-actions .icon-button{width:44px;height:44px}.stock-action{min-height:44px}.stock-history-table,.stock-history-table tbody{width:100%;display:block}.stock-history-table thead{display:none}.stock-history-table tbody tr{gap:var(--space-2) var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.stock-history-table td{white-space:normal;border:0;min-width:0;padding:0}.stock-history-table td:first-child{font-size:var(--text-meta);grid-area:1/1}.stock-history-table td:nth-child(2){grid-area:2/1/auto/-1}.stock-history-table td:nth-child(3){font-size:var(--text-meta);color:var(--muted);grid-area:3/1/auto/-1}.stock-history-table td:last-child{font-size:var(--text-section);font-variant-numeric:tabular-nums;grid-area:1/2}.products-table,.products-table tbody{width:100%;display:block}.products-table thead{display:none}.products-table tbody tr{padding:var(--space-4) var(--space-4);gap:var(--space-3) var(--space-3);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.products-table tbody tr:last-child{border-bottom:0}.products-table td{text-align:left;border:0;min-width:0;padding:0}.products-table td:first-child{grid-column:1/-1}.products-table td:nth-child(2){display:none}.products-table td:nth-child(3):before{content:"ราคาขาย";font-size:var(--text-meta);color:var(--ink);margin-bottom:var(--space-1);line-height:var(--line-meta);display:block}.products-table td:nth-child(4):before{content:"คงเหลือ / ขั้นต่ำ";font-size:var(--text-meta);color:var(--ink);margin-bottom:var(--space-1);line-height:var(--line-meta);display:block}.products-table td:nth-child(5){align-self:center}.products-table .product-cell strong{max-width:none;font-size:var(--text-meta);line-height:var(--line-meta)}.products-table .row-actions{gap:var(--space-2)}}.quotation-action{margin-top:var(--space-4);justify-content:flex-end;display:flex}.quotation-action button{font-size:var(--text-meta);line-height:var(--line-meta)}.quotation-pages{gap:var(--space-4);padding:var(--space-4);background:var(--canvas);border-radius:var(--radius-control);display:grid}.quotation-preview{border:1px solid var(--border);width:100%;height:auto;box-shadow:none;display:block}.pdf-loading{justify-content:center;align-items:center;gap:var(--space-3);min-height:300px;color:var(--ink);font-size:var(--text-compact);line-height:var(--line-compact);display:flex}.pdf-loading svg{animation:1s linear infinite pdf-spin}@keyframes pdf-spin{to{transform:rotate(360deg)}}@media (width<=700px){.quotation-pages{padding:var(--space-2)}.quotation-action button{width:100%}.pdf-loading{min-height:220px;font-size:var(--text-meta);line-height:var(--line-meta)}}.list-summary{justify-content:space-between;gap:var(--space-2) var(--space-6);color:var(--muted);padding:var(--space-3) 0;margin-bottom:var(--space-3);border-bottom:1px solid var(--border);font-size:var(--text-compact);flex-wrap:wrap;display:flex}.selected-product strong,.selected-product small{font-size:var(--text-meta);font-weight:400;line-height:var(--line-meta);white-space:normal;display:block}.timeline-marker{color:var(--muted);font-variant-numeric:tabular-nums}@media (width<=700px){:root .timeline{padding:var(--space-3) 0;margin:var(--space-4) 0;display:block}:root .timeline li{gap:0 var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);grid-template-columns:24px minmax(0,1fr);display:grid}:root .timeline li:last-child{border-bottom:0}:root .timeline li:not(:last-child):before{display:none}:root .timeline strong{font-size:var(--text-compact);line-height:var(--line-compact);margin:0}:root .timeline small{font-size:var(--text-meta);line-height:var(--line-meta);grid-column:2;margin:0}.order-items-table,.order-items-table tbody{width:100%;display:block}.order-items-table thead{display:none}.order-items-table tbody tr{gap:var(--space-2) var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.order-items-table td{white-space:normal;border:0;min-width:0;max-width:none;padding:0}.order-items-table td:first-child{grid-column:1/-1}.order-items-table td:nth-child(2){text-align:left}.order-items-table td:nth-child(2):before{content:"จำนวน ";color:var(--muted)}.order-items-table td:nth-child(3):before{content:"หน่วยละ ";color:var(--muted)}.order-items-table td:nth-child(4){grid-column:2;font-weight:600}.order-items-table td:nth-child(4):before{content:"รวม ";color:var(--muted)}.orders-table,.orders-table tbody,.awaiting-table,.awaiting-table tbody{width:100%;display:block}.orders-table thead,.awaiting-table thead{display:none}.orders-table tbody tr,.awaiting-table tbody tr{gap:var(--space-3) var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.orders-table tbody tr:last-child,.awaiting-table tbody tr:last-child{border-bottom:0}.orders-table td,.awaiting-table td{border:0;min-width:0;padding:0}.orders-table td:first-child,.awaiting-table td:first-child{grid-area:1/1}.orders-table td:nth-child(2),.awaiting-table td:nth-child(2){white-space:normal;font-size:var(--text-meta);line-height:var(--line-meta);grid-area:2/1/auto/-1}.orders-table td:nth-child(3),.awaiting-table td:nth-child(3){font-size:var(--text-meta);color:var(--ink);line-height:var(--line-meta);grid-area:3/1;align-self:center}.orders-table td:nth-child(4),.awaiting-table td:nth-child(4){grid-area:1/2;place-self:start end}.orders-table td:nth-child(5){font-size:var(--text-compact);color:var(--accent);line-height:var(--line-compact);grid-area:3/2}.orders-table td:nth-child(6){grid-area:2/2;justify-self:end}.orders-table td:nth-child(2){padding-right:var(--space-12)}.awaiting-table td:nth-child(5){grid-area:3/2;justify-self:end}}.calendar-hidden{display:none}.current-time-rule{z-index:0;border-top:1px solid var(--accent);pointer-events:none;position:absolute;left:0;right:0}.current-time-rule span{text-align:right;width:92px;font-size:var(--text-meta);line-height:var(--line-meta);color:var(--accent);background:var(--surface);padding:0 var(--space-1);position:absolute;bottom:0;left:0}.day-job[data-compact=true]{padding:var(--space-1)}.day-job[data-compact=true]>span:not(.job-time),.day-job[data-compact=true] small{display:none}.week-picker{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.week-picker button{background:var(--surface);padding:var(--space-2);color:var(--muted);font-size:var(--text-meta);border:0;border-bottom:2px solid #0000}.week-picker button strong{font-size:var(--text-body);font-weight:400;display:block}.week-picker button.active{border-bottom-color:var(--accent);color:var(--accent);background:var(--positive-fill)}.booking-agenda{border-top:1px solid var(--border)}.agenda-row{align-items:center;gap:var(--space-2) var(--space-4);text-align:left;background:var(--surface);border:0;border-bottom:1px solid var(--border);width:100%;padding:var(--space-4);color:var(--ink);grid-template-columns:110px minmax(0,1fr) 120px;display:grid}.agenda-time{font-variant-numeric:tabular-nums;font-size:var(--text-compact);grid-row:1/3;align-self:start}.agenda-row strong{font-size:var(--text-body);font-weight:600;line-height:var(--line-body)}.agenda-row>span:nth-child(3){color:var(--muted);font-size:var(--text-compact);grid-column:2}.agenda-row .badge{grid-area:1/3/3;justify-self:end}@media (width<=700px){.agenda-row{gap:var(--space-2) var(--space-3);grid-template-columns:100px minmax(0,1fr)}.agenda-row .badge{grid-area:auto/2;justify-self:start}.calendar-legend{display:none!important}}.calendar-summary{color:var(--ink);font-size:var(--text-meta);margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);line-height:var(--line-meta);flex-wrap:wrap;display:flex}.calendar-summary>span{align-items:center;gap:var(--space-2);display:flex}.calendar-legend{font-size:var(--text-meta);line-height:var(--line-meta);gap:var(--space-2)!important}.legend-dot{width:6px;height:6px;margin-left:var(--space-2);border-radius:50%}.legend-dot.scheduled{background:var(--waiting-fill)}.legend-dot.working{background:var(--progress-fill)}.legend-dot.done{background:var(--positive-fill)}.calendar-toolbar{padding:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.calendar-navigation{gap:var(--space-2);align-items:center;display:flex}.calendar-navigation strong{font-size:var(--text-compact);margin-left:var(--space-2);font-weight:600;line-height:var(--line-compact)}.today-button{font-size:var(--text-meta);min-height:36px;padding:var(--space-2) var(--space-3);line-height:var(--line-meta)}.calendar-controls{align-items:center;gap:var(--space-2);display:flex}.calendar-controls input{width:145px;font-size:var(--text-meta);line-height:var(--line-meta)}.calendar-controls select{width:120px;font-size:var(--text-meta);line-height:var(--line-meta)}.segmented{padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-control);background:0 0;flex-shrink:0;align-items:center;display:flex}.segmented button{padding:var(--space-2) var(--space-2);align-items:center;gap:var(--space-1);color:var(--ink);font-size:var(--text-meta);border-radius:var(--radius-control);line-height:var(--line-meta);background:0 0;border:0;display:flex}.segmented button.active{color:var(--accent);box-shadow:none;background:#fff}.calendar-scroll{max-width:100%;overflow-x:auto}.calendar-grid{min-width:780px}.calendar-grid.own-calendar{min-width:300px}.calendar-columns,.calendar-week-row,.day-grid{display:grid}.calendar-columns{background:var(--canvas);border-bottom:1px solid var(--border)}.calendar-corner{font-size:var(--text-meta);padding:var(--space-6) var(--space-3);color:var(--ink);line-height:var(--line-meta)}.technician-heading{align-items:center;gap:var(--space-2);padding:var(--space-4);border-left:1px solid var(--border);display:flex}.tech-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.technician-heading strong{font-weight:600;font-size:var(--text-meta);line-height:var(--line-meta);display:block}.technician-heading small{font-size:var(--text-meta);color:var(--muted);margin-top:var(--space-1);line-height:var(--line-meta);display:block}.calendar-week-row{border-bottom:1px solid var(--border);min-height:138px}.calendar-week-row:last-child{border-bottom:0}.calendar-day-label{padding:var(--space-4) var(--space-2);align-items:center;gap:var(--space-1);background:var(--canvas);flex-direction:column;display:flex}.calendar-day-label strong{font-size:var(--text-section);color:var(--ink);font-weight:600;line-height:var(--line-section)}.calendar-day-label span{font-size:var(--text-meta);color:var(--ink);line-height:var(--line-meta)}.calendar-day-label small{background:var(--canvas);border-radius:var(--radius-control);font-size:var(--text-meta);padding:var(--space-1) var(--space-1);color:var(--accent);line-height:var(--line-meta)}.is-today .calendar-day-label strong{color:var(--accent)}.is-today .calendar-day-label{background:var(--canvas)}.week-cell{border-left:1px solid var(--border);padding:var(--space-2) var(--space-2);gap:var(--space-2);flex-direction:column;display:flex;position:relative}.job-block{text-align:left;border:1px solid var(--border);border-left:3px solid var(--waiting);background:var(--surface);border-radius:var(--radius-small);padding:var(--space-2) var(--space-3);color:var(--ink);gap:var(--space-1);width:100%;font-size:var(--text-meta);line-height:var(--line-meta);flex-direction:column;display:flex;overflow:hidden}.job-block:hover{filter:brightness(.98);box-shadow:none}.job-block strong{font-size:var(--text-meta);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:var(--line-meta);overflow:hidden}.job-block>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.job-block small{font-size:var(--text-meta);opacity:.8;line-height:var(--line-meta)}.job-block.working{background:var(--surface);border-color:var(--border);border-left-color:var(--progress);color:var(--ink)}.job-block.done{background:var(--surface);border-color:var(--border);border-left-color:var(--positive);color:var(--ink)}.job-time{font-size:var(--text-meta);font-variant-numeric:tabular-nums;line-height:var(--line-meta)}.add-slot{border-radius:var(--radius-control);width:24px;height:24px;color:var(--ink);background:0 0;border:0;justify-content:center;align-self:flex-end;align-items:center;margin-top:auto;display:flex}.add-slot:hover{background:var(--canvas);color:var(--accent)}.day-grid{position:relative}.time-column{background:var(--canvas);position:relative}.time-column span{font-size:var(--text-meta);color:var(--muted);padding-top:var(--space-2);line-height:var(--line-meta);position:absolute;right:12px}.day-technician{border-left:1px solid var(--border);background:var(--surface);position:relative}.day-job{width:calc(100% - 16px);padding:var(--space-2);z-index:1;position:absolute;left:8px}.add-day-job{background:var(--canvas);border:1px solid var(--border);border-radius:var(--radius-small);width:25px;height:25px;color:var(--ink);z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.booking-detail{gap:var(--space-4);display:grid}.booking-detail>p{gap:var(--space-3);font-size:var(--text-compact);line-height:var(--line-compact);align-items:flex-start;display:flex}.booking-detail>p svg{margin-top:var(--space-1);color:var(--ink);flex-shrink:0}.booking-detail .badge{justify-self:start}.booking-detail .detail-summary{margin:0}.booking-detail .detail-summary p{margin-top:var(--space-2);white-space:pre-wrap;font-size:var(--text-compact);line-height:var(--line-compact)}@media (width<=700px){.calendar-toolbar{padding:var(--space-4);gap:var(--space-3)}.calendar-navigation{gap:var(--space-1);flex-wrap:wrap}.calendar-navigation strong{font-size:var(--text-meta);margin-left:var(--space-1);line-height:var(--line-meta)}.calendar-controls{flex-wrap:wrap;width:100%}.calendar-controls input{flex:1;min-width:135px}.calendar-controls select{flex:1;min-width:120px}.segmented{flex-basis:100%}.segmented button{flex:1;justify-content:center}.calendar-summary{gap:var(--space-2);font-size:var(--text-meta);line-height:var(--line-meta)}.calendar-legend{font-size:var(--text-meta);line-height:var(--line-meta)}.calendar-week-row{min-height:136px}}.time-rules{pointer-events:none;position:absolute;inset:0}.time-rules i{border-top:1px solid var(--border);position:absolute;left:0;right:0}.time-rules .half-hour-rule{border-top-style:dotted}.calendar-columns{z-index:4;position:sticky;top:0}.calendar-scroll{max-height:760px}.calendar-toolbar{padding:var(--space-4) 0}.technician-heading{padding:var(--space-4)}@media (width<=700px){.calendar-summary{display:none}.calendar-toolbar{padding:var(--space-3)}.calendar-navigation strong{display:none}.calendar-controls input{min-width:120px}.agenda-row{padding:var(--space-3)}.calendar-controls .segmented{min-height:44px}}.workday-layout{gap:var(--space-8);margin-bottom:var(--space-8);grid-template-columns:minmax(0,1fr) 260px;display:grid}.section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);display:flex}.schedule-group h3{font-size:var(--text-compact);line-height:var(--line-compact);padding:var(--space-4) 0;color:var(--muted);font-weight:400}.schedule-row{align-items:center;gap:var(--space-4);text-align:left;border:0;border-bottom:1px solid var(--border);border-left:2px solid var(--border);background:var(--surface);width:100%;padding:var(--space-4);color:var(--ink);grid-template-columns:72px minmax(0,1fr) 88px 120px;display:grid}.schedule-row:has(.working){border-left-color:var(--progress)}.schedule-row:has(.scheduled){border-left-color:var(--waiting)}.schedule-time{font-variant-numeric:tabular-nums;font-size:var(--text-body);line-height:var(--line-body);align-self:start}.schedule-time small{color:var(--muted);font-size:var(--text-meta);line-height:var(--line-meta);display:block}.schedule-customer{min-width:0}.schedule-customer strong{font-size:var(--text-body);font-weight:600;line-height:var(--line-body);display:block}.schedule-customer>span,.schedule-staff{color:var(--muted);font-size:var(--text-compact);line-height:var(--line-compact)}.day-followups{padding-top:var(--space-1);min-width:0}.day-followups h2{margin-bottom:var(--space-4)}.followup-row{gap:var(--space-4);border-bottom:1px solid var(--border);padding:var(--space-4) 0;justify-content:space-between;display:flex}.followup-row strong{font-variant-numeric:tabular-nums;font-size:var(--text-section);font-weight:600;line-height:var(--line-section)}.day-followups>p{font-size:var(--text-meta);margin-top:var(--space-4);line-height:var(--line-meta)}.shop-report{border-top:1px solid var(--border);padding-top:var(--space-4);scroll-margin-top:var(--space-4)}.shop-report>summary{font-size:var(--text-section);line-height:var(--line-section);cursor:pointer;margin-bottom:var(--space-6);font-weight:600}.sales-summary{gap:var(--space-12);margin:0 0 var(--space-8);padding:var(--space-4) 0;border-bottom:1px solid var(--border);display:flex}.sales-summary dt{color:var(--muted)}.sales-summary dd{font-size:var(--text-page);line-height:var(--line-page);margin:var(--space-2) 0 0;font-variant-numeric:tabular-nums;font-weight:600}.completed-jobs{margin-top:var(--space-4)}.completed-jobs summary{cursor:pointer;color:var(--muted);padding:var(--space-3) 0}.dashboard-grid>section:has(.today-jobs){display:none}@media (width<=700px){.workday-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.schedule-row{gap:var(--space-2) var(--space-3);padding:var(--space-4) var(--space-3);grid-template-columns:60px minmax(0,1fr)}.schedule-time{grid-row:1/3}.schedule-staff{grid-column:2}.schedule-row>.badge{grid-column:2;justify-self:start}.schedule-customer strong{font-size:var(--text-body);line-height:var(--line-body)}.sales-summary{gap:var(--space-6);flex-wrap:wrap}.day-followups>p{display:none}}.dashboard-grid{gap:var(--space-6);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);display:grid}.dashboard-grid>.panel{min-width:0}.stat-foot{color:var(--muted);font-size:var(--text-meta);margin-top:var(--space-2);line-height:var(--line-meta);display:block}.dashboard-grid h2{font-size:var(--text-body);line-height:var(--line-body)}.section-subtitle{font-size:var(--text-meta);color:var(--muted);margin-top:var(--space-1);line-height:var(--line-meta)}.period-tag{border:1px solid var(--border);border-radius:var(--radius-small);color:var(--ink);font-size:var(--text-meta);padding:var(--space-1) var(--space-2);white-space:nowrap;line-height:var(--line-meta)}.text-link{align-items:center;gap:var(--space-1);display:inline-flex}.chart{height:340px;padding:var(--space-8) var(--space-6) var(--space-12) var(--space-4);gap:var(--space-3);display:flex}.chart-y{font-size:var(--text-meta);color:var(--ink);text-align:right;width:36px;line-height:var(--line-meta);flex-direction:column;justify-content:space-between;display:flex}.chart-plot{flex:1;position:relative}.chart-lines{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.chart-lines i{border-top:1px dashed var(--border);display:block}.chart-bars{justify-content:space-around;gap:var(--space-3);display:flex;position:absolute;inset:0}.chart-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;display:flex;position:relative}.chart-bar{background:var(--accent);border-radius:var(--radius-control);z-index:1;flex-shrink:0;width:65%;max-width:42px;position:relative}.chart-bar.current{background:var(--accent)}.chart-month{color:var(--ink);font-size:var(--text-meta);line-height:var(--line-meta);position:absolute;bottom:-28px}.chart-value{font-size:var(--text-meta);color:var(--ink);margin-bottom:var(--space-2);z-index:1;line-height:var(--line-meta)}.top-products{padding:var(--space-1) var(--space-6)}.top-product{align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border);display:flex}.top-product:last-child{border:0}.rank{font-size:var(--text-meta);color:var(--muted);font-variant-numeric:tabular-nums;line-height:var(--line-meta)}.top-product .product-image{width:38px;height:38px}.top-product .product-image img{width:35px;height:30px}.top-product>div{flex:1;min-width:0}.top-product strong{font-size:var(--text-meta);font-weight:600;line-height:var(--line-meta);color:var(--ink);display:block}.top-product small{font-size:var(--text-meta);color:var(--muted);margin-top:var(--space-1);line-height:var(--line-meta);display:block}.top-quantity{font-size:var(--text-body);color:var(--ink);text-align:right;min-width:30px;font-weight:600;line-height:var(--line-body)}.top-quantity small{font-size:var(--text-meta);font-weight:400;line-height:var(--line-meta)}.count-pill{padding:var(--space-1) var(--space-2);border-radius:var(--radius-small);background:var(--canvas);color:var(--ink);font-size:var(--text-meta);margin-left:var(--space-1);vertical-align:middle;line-height:var(--line-meta)}.count-pill.warning{background:var(--waiting-fill);color:var(--waiting)}.today-job{gap:var(--space-4);padding:var(--space-4) var(--space-6);border:0;border-bottom:1px solid var(--border);text-align:left;background:#fff;align-items:center;width:100%;display:flex}.today-job:last-child{border-bottom:0}.today-job:hover{background:var(--canvas)}.today-time{font-size:var(--text-compact);font-variant-numeric:tabular-nums;color:var(--muted);border-right:1px solid var(--border);padding-right:var(--space-4);line-height:var(--line-compact);flex-shrink:0}.today-time small{color:var(--muted);font-size:var(--text-meta);margin-top:var(--space-1);line-height:var(--line-meta);display:block}.today-job>div{flex:1;min-width:0}.today-job strong{font-size:var(--text-compact);color:var(--ink);font-weight:600;line-height:var(--line-compact);display:block}.today-job>div small{font-size:var(--text-meta);margin-top:var(--space-1);color:var(--muted);line-height:var(--line-meta);display:block}.low-products{padding:var(--space-1) var(--space-6)}.low-product{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border);align-items:center;display:flex}.low-product:last-child{border:0}.low-icon{background:var(--canvas);color:var(--ink);border-radius:var(--radius-control);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.low-product>div{flex:1;min-width:0}.low-product strong{font-size:var(--text-meta);font-weight:600;line-height:var(--line-meta);color:var(--ink);display:block}.low-product small{color:var(--muted);font-size:var(--text-meta);margin-top:var(--space-1);line-height:var(--line-meta);display:block}.low-stock{font-size:var(--text-section);color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;line-height:var(--line-section)}.low-stock small{font-size:var(--text-meta);line-height:var(--line-meta);margin-top:0}.awaiting-panel{grid-column:1/-1}.order-overview{padding:var(--space-6)}.order-overview>div{gap:var(--space-4);margin-bottom:var(--space-6);align-items:center;display:flex}.order-overview>div:last-child{margin-bottom:0}.order-overview .badge{justify-content:center;min-width:100px}.overview-track{background:var(--canvas);border-radius:var(--radius-control);flex:1;height:7px;overflow:hidden}.overview-track i{background:var(--accent);height:100%;display:block}.order-overview strong{font-size:var(--text-meta);text-align:right;min-width:24px;font-weight:600;line-height:var(--line-meta)}.reset-demo{width:42px;height:42px}@media (width<=1200px){.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.dashboard-grid .panel-heading{padding:var(--space-4)}.dashboard-grid .stats-grid{gap:var(--space-3)}.dashboard-grid .top-products{padding:0 var(--space-4)}.top-product{gap:var(--space-2)}.stat-card{flex-wrap:wrap}.stat-foot{font-size:var(--text-meta);line-height:var(--line-meta)}}@media (width<=950px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.awaiting-panel{grid-column:auto}.stat-card{flex-wrap:nowrap}.chart{height:280px}.top-product strong{font-size:var(--text-meta);line-height:var(--line-meta)}.top-product{padding:var(--space-3) 0}.low-product strong{font-size:var(--text-meta);line-height:var(--line-meta)}}@media (width<=700px){.dashboard-grid{gap:var(--space-4)}.chart{height:240px;padding:var(--space-6) var(--space-4) var(--space-12) var(--space-3);gap:var(--space-2)}.chart-bars{gap:var(--space-2)}.chart-bar{width:72%}.chart-value,.period-tag{font-size:var(--text-meta);line-height:var(--line-meta)}.today-job{padding:var(--space-4);gap:var(--space-3)}.today-time{padding-right:var(--space-3);font-size:var(--text-meta);line-height:var(--line-meta)}.today-job strong{font-size:var(--text-meta);line-height:var(--line-meta)}.today-job .badge{font-size:var(--text-meta);padding:var(--space-1) var(--space-1);line-height:var(--line-meta)}.low-products{padding:0 var(--space-4)}.low-product strong{font-size:var(--text-meta);line-height:var(--line-meta)}.stat-card{align-items:flex-start;gap:var(--space-2);flex-direction:column}.stat-card strong{font-size:var(--text-section);line-height:var(--line-section)}.stat-card p,.stat-foot{font-size:var(--text-meta);line-height:var(--line-meta)}.heading-actions .reset-demo{flex:none}.chart-y{width:25px}.dashboard-grid .panel-heading{padding:var(--space-4)}.overview-track{min-width:20px}}.customer-name{gap:var(--space-3);text-align:left;background:0 0;border:0;align-items:center;max-width:100%;padding:0;display:flex}.profile-actions{margin-bottom:var(--space-6)}.customer-context{gap:var(--space-8);padding:var(--space-6) 0;margin-bottom:var(--space-6);border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.customer-context h3{font-size:var(--text-compact);margin-bottom:var(--space-2);font-weight:600}.customer-context p{font-size:var(--text-compact);line-height:var(--line-compact);color:var(--muted);margin-bottom:var(--space-1)}.history-summary{justify-content:space-between;gap:var(--space-4);font-size:var(--text-compact);color:var(--muted);padding:var(--space-4) 0;border-bottom:1px solid var(--border);display:flex}@media (width<=700px){.customer-context{gap:var(--space-4);padding:var(--space-4) 0;grid-template-columns:1fr}.history-summary{gap:var(--space-1);flex-direction:column}.history-table,.history-table tbody{width:100%;display:block}.history-table thead{display:none}.history-table tbody tr{gap:var(--space-2) var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.history-table td{white-space:normal;border:0;min-width:0;padding:0}.history-table td:nth-child(2){text-align:right;font-size:var(--text-meta)}.history-table td:nth-child(4){text-align:right}.history-table td:last-child{grid-column:1/-1}.history-tabs{gap:var(--space-4)}.customers-table,.customers-table tbody{width:100%;display:block}.customers-table thead{display:none}.customers-table tbody tr{gap:var(--space-3) var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid;position:relative}.customers-table tbody tr:last-child{border-bottom:0}.customers-table td{text-align:left;border:0;min-width:0;padding:0}.customers-table td:first-child{padding-right:var(--space-12);grid-column:1/-1}.customers-table td:nth-child(2),.customers-table td:nth-child(3){grid-column:1/-1}.customers-table .customer-address{max-width:none;font-size:var(--text-meta);line-height:var(--line-meta)}.customers-table td:nth-child(4):before{content:"คำสั่งซื้อ";color:var(--ink);font-size:var(--text-meta);margin-bottom:var(--space-1);line-height:var(--line-meta);display:block}.customers-table td:nth-child(5):before{content:"งานบริการ";color:var(--ink);font-size:var(--text-meta);margin-bottom:var(--space-1);line-height:var(--line-meta);display:block}.customers-table td:nth-child(6){position:absolute;top:18px;right:16px}}.customer-name strong{font-size:var(--text-meta);line-height:var(--line-meta)}.customer-name small{font-size:var(--text-meta);color:var(--muted);margin-top:var(--space-1);line-height:var(--line-meta);display:block}.phone-link{align-items:center;gap:var(--space-2);color:var(--ink);font-variant-numeric:tabular-nums;display:flex}.customer-address{white-space:normal;min-width:180px;max-width:250px;font-size:var(--text-meta);line-height:var(--line-meta);color:var(--ink)}.customer-profile{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.avatar.large{width:64px;height:64px;font-size:var(--text-section);line-height:var(--line-section);flex-shrink:0}.customer-profile p{font-size:var(--text-meta);gap:var(--space-2);margin-top:var(--space-2);line-height:var(--line-meta);color:var(--ink);align-items:flex-start;display:flex}.customer-profile p svg{margin-top:var(--space-1);flex-shrink:0}.customer-metrics{padding:var(--space-4) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:var(--space-6);gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.customer-metrics>div:not(:last-child){border-right:1px solid var(--border)}.customer-metrics span{font-size:var(--text-meta);color:var(--ink);margin-bottom:var(--space-2);line-height:var(--line-meta);display:block}.customer-metrics strong{font-size:var(--text-section);color:var(--ink);font-weight:600;line-height:var(--line-section)}.customer-metrics strong small{font-size:var(--text-meta);font-weight:400;line-height:var(--line-meta)}.history-tabs{gap:var(--space-6);border-bottom:1px solid var(--border);margin-bottom:var(--space-1);display:flex}.history-tabs button{align-items:center;gap:var(--space-2);padding:0 0 var(--space-3);font-size:var(--text-meta);color:var(--ink);line-height:var(--line-meta);background:0 0;border:0;border-bottom:2px solid #0000;display:flex}.history-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}@media (width<=700px){.customer-profile{gap:var(--space-3)}.avatar.large{width:44px;height:44px;font-size:var(--text-body);line-height:var(--line-body)}.customer-profile h2{font-size:var(--text-body);line-height:var(--line-body)}.customer-profile p{font-size:var(--text-meta);line-height:var(--line-meta)}.customer-metrics{gap:var(--space-4);grid-template-columns:1fr 1fr}.customer-metrics>div:nth-child(2){border:0}.customer-metrics>div:last-child{padding-top:var(--space-4);border-top:1px solid var(--border);grid-column:1/-1}.customer-metrics strong{font-size:var(--text-section);line-height:var(--line-section)}.history-tabs{gap:var(--space-4)}.history-tabs button{font-size:var(--text-meta);gap:var(--space-1);line-height:var(--line-meta)}}
