:root{color-scheme:dark;--bg: #050706;--panel: #0c1210;--panel-2: #101714;--panel-soft: #151c19;--line: rgba(187, 210, 200, .14);--line-bright: rgba(194, 217, 205, .22);--text: #f5f7f6;--muted: #8e9994;--accent-h: 350;--accent-s: 72%;--accent-soft-s: 54%;--accent-rgb: 196 30 74;--accent-300: hsl(var(--accent-h) 72% 67%);--accent-400: hsl(var(--accent-h) var(--accent-s) 52%);--accent-500: hsl(var(--accent-h) var(--accent-s) 43%);--accent-600: hsl(var(--accent-h) 74% 35%);--accent-700: hsl(var(--accent-h) 72% 27%);--accent-800: hsl(var(--accent-h) 66% 20%);--accent-900: hsl(var(--accent-h) 58% 13%);--accent-foreground: #fff7fa;--accent-ink: hsl(var(--accent-h) 70% 15%);--danger: #ff6c70;--radius: 20px;--radius-sm: 14px;--panel-shadow: inset 0 1px rgba(255, 255, 255, .025), 0 24px 70px rgba(0, 0, 0, .35);--font: Inter, "Noto Sans TC", ui-sans-serif, system-ui, sans-serif}html[data-theme-resolved=light]{color-scheme:light;--bg: #e9edeb;--panel: rgba(250, 251, 250, .94);--panel-2: #f0f3f1;--panel-soft: #e7ece9;--line: rgba(43, 61, 54, .11);--line-bright: rgba(43, 61, 54, .17);--text: #18221f;--muted: #67726e;--accent-foreground: #fff;--panel-shadow: inset 0 1px rgba(255, 255, 255, .9), 0 18px 46px rgba(39, 57, 50, .09)}html[data-theme-resolved=light] body.app-themed{background:radial-gradient(circle at 49% -20%,rgb(var(--accent-rgb) / .075),transparent 39%),linear-gradient(110deg,#e3e8e6 0,#f1f4f2 17%,#f4f6f5 82%,#e5eae8)}body.app-themed{background:radial-gradient(circle at 50% -30%,rgba(86,37,52,.14),transparent 43%),linear-gradient(90deg,#10080b 0,#020403 14%,#020302 86%,#10080b);color:var(--text)}.app-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;padding:16px;max-width:1920px;margin:0 auto;box-sizing:border-box}.app-shell__sidebar.panel{display:flex;flex-direction:column;min-height:0;padding:20px 14px 14px;position:sticky;top:16px;align-self:start;max-height:calc(100dvh - 32px);overflow:hidden}.app-shell__main{min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px}.panel{background:linear-gradient(145deg,#111815f7,#080d0bfa);border:1px solid var(--line-bright);border-radius:var(--radius);box-shadow:var(--panel-shadow)}html[data-theme-resolved=light] .panel{background:linear-gradient(145deg,#fafbfaf0,#eff3f1f5)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 10px 18px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:8px}html[data-theme-resolved=light] .sidebar-brand{border-color:#1f42331a}.sidebar-brand img{height:32px;width:auto;max-width:180px;display:block}.sidebar-brand__meta strong{display:block;font-size:15px;font-weight:650;letter-spacing:-.02em}.sidebar-brand__meta span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1 1 auto;min-height:0;padding:4px 0;scrollbar-width:thin;scrollbar-color:rgb(var(--accent-rgb) / .24) transparent}.sidebar-nav__label{padding:10px 12px 4px;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.nav-item{position:relative;width:100%;min-height:44px;padding:0 14px;border:1px solid transparent;border-radius:12px;background:transparent;display:flex;align-items:center;gap:10px;color:#9aa39f;cursor:pointer;text-align:left;font-size:13px;font-weight:550;transition:.2s ease;white-space:nowrap}.nav-item:hover{color:#fff;background:#ffffff09}.nav-item.active{color:#f3f6f5;background:linear-gradient(90deg,#ffffff1c,#ffffff0e);border-color:#ffffff17;box-shadow:0 5px 18px #00000040}html[data-theme-resolved=light] .nav-item{color:#68776f}html[data-theme-resolved=light] .nav-item:hover{color:#14231c;background:#1246300e}html[data-theme-resolved=light] .nav-item.active{color:var(--accent-ink);background:linear-gradient(90deg,rgb(var(--accent-rgb) / .14),#ffffff9e);border-color:rgb(var(--accent-rgb) / .16);box-shadow:0 7px 18px #3555461a}.nav-item__icon{width:18px;text-align:center;flex-shrink:0;opacity:.85;font-size:14px}.nav-item.active .nav-item__dot{box-shadow:0 0 12px rgb(var(--accent-rgb) / .6)}.nav-item__dot{width:8px;height:8px;border-radius:50%;background:hsl(var(--accent-h) var(--accent-s) 52%);flex-shrink:0;box-shadow:0 0 8px rgb(var(--accent-rgb) / .45)}.nav-sub{display:flex;flex-direction:column;gap:2px;padding-left:8px;margin-bottom:4px}.nav-sub .nav-item{min-height:38px;font-size:12px;padding-left:28px}.sidebar-bottom{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}html[data-theme-resolved=light] .sidebar-bottom{border-color:#1f42331a}.profile-row{display:flex;align-items:center;gap:10px;padding:10px 8px 0}.profile-row .avatar{position:relative;width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#8b4560,#3a1524);display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.1);flex-shrink:0}.profile-row .avatar i{position:absolute;right:-1px;bottom:0;width:8px;height:8px;border:2px solid #101512;background:hsl(var(--accent-h) var(--accent-s) 52%);border-radius:50%}.profile-row__text{min-width:0;flex:1}.profile-row__text b{display:block;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-row__text small{display:block;color:var(--muted);font-size:10px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{margin-top:10px;width:100%;min-height:40px;border:1px solid var(--line-bright);border-radius:11px;background:#ffffff0a;color:#c4ccc8;cursor:pointer;font-size:12px;font-weight:600;transition:.2s ease}.sidebar-logout:hover{color:var(--accent-foreground);border-color:rgb(var(--accent-rgb) / .35);background:linear-gradient(145deg,var(--accent-700),var(--accent-900))}.theme-toggle-btn{width:100%;min-height:36px;margin-top:8px;border:1px solid var(--line);border-radius:10px;background:#ffffff08;color:var(--muted);cursor:pointer;font-size:11px}.theme-toggle-btn:hover{color:var(--text);border-color:rgb(var(--accent-rgb) / .3)}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:4px 4px 8px}.page-title h1{margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:680;letter-spacing:-.04em;color:var(--text)}.page-title p{margin:4px 0 0;color:var(--muted);font-size:12px;letter-spacing:.03em}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ui-btn{border:1px solid var(--line-bright);border-radius:10px;padding:8px 14px;font-size:12px;font-weight:600;cursor:pointer;background:#ffffff0a;color:#c4ccc8;transition:.2s ease;white-space:nowrap}.ui-btn:hover:not(:disabled){color:#fff;background:#ffffff14}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn--primary{color:var(--accent-foreground);border-color:rgb(var(--accent-rgb) / .35);background:linear-gradient(145deg,var(--accent-600),var(--accent-800))}.ui-btn--primary:hover:not(:disabled){filter:brightness(1.06)}.ui-btn--accent{color:var(--accent-foreground);border-color:rgb(var(--accent-rgb) / .28);background:linear-gradient(145deg,var(--accent-500),var(--accent-700))}.ui-btn--success{color:#fff;border-color:#10b98159;background:linear-gradient(145deg,#059669,#047857)}.ui-btn.active,.ui-btn--nav.active{color:var(--accent-foreground);border-color:rgb(var(--accent-rgb) / .4);background:linear-gradient(145deg,var(--accent-700),var(--accent-900))}html[data-theme-resolved=light] .ui-btn.active,html[data-theme-resolved=light] .ui-btn--nav.active{color:var(--accent-ink);background:linear-gradient(145deg,rgb(var(--accent-rgb) / .18),rgb(var(--accent-rgb) / .1))}.ui-card{background:linear-gradient(145deg,#111815eb,#080d0bf0);border:1px solid var(--line-bright);border-radius:var(--radius-sm);padding:18px;box-shadow:var(--panel-shadow);color:var(--text)}html[data-theme-resolved=light] .ui-card{background:linear-gradient(145deg,#fafbfaf5,#eff3f1fa)}.ui-card h1,.ui-card h2,.ui-card h3,.ui-card h4,.ui-card strong{color:var(--text)}.ui-card label,.ui-card .field-label{color:var(--muted)}.app-shell .app-main{flex:1;min-width:0;padding:0 4px 24px;max-width:100%}.app-shell .ui-input,.app-shell .app-main input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),.app-shell .app-main select,.app-shell .app-main textarea{background:var(--panel-soft)!important;border:1px solid var(--line-bright)!important;color:var(--text)!important;border-radius:10px}.app-shell .app-main input::placeholder,.app-shell .app-main textarea::placeholder{color:var(--muted)}.app-shell .app-main table{color:var(--text)}.app-shell .app-main th{color:var(--muted)}.app-shell .app-main a{color:var(--accent-300)}.print-area,.print-area input,.print-area select,.print-area textarea,.quote-pdf-source,.quote-pdf-source input,.quote-pdf-source select,.quote-pdf-source textarea,.quote-editor-panel .print-area,.invoice-print-root,.invoice-print-root input,.invoice-print-root select,.invoice-print-root textarea{background:#fff!important;color:#111!important}.quote-editor-section{background:var(--panel);border:1px solid var(--line-bright);border-radius:12px;padding:20px 22px;margin-bottom:18px;box-shadow:var(--panel-shadow);color:var(--text)}.quote-editor-section--customer{background:var(--panel-2)}.quote-editor-section__title{margin:0 0 14px;font-size:17px;font-weight:800;color:var(--text);letter-spacing:1px}.quote-editor-section__title--left{text-align:left}.quote-editor-section__title--center{text-align:center}.quote-editor-field-label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px;font-weight:600}.quote-editor-field-label--left{text-align:left}.quote-editor-field-label--center{text-align:center}.quote-editor-items-table thead tr{background:var(--panel-2)}.quote-editor-items-table thead th{color:var(--muted);font-weight:600}.quote-editor-hint-box{background:var(--panel-2);border:1px solid var(--line-bright);border-radius:10px;padding:14px 16px}.quote-list-item{border:1px solid var(--line-bright);border-radius:8px;padding:10px;background:var(--panel-soft)}.quote-list-item--active{border:2px solid rgb(var(--accent-rgb) / .45);background:rgb(var(--accent-rgb) / .1)}.quote-list-item__invoice{font-weight:700;font-size:13px;color:var(--text)}.quote-list-item__attn{font-size:12px;color:var(--muted);margin-top:2px}.quote-list-item__meta{font-size:11px;color:var(--muted);margin-top:4px}.quote-list-group-label{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--line)}.quote-list-item__delete{background:rgb(var(--accent-rgb) / .08)!important;border:1px solid rgb(var(--accent-rgb) / .25)!important;color:var(--danger)!important}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.ui-modal-panel{background:var(--panel);border:1px solid var(--line-bright);border-radius:12px;width:min(520px,100%);max-height:75vh;overflow:auto;padding:20px;box-shadow:var(--panel-shadow);color:var(--text)}.ui-modal-panel h3{margin:0 0 8px;font-size:16px;color:var(--text)}.ui-modal-panel .ui-modal-desc{margin:0 0 12px;font-size:13px;color:var(--muted)}.ui-modal-option{text-align:left;border:1px solid var(--line-bright);border-radius:8px;padding:10px 12px;background:var(--panel-soft);cursor:pointer;color:var(--text)}.ui-modal-option--suggested{border:2px solid rgb(var(--accent-rgb) / .45)}.ui-modal-option:disabled{cursor:wait;opacity:.7}.login-shell-themed{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}.login-panel{width:100%;max-width:420px;padding:36px 32px}.login-panel img{max-width:200px;max-height:80px;height:auto;margin:0 auto 12px;display:block}.login-panel h1{margin:0;text-align:center;font-size:20px;font-weight:800;color:var(--text)}.login-panel .login-sub{margin:8px 0 0;text-align:center;font-size:13px;color:var(--muted)}@media (max-width: 1023px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding:10px;gap:10px}.app-shell__sidebar.panel{position:static;max-height:none;padding:12px}.sidebar-brand{padding-bottom:10px;margin-bottom:4px}.sidebar-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav__label,.nav-sub{display:none}.nav-item{width:auto;flex-shrink:0;min-height:38px;padding:0 12px;font-size:12px}.nav-item__dot,.sidebar-bottom{display:none}.mobile-user-bar{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:0 4px 8px}}@media (min-width: 1024px){.mobile-user-bar{display:none!important}}@media (prefers-reduced-motion: reduce){.nav-item,.ui-btn,.sidebar-logout{transition:none}}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric-card{position:relative;overflow:hidden;border-radius:22px;padding:20px 22px;border:1px solid rgba(255,255,255,.14);isolation:isolate;box-shadow:inset 0 1px #ffffff21,0 15px 35px #0000004d;cursor:default;text-align:left;color:#f2f5f3;background:#121815}.metric-card:before{content:"";position:absolute;top:-27%;right:-27%;bottom:-27%;left:-27%;z-index:-2;filter:blur(24px);opacity:.9;animation:metricFluidDrift 5s ease-in-out infinite alternate}.metric-card>span{display:block;font:600 9px/1.2 ui-monospace,monospace;opacity:.72;letter-spacing:.02em}.metric-card h3{margin:6px 0 5px;font-size:15px;font-weight:650}.metric-card strong{display:flex;align-items:baseline;gap:8px;font:500 36px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.metric-card strong small{font:11px/1.2 var(--font);opacity:.66}.metric-card p{margin:8px 0 0;font-size:10px;opacity:.72}.metric-card em{color:hsl(var(--accent-h) var(--accent-s) 52%);font-style:normal;font-weight:700}.metric-card[data-material=cyan]:before{background:radial-gradient(ellipse 46% 70% at 83% 30%,rgba(54,245,223,.92) 0 23%,transparent 66%),radial-gradient(ellipse 52% 74% at 67% 90%,rgba(0,168,202,.88) 0 24%,transparent 70%),radial-gradient(ellipse 38% 62% at 45% 20%,rgba(35,93,168,.78) 0 20%,transparent 68%)}.metric-card[data-material=original]:before{background:radial-gradient(ellipse 48% 76% at 84% 42%,rgba(255,74,169,.82) 0 24%,transparent 66%),radial-gradient(ellipse 46% 68% at 70% 94%,rgba(255,136,73,.72) 0 22%,transparent 68%),radial-gradient(ellipse 38% 60% at 96% 15%,rgba(170,73,255,.72) 0 20%,transparent 65%)}.metric-card[data-material=rain]:before{background:radial-gradient(ellipse 46% 70% at 83% 31%,rgba(255,105,63,.9) 0 22%,transparent 67%),radial-gradient(ellipse 52% 72% at 72% 91%,rgba(46,102,255,.92) 0 25%,transparent 70%),radial-gradient(ellipse 42% 66% at 54% 28%,rgba(77,45,153,.76) 0 20%,transparent 68%)}.metric-card[data-material=chrome]:before{background:radial-gradient(ellipse 38% 58% at 78% 28%,rgba(244,255,255,.96) 0 24%,transparent 70%),radial-gradient(ellipse 52% 72% at 62% 83%,rgba(95,119,115,.92) 0 25%,transparent 72%),radial-gradient(ellipse 36% 56% at 90% 88%,rgba(152,197,197,.7) 0 20%,transparent 68%)}html[data-theme-resolved=light] .metric-card{color:#18221f;background:#e6ebe8;border-color:#2d3d3724;box-shadow:inset 0 1px #ffffffb8,0 13px 28px #25342f1f}html[data-theme-resolved=light] .metric-card:before{opacity:.55;filter:blur(28px) saturate(.75)}.carousel-panel{position:relative;min-height:280px;overflow:hidden;border-radius:17px;border:1px solid var(--line-bright);background:radial-gradient(ellipse at 62% 68%,rgb(var(--accent-rgb) / .08),transparent 30%),linear-gradient(180deg,#111714a6,#070b09d1)}html[data-theme-resolved=light] .carousel-panel{background:radial-gradient(ellipse at 62% 68%,rgb(var(--accent-rgb) / .11),transparent 31%),linear-gradient(180deg,#f1f7f4c2,#dbe7e1e6)}.carousel-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.carousel-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.carousel-pill{height:32px;border:1px solid var(--line-bright);border-radius:11px;background:#ffffff0a;color:var(--muted);font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:0 10px}.carousel-pill.active{color:var(--accent-foreground);background:linear-gradient(145deg,color-mix(in srgb,var(--accent-700) 78%,transparent),color-mix(in srgb,var(--accent-900) 82%,transparent));border-color:rgb(var(--accent-rgb) / .27)}.carousel-viewport{position:relative;min-height:240px;overflow:hidden;outline:0;cursor:grab;touch-action:pan-y;perspective:1050px}.carousel-viewport:active{cursor:grabbing}.carousel-viewport.fan-view{perspective:1280px}.card-scene{position:absolute;left:50%;top:47%;width:min(620px,92vw);height:220px;transform:translate(-50%,-43%);transform-style:preserve-3d}.fan-view .card-scene{width:min(650px,94vw);top:48%}.doc-card{--x: 0px;--y: 0px;--z: 0px;--rotate: 0deg;--scale: 1;--opacity: 1;position:absolute;left:calc(50% - 67px);top:12px;width:134px;height:196px;border-radius:12px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.55);transform:translate3d(var(--x),var(--y),var(--z)) rotateY(var(--rotate)) scale(var(--scale));transform-origin:center bottom;opacity:var(--opacity);transition:transform .68s cubic-bezier(.16,1,.3,1),opacity .42s ease,filter .42s ease;background:linear-gradient(150deg,#ecefed,#a7afab);color:#19201d;cursor:pointer;backface-visibility:hidden;box-shadow:0 22px 34px #00000070,inset 0 1px #ffffffbf}.doc-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,rgba(255,255,255,.42),transparent 34%,rgba(255,255,255,.05));pointer-events:none}.doc-card:not(.selected){filter:saturate(.58) brightness(.82)}.doc-card.selected{color:var(--accent-foreground);filter:saturate(1.08) brightness(1.03);background:linear-gradient(145deg,hsl(var(--accent-h) 72% 67%),hsl(var(--accent-h) var(--accent-s) 52%) 54%,hsl(var(--accent-h) 72% 27%));border-color:hsl(var(--accent-h) 72% 67%);box-shadow:0 27px 47px #0000007a,0 0 34px rgb(var(--accent-rgb) / .23),inset 0 1px #ffffff70}.doc-kicker{position:absolute;top:12px;left:13px;font:500 8px/1.2 ui-monospace,monospace;opacity:.6;letter-spacing:.06em}.doc-lines{position:absolute;top:42px;left:19px;right:19px;display:flex;flex-direction:column;gap:7px;opacity:.24}.doc-lines i{display:block;height:2px;border-radius:2px;background:currentColor}.doc-lines i:nth-child(2){width:88%}.doc-lines i:nth-child(3){width:70%}.doc-symbol{position:absolute;top:84px;left:0;right:0;text-align:center;font:500 18px/1 ui-monospace,monospace;opacity:.65}.doc-copy{position:absolute;left:12px;right:12px;bottom:14px;text-align:center}.doc-copy strong{display:block;font-size:12px;line-height:1.3}.doc-copy small{display:block;margin-top:5px;font-size:7px;opacity:.58;line-height:1.35}.carousel-scroll-tip{position:absolute;left:50%;bottom:8px;transform:translate(-50%);padding:6px 12px;border-radius:12px;border:1px solid var(--line);background:#050907b8;color:var(--muted);font-size:10px;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}html[data-theme-resolved=light] .carousel-scroll-tip{background:#fbfdfcc7}.quote-list-view-tabs{display:flex;gap:6px;margin-bottom:10px}.quote-list-view-tabs button{flex:1;min-height:32px;border:1px solid var(--line-bright);border-radius:8px;background:#ffffff0a;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer}.quote-list-view-tabs button.active{color:var(--accent-foreground);border-color:rgb(var(--accent-rgb) / .35);background:linear-gradient(145deg,var(--accent-700),var(--accent-900))}.home-recent-carousel{margin-bottom:18px}@keyframes metricFluidDrift{0%{transform:translate3d(-2.5%,1%,0) rotate(-2.2deg) scale(1.02)}to{transform:translate3d(3.5%,2.5%,0) rotate(2.5deg) scale(1.04)}}@media (max-width: 1023px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-scene{width:min(520px,96vw);height:200px}.doc-card{width:120px;height:176px}}@media (max-width: 640px){.metric-grid{grid-template-columns:1fr}.metric-card strong{font-size:30px}}@media (prefers-reduced-motion: reduce){.metric-card:before,.doc-card{animation:none!important;transition:none!important}}.quote-view-carousel{grid-template-columns:1fr!important}.quote-view-carousel .quote-list-panel{max-width:100%;max-height:none}.quote-view-carousel .quote-editor-panel,.quote-view-carousel .quote-invoice-scroll{grid-column:1 / -1}@media (min-width: 768px){.quote-view-carousel.quote-view-edit{grid-template-columns:1fr!important}}*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;font-family:Inter,Noto Sans TC,system-ui,-apple-system,sans-serif;background:var(--bg, #f1f5f9);color:var(--text, #0f172a);overflow-x:hidden;-webkit-text-size-adjust:100%}#root{min-height:100vh;overflow-x:hidden}button,input,select,textarea{font:inherit;max-width:100%}code{font-family:ui-monospace,monospace;font-size:.9em}.app-main{padding:20px;max-width:100%}.page-container{max-width:1280px;margin:0 auto;padding:0 8px 32px;width:100%}.app-toolbar{background:var(--toolbar-bg, #1e293b)}.app-toolbar__inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px;width:100%;min-width:0}.app-toolbar__inner .header-brand{order:1}.app-toolbar__inner .user-bar{order:3;flex-shrink:0}.app-toolbar__inner .app-toolbar__nav{order:2;flex:1 1 12rem;min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.app-toolbar--login .app-toolbar__inner .user-bar{order:2;margin-left:auto}.app-toolbar--login .app-toolbar__inner .header-brand{order:1}.user-bar__email{display:block}.layout-grid-2,.layout-grid-3,.layout-grid-4,.layout-grid-5,.layout-split,.layout-fields-2{max-width:100%}@media (min-width: 768px){.quote-invoice-preview-span{grid-column:2 / -1}}.quote-layout>*{min-width:0}.quote-invoice-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:100%}.quote-pdf-source{position:fixed;left:-12000px;top:0;width:1100px;z-index:-1;pointer-events:none;overflow:visible;background:#fff}.quote-layout{max-width:min(1680px,100%);margin:0 auto;display:grid;gap:18px;align-items:start;padding:20px;width:100%;box-sizing:border-box}.quote-view-edit,.quote-view-preview{grid-template-columns:240px minmax(0,1fr)}.quote-editor-panel{min-width:0;width:100%}.quote-list-panel{position:relative;z-index:2}.quote-list-item__body{cursor:pointer}.quote-list-item__delete{position:relative;z-index:3;margin-top:8;display:inline-block;background:rgb(var(--accent-rgb) / .08);border:1px solid rgb(var(--accent-rgb) / .25);color:var(--danger);border-radius:4;padding:4px 10px;font-size:11;font-weight:600;cursor:pointer;touch-action:manipulation}.quote-editor-items-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;margin:0 -4px;padding:4px}.quote-editor-items-table{width:100%;min-width:1100px;border-collapse:collapse;font-size:13px}.quote-editor-items-table td{padding:10px 8px;vertical-align:middle}.quote-editor-col-name{min-width:150px;width:16%}.quote-editor-col-spec{min-width:200px;width:23%}.quote-editor-col-images{min-width:220px;width:20%}.quote-item-images{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:center!important;align-items:center!important;gap:8px;width:100%;max-width:100%}.quote-item-image-frame{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-sizing:border-box}.quote-item-images img,.quote-item-image-frame img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center}.quote-editor-col-images .quote-item-image-frame img{border-radius:6px;border:1px solid var(--line-bright);background:var(--panel-2)}.quote-item-images-cell{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.quote-item-image-wrap{position:relative;flex-shrink:0}.quote-item-images--wrap{flex-wrap:wrap!important}.quote-editor-col-pack{min-width:120px;width:14%}.quote-editor-col-num{min-width:88px;width:7%}.quote-editor-col-price{min-width:88px;width:8%}.quote-editor-col-amount{min-width:120px;width:11%;font-weight:600;color:var(--accent-300);white-space:nowrap;text-align:center}.quote-editor-col-actions{min-width:56px;width:4%;text-align:center}@media (min-width: 1200px){.quote-view-edit{grid-template-columns:260px minmax(0,1fr)}.quote-editor-items-table{min-width:100%}}.quote-table-wrap{width:100%;margin-left:auto;margin-right:auto}.print-area .quote-items-table th,.print-area .quote-items-table td,.quote-editor-panel .quote-items-table th,.quote-editor-panel .quote-items-table td{text-align:center!important;vertical-align:middle!important}.print-area .quote-col-line-amount,.quote-editor-panel .quote-col-line-amount,.quote-editor-col-amount{white-space:nowrap!important;word-break:keep-all}.quote-header-logo-slot{min-height:108px}.quote-header-logo-slot img{margin:0 auto}@media (max-width: 767px){.quote-layout input,.quote-layout select,.quote-layout textarea{font-size:16px}.print-area{max-width:100%!important;padding-left:12px!important;padding-right:12px!important}.app-main{padding:12px}.page-container{padding:0 4px 20px}.app-toolbar{padding:10px 12px!important}.app-toolbar__inner .user-bar{order:2;margin-left:auto;flex-shrink:0;min-width:0}.app-toolbar__inner .app-toolbar__nav{order:3;flex:1 1 100%;width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:2px;scrollbar-width:none}.app-toolbar__inner .app-toolbar__nav::-webkit-scrollbar{display:none}.app-toolbar__inner .app-toolbar__nav>button,.app-toolbar__inner .app-toolbar__nav>div{flex-shrink:0}.app-toolbar--login .user-bar__email{display:block!important}.user-bar__email{display:none}.user-bar__name{font-size:11px!important;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-brand img{height:28px!important;max-width:150px!important}.header-brand__subtitle{font-size:10px!important;line-height:1.3}.layout-grid-2,.layout-grid-3,.layout-grid-5,.layout-split{grid-template-columns:1fr!important}.layout-grid-4{grid-template-columns:repeat(2,1fr)!important}.layout-grid-4 .grid-span-2{grid-column:span 2!important}.layout-fields-2{grid-template-columns:1fr!important}.layout-split .sticky-side{position:static!important;top:auto!important}.quote-layout{grid-template-columns:1fr!important;padding:12px!important}.toolbar-actions{flex-direction:column!important;align-items:stretch!important}.toolbar-actions .search-grow{width:100%!important;margin-left:0!important}.order-card-header{flex-direction:column!important;align-items:stretch!important}.order-card-actions{align-items:stretch!important;width:100%}.order-card-actions select{width:100%!important}.order-progress-step{min-width:56px!important;flex:1 1 56px!important;font-size:9px!important;padding:5px 2px!important}}@media (max-width: 480px){.layout-grid-4{grid-template-columns:1fr!important}.layout-grid-4 .grid-span-2{grid-column:span 1!important}}@media (min-width: 768px) and (max-width: 1023px){.quote-view-edit,.quote-view-preview{grid-template-columns:220px minmax(0,1fr)!important}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:100%}.table-scroll table{min-width:520px}.login-shell{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:400px}@media (max-width: 767px){.login-shell{padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));align-items:center}.login-card{padding:28px 20px!important;border-radius:12px!important}.login-card img{max-width:180px!important}}.app-overlay{padding:16px}.app-modal{width:100%;max-width:640px}@media (max-width: 767px){.app-overlay{padding:8px!important;align-items:flex-end!important}.app-modal{max-height:92dvh!important;border-radius:12px 12px 0 0!important;padding:18px 16px!important}.modal-grid-2{grid-template-columns:1fr!important}}@keyframes home-marquee-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@media (min-width: 768px){.home-marquee-bar{margin-left:-8px;margin-right:-8px;width:calc(100% + 16px);max-width:none}}@media (max-width: 767px){.home-marquee-bar{border-radius:8px}.home-marquee-track{-webkit-animation:home-marquee-scroll 45s linear infinite;animation:home-marquee-scroll 45s linear infinite}}@media (prefers-reduced-motion: reduce){.home-marquee-track{animation:none!important;-webkit-animation:none!important;white-space:normal!important;display:block!important;padding:0 12px}}@media (max-width: 767px){.calendar-month-grid{gap:2px!important}.calendar-month-grid button{min-height:46px!important;padding:3px 2px 4px!important}.calendar-country-chips{flex-wrap:nowrap!important;overflow-x:auto!important;max-height:none!important;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}}
