/* Rotary Teknik UI 20261015-r1; additive styles, existing modules retained. */
@media screen{.app-page select.ts-hidden-accessible{position:absolute!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}}
:root{--rt-font:"Poppins",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--rt-focus:#247caa;--line:#dfe6ec;--muted:#596c7b}
html,body,button,input,select,textarea{font-family:var(--rt-font)}body{font-size:13px;line-height:1.55}button,input,select,textarea{font-size:inherit}[hidden]{display:none!important}
.rt-icon{width:20px;height:20px;flex:none;vertical-align:middle}:is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--rt-focus);outline-offset:3px}
.rt-skip{position:fixed;left:16px;top:-100px;z-index:40000;background:#fff;padding:12px 18px;border:2px solid var(--rt-focus);border-radius:8px}.rt-skip:focus{top:12px}
.app-shell{grid-template-columns:264px minmax(0,1fr)}.sidebar{padding:20px 14px;height:100dvh}.sidebar-brand{padding:0 10px 20px;flex:none}.sidebar-nav{padding-top:6px;min-height:0;scrollbar-width:thin;scrollbar-color:#456075 transparent;overscroll-behavior:contain}
.nav-group-title{font-size:10px;font-weight:500;letter-spacing:.09em;color:#9db1c0;margin:22px 12px 8px;text-transform:uppercase}.nav-item{min-height:42px;font-size:12px;gap:11px;font-weight:400;padding:10px 12px;border:1px solid transparent}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}.nav-item.active{background:#1e455b;border-color:#315a6f;font-weight:500}.nav-icon{width:20px;color:#98d9c5;flex:none}
.sidebar-footer{padding:14px 8px 0;flex:none}.user-mini>div:last-child{min-width:0}.user-mini strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.user-mini span{font-size:11px}.btn-logout{gap:8px;min-height:38px;font-weight:500}.btn-logout .rt-icon{width:16px;height:16px}.rt-sidebar-close{display:none}
.topbar{min-height:78px;height:auto;padding:14px 28px;gap:16px}.topbar>div:first-of-type{min-width:0}.topbar h1{font-size:19px;line-height:1.35;font-weight:600;overflow-wrap:anywhere}.topbar-kicker{font-size:9px;font-weight:500;letter-spacing:.12em}.topbar-user{margin-left:0;font-size:11px;flex:none}
.rt-search-trigger{display:flex;align-items:center;gap:9px;margin-left:auto;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:#526575;background:#f8fafb;cursor:pointer;min-height:42px;flex:none;font-size:12px}.rt-search-trigger:hover{border-color:#a5b6c4;background:#fff}.rt-search-trigger .rt-icon{width:18px;height:18px}kbd{font-family:var(--rt-font);border:1px solid #d6e0e7;border-bottom-width:2px;background:#fff;color:#617484;border-radius:4px;font-size:10px;padding:1px 5px;white-space:nowrap}
.content-wrap{padding:26px;max-width:1660px}.content-wrap>*{min-width:0}.app-page h2{font-size:23px;line-height:1.35;font-weight:600;letter-spacing:-.025em}.app-page h3,.app-page h4{font-weight:600;line-height:1.45}.app-page :is(.eyebrow,.customer-card-title span,.fin-section-title h3){font-weight:600}
.btn{font-weight:500;gap:7px;min-height:40px;border-radius:9px;line-height:1.4;transition:background-color .15s,border-color .15s}.btn-primary:hover{transform:none}.btn-small{min-height:34px;font-size:12px}.btn:disabled,button:disabled{cursor:not-allowed;opacity:.6}
.app-page :is(.customer-form-card,.finance-card,.qt-card,.metric-card,.wo-save-card){border-radius:12px;box-shadow:0 2px 8px rgba(16,40,61,.025)}
.app-page :is(.form-control,.finance-form input,.finance-form select,.finance-form textarea,.finance-filter input,.finance-filter select,.qt-filter input,.qt-filter select){border-color:#ccd7e0;border-radius:8px;font-family:var(--rt-font);min-height:40px;line-height:1.5}.app-page textarea{resize:vertical;max-width:100%;line-height:1.6}.app-page input[type=checkbox],.app-page input[type=radio]{accent-color:var(--accent);min-width:17px;min-height:17px}
.app-page :is(.field,.form-grid>label,.field-grid>div,.finance-filter>label){min-width:0}.app-page :is(.field label,.finance-form label>span,.finance-filter label>span){font-weight:500;font-size:12px}.invoice-customer-picker{flex:1 1 280px;min-width:0!important;max-width:100%}
.app-page :is(.finance-table,.customer-table,.wo-table,.qt-table){font-size:12px;line-height:1.6}.app-page :is(.finance-table,.customer-table,.wo-table,.qt-table) th{font-size:11px;font-weight:600;color:#4e6475;background:#f6f9fb}.app-page :is(.finance-table,.customer-table,.wo-table,.qt-table) tbody tr:hover{background:#f8fbfc}.app-page :is(.finance-table,.customer-table,.wo-table,.qt-table) td strong{font-weight:500}
.app-page :is(.finance-table-wrap,.customer-table-wrap,.wo-table-wrap,.qt-table-wrap){overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin}.app-page .num{font-variant-numeric:tabular-nums}.app-page :is(.fin-badge,.status-badge){font-weight:500;letter-spacing:.01em}.page-alert{margin:0 0 20px;font-size:13px;border-radius:10px}.customer-validation-box ul{margin:4px 0;padding-left:20px}
.wo-tech-option strong,.wo-unit-option strong{font-size:12px;font-weight:500}.wo-tech-option small,.wo-unit-option span{font-size:11px}.wo-help{font-size:11px}
.rt-list-filter{display:flex;align-items:center;gap:10px;margin:0 0 12px}.rt-list-filter input{width:100%;min-width:0;border:1px solid #ccd7e0;border-radius:8px;padding:9px 12px;min-height:40px;background:#fff}.rt-filter-count{font-size:11px;white-space:nowrap;color:var(--muted)}.rt-list-empty{font-size:12px;padding:12px;background:#f5f8fa;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.rt-search-filtered{display:none!important}.rt-selection-note{font-size:12px;color:#866013;background:#fff8e9;padding:9px 12px;border-radius:8px;margin-bottom:12px}
.ts-wrapper{width:100%;min-width:0;font-family:var(--rt-font);font-size:13px;text-align:left}.ts-wrapper.form-control{padding:0;border:0;min-height:0;background:none;box-shadow:none}.ts-control{border:1px solid #ccd7e0;border-radius:8px;padding:9px 34px 9px 12px;min-height:40px;box-shadow:none!important;line-height:1.5;background:#fff;align-items:center}.ts-wrapper.single .ts-control{background:#fff;background-image:none}.ts-wrapper.focus .ts-control{border-color:var(--rt-focus);box-shadow:0 0 0 3px rgba(36,124,170,.12)!important}
.ts-control>input{font-family:var(--rt-font)!important;font-size:13px!important;min-height:0!important;box-shadow:none!important;outline:none!important;border:0!important;padding:0!important;width:auto;max-width:100%}.ts-control>.item{max-width:100%;white-space:normal;overflow-wrap:anywhere;color:var(--ink)}.ts-dropdown{border:1px solid #cbd7e0;border-radius:9px;box-shadow:0 10px 28px rgba(16,40,61,.15);font-family:var(--rt-font);font-size:13px;z-index:20000;background:#fff;max-width:calc(100vw - 24px);overflow:hidden}.ts-dropdown-content{max-height:min(260px,45dvh);overscroll-behavior:contain}.ts-dropdown .option{padding:10px 12px;overflow-wrap:anywhere}.ts-dropdown .active{background:#e9f5f1;color:#135c48}.ts-dropdown .no-results{padding:12px;color:var(--muted)}.ts-wrapper.disabled .ts-control{background:#f0f3f5;color:#6d7b88;cursor:not-allowed}.ts-wrapper.invalid .ts-control{border-color:#bd4444}.ts-wrapper .clear-button{right:9px;font-size:20px}.ts-wrapper.plugin-clear_button .ts-control:after{display:none}
.rt-command{border:1px solid #dce5eb;padding:0;border-radius:16px;width:min(620px,calc(100vw - 28px));max-height:min(650px,calc(100dvh - 40px));margin:8vh auto auto;background:#fff;color:var(--ink);box-shadow:0 24px 90px rgba(16,40,61,.25);overflow:hidden}.rt-command::backdrop{background:rgba(10,28,42,.48)}.rt-command[open]{display:flex;flex-direction:column}.rt-command-head{display:flex;justify-content:space-between;gap:16px;padding:21px 22px 15px}.rt-command-head strong{font-size:17px;font-weight:600}.rt-command-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.rt-icon-button{border:0;border-radius:8px;background:#f1f5f7;color:#526575;width:36px;height:36px;display:inline-grid;place-items:center;cursor:pointer;flex:none}
.rt-command-search{display:flex;align-items:center;gap:10px;border:1px solid #acbecb;border-radius:10px;margin:0 20px 12px;padding:0 12px;flex:none}.rt-command-search:focus-within{border-color:var(--rt-focus);box-shadow:0 0 0 3px rgba(36,124,170,.1)}.rt-command-search>input{border:0;background:none;padding:12px 0;width:100%;font-size:14px;min-width:0;outline:none!important}.rt-command-search>.rt-icon{color:#658092}.rt-command-results{padding:0 12px 12px;overflow-y:auto;min-height:0;overscroll-behavior:contain}.rt-command-group{font-size:10px;letter-spacing:.08em;color:#758a99;text-transform:uppercase;padding:10px 10px 6px;font-weight:600}
.rt-command-result{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 12px;border:1px solid transparent;background:transparent;border-radius:9px;color:var(--ink);font-size:13px;cursor:pointer;line-height:1.5}.rt-command-result[aria-selected=true]{background:#edf7f3;border-color:#d6ede4}.rt-command-result small{display:block;font-size:10px;color:var(--muted)}.rt-command-result .rt-result-arrow{margin-left:auto;color:#789385;font-size:17px}.rt-command-result strong{font-weight:500}.rt-command-foot{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);background:#f8fafb;border-top:1px solid var(--line);padding:12px 20px;flex:none}.rt-command-empty{padding:18px 24px 30px;color:var(--muted);font-size:13px}
.auth-page .auth-brand-panel{background:var(--navy)}.auth-page .auth-brand-panel:before,.auth-page .auth-brand-panel:after{display:none}.auth-page .login-card{border-radius:16px;box-shadow:0 8px 30px rgba(16,40,61,.06)}.auth-page .login-card h2{font-size:27px;font-weight:600}.auth-page .form-label{font-weight:500}
@media(max-width:1190px){.topbar-user{display:none}.rt-search-trigger>span{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{padding:14px 22px}}
@media(max-width:900px){.app-shell{display:block}.sidebar{position:fixed;width:280px;max-width:calc(100vw - 48px);inset:0 auto 0 0;z-index:110;height:100dvh;transform:translateX(-100%);visibility:hidden;transition:transform .18s,visibility .18s}.sidebar-open .sidebar{visibility:visible;transform:translateX(0)}.sidebar-overlay{z-index:100}.sidebar-open{overflow:hidden}.rt-sidebar-close{display:grid;place-items:center;position:absolute;right:10px;top:24px;width:32px;height:32px;border:0;background:#23475d;color:#fff;border-radius:8px;cursor:pointer}.sidebar-brand{padding-right:35px}.menu-toggle{display:inline-grid;place-items:center;flex:none;width:42px;height:42px}.topbar{gap:12px;padding:12px 16px;min-height:72px}.content-wrap{padding:20px 16px}.topbar h1{font-size:17px}.rt-search-trigger{min-width:42px;justify-content:center;padding:10px}.rt-search-trigger>span,.rt-search-trigger>kbd{display:none}.app-page :is(.finance-filter,.qt-filter){gap:12px}.app-page :is(.finance-filter,.qt-filter)>*{min-width:0;max-width:100%}}
@media(max-width:600px){.content-wrap{padding:16px 12px}.topbar{padding:11px 12px;gap:10px}.topbar h1{font-size:16px}.app-page h2{font-size:21px}.app-page :is(.field-grid.two,.form-grid){grid-template-columns:minmax(0,1fr)}.app-page .field-grid.two>.span-2{grid-column:auto}.app-page .btn{min-height:42px}.app-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.app-page textarea,.app-page select{font-size:16px}.ts-control>input{font-size:16px!important}.ts-control{min-height:44px}.ts-dropdown{font-size:14px}.rt-command{margin:16px auto;max-height:calc(100dvh - 32px);width:calc(100vw - 24px);border-radius:12px}.rt-command-head{padding:18px 16px 12px}.rt-command-search{margin:0 14px 10px}.rt-command-search>input{font-size:16px}.rt-command-foot{padding:11px 14px}.rt-command-result{min-height:52px}.rt-list-filter{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.rt-search-trigger,.rt-command,.rt-sidebar-close,.rt-list-filter,.rt-list-empty,.rt-selection-note,.rt-skip{display:none!important}.ts-wrapper{display:none!important}select.tomselected{display:inline-block!important;position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;opacity:1!important}.app-page :is(.finance-table-wrap,.customer-table-wrap,.wo-table-wrap,.qt-table-wrap){overflow:visible}}
