@font-face{font-family:HatsSans;src:url('/static/HatsSans.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--ink:#173448;--navy:#153c59;--blue:#0869a6;--surface:#f3f6f8;--line:#d7e1e8;--muted:#526776;--danger:#a53824;--white:#fff;--focus:#087fbf;--radius:12px}
*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--ink);font:16px/1.55 HatsSans,'Malgun Gothic',sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}button{border:0}input,select{border:1px solid #aabcc9;border-radius:6px;background:white;color:var(--ink);padding:10px 12px;min-height:44px;max-width:100%}input{caret-color:var(--blue)}input::placeholder{color:#637584}input[type=checkbox]{min-height:0;accent-color:var(--blue);width:18px;height:18px}input[type=file]{width:100%;padding:20px;background:var(--surface)}input[type=file]::file-selector-button{border:0;padding:10px 18px;margin-right:15px;color:var(--navy);background:#dceaf3;border-radius:5px;font:inherit;cursor:pointer}button{min-height:44px;border-radius:6px;padding:10px 18px;font-weight:650;transition:background-color .15s ease-out}button:hover{background:#e0e9ef}button:disabled{opacity:.55;cursor:wait}a{color:var(--blue);text-underline-offset:4px}::selection{color:white;background:#216b95}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#9bb0bf;border-radius:5px}::-webkit-scrollbar-track{background:#e6edf2}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.3;letter-spacing:-.03em}h2{font-size:23px;letter-spacing:-.02em}h3{font-size:18px}.muted,.help{color:var(--muted)}.help{font-size:14px;margin:8px 0 20px;max-width:70ch}.primary{background:var(--navy);color:white}.primary:hover{background:#235572}.secondary{background:#e8eff4;color:var(--navy)}.text-button{background:none;color:var(--muted);font-size:14px}.error{color:var(--danger);min-height:24px}.skip{position:absolute;top:-100px;left:16px;background:white;padding:12px;z-index:30}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.message{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;background:var(--navy);color:white;border-radius:8px;padding:14px 24px;max-width:min(640px,90vw);box-shadow:0 8px 30px #102f4933}.message.error-message{background:#7f2a1e}
.wordmark{font-size:27px;font-weight:850;letter-spacing:-.04em;text-decoration:none;color:inherit;display:flex;align-items:center;gap:14px}.wordmark span{font-size:13px;font-weight:500;letter-spacing:0;line-height:1.4}.login-page{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--navy);color:white;padding:48px 12%;display:flex;flex-direction:column;justify-content:space-between;min-height:100svh}.login-brand h1{font-size:54px;line-height:1.3;margin-bottom:24px}.login-brand p{color:#cbdfea;font-size:18px}.login-footer{color:#cbdfea;font-size:14px}.login-form-wrap{display:grid;place-items:center;background:white;padding:48px 24px}.login-form-wrap form{width:min(360px,100%)}form label{display:block;font-weight:600;margin:22px 0 8px}form input:not([type=checkbox]),form select{width:100%}.login-form-wrap h2{font-size:28px}.login-form-wrap .muted{margin:12px 0 30px}.login-form-wrap .primary{width:100%;margin-top:8px}.login-note{margin-top:30px;font-size:14px;color:var(--muted)}
.topbar{background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:48px;min-height:80px;padding:0 40px}.topbar .wordmark{color:var(--navy)}.topbar nav{display:flex;align-self:stretch;gap:20px}.nav{background:none;border-radius:0;border-bottom:3px solid transparent;padding:0 8px;color:var(--muted);font-size:16px}.nav.active{border-bottom-color:var(--blue);color:var(--navy)}.account{margin-left:auto;display:flex;gap:8px;align-items:center}main{max-width:1600px;margin:auto;padding:36px 40px 48px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading p{margin-top:8px}.report-select{max-width:390px}.report-select label,.filters label{font-size:14px;display:block;margin-bottom:6px;font-weight:600}.report-select select{width:100%;font-size:14px}.period-bar{display:flex;align-items:center;gap:24px;padding:18px 24px;background:var(--navy);color:white;border-radius:12px 12px 0 0}.month-control{display:flex;gap:12px;align-items:center;flex-shrink:0}.month-control select{background:white;border:0;font-weight:700}.period-bar p{color:#d8e8f2;font-size:15px}.unit{margin-left:auto;font-size:14px;white-space:nowrap;color:#d8e8f2}.summary{display:grid;grid-template-columns:1fr 1fr 1.2fr .7fr;background:white;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:26px 0}.summary>div{padding:0 24px;border-right:1px solid var(--line)}.summary>div:last-child{border-right:0}.summary span{font-size:14px;color:var(--muted);display:block;margin-bottom:9px}.summary strong{font-size:clamp(21px,2.05vw,32px);line-height:1.3;font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-weight:750}.shortfall-summary strong{color:var(--danger)}.count-summary strong{color:var(--navy)}.calculation-note{font-size:14px;color:var(--muted);margin:14px 0 28px;max-width:100ch}.filters{display:flex;gap:16px;align-items:end}.filters>div{flex:1}.filters .search-field{flex:2}.filters select,.filters input{width:100%}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 12px}.check-label{display:flex;align-items:center;gap:8px;font-size:15px}.table-toolbar>div{display:flex;align-items:center;gap:16px}.table-toolbar select{background:transparent;border:0;font-size:14px;min-height:36px;padding:5px}.table-toolbar span{font-size:14px;font-weight:600}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:15px}th{text-align:left;background:#e7eef3;color:#3e596d;font-size:14px;font-weight:650;padding:14px 18px;border-bottom:1px solid var(--line)}td{padding:15px 18px;border-bottom:1px solid #e7edf2}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f2f7fb}.numeric{text-align:right;font-variant-numeric:tabular-nums}.shortfall{color:var(--danger);font-weight:700}.row-title{display:block;font-weight:650}.row-meta{display:block;font-size:13px;color:var(--muted);margin-top:2px}.row-button{text-align:left;color:var(--ink);background:none;min-height:0;padding:0;border-radius:2px;font-weight:650}.row-button:hover{background:none;color:var(--blue);text-decoration:underline}.open-detail{background:none;color:var(--blue);padding:4px 8px;font-size:14px}.badge{display:inline-block;padding:4px 9px;border-radius:4px;font-size:13px;font-weight:650;background:#e8edf1;color:#435f73}.badge.unpaid{color:#9a3023;background:#ffebe5}.badge.partial{color:#775211;background:#fff3d5}.badge.complete{color:#225f55;background:#e5f3ec}.badge.review{color:#793394;background:#f3e9f8}.duplicate{font-size:12px;color:#8f5c00;margin-left:8px}.table-footer{display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted);margin-top:14px}.data-notes{font-size:14px;color:var(--muted);margin-top:28px}.data-notes summary{cursor:pointer;min-height:36px}.data-notes li{margin:8px 0;max-width:100ch}.empty{text-align:center;padding:80px 24px;border:1px solid var(--line);background:white;border-radius:12px}.empty p{margin:12px 0 24px;color:var(--muted)}.empty.compact{padding:30px;border-top:0;border-radius:0}.narrow{max-width:760px;margin:auto}.form-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:28px;margin-bottom:24px}.form-panel h2{margin-bottom:16px}.form-panel>label:first-child{margin-top:0}.form-panel>.primary{margin-top:24px}.form-panel p+ul{margin:20px 0;color:var(--muted);font-size:14px}.admin-grid{display:grid;grid-template-columns:340px 1fr;gap:32px}.admin-grid>div{min-width:0}.admin-grid .form-panel{align-self:start}.admin-grid button{font-size:14px}.admin-grid td{padding:14px}.admin-grid li{overflow-wrap:anywhere}
dialog{border:0;border-radius:12px;padding:0;color:var(--ink);box-shadow:0 18px 65px #102f4940;max-height:90svh;max-width:calc(100vw - 32px)}dialog::backdrop{background:#15344980}dialog header{display:flex;align-items:start;justify-content:space-between;gap:24px;padding:24px;border-bottom:1px solid var(--line)}dialog header p{color:var(--muted);font-size:14px;margin-top:4px}.detail-dialog{width:800px}.detail-body{padding:24px}.detail-body h3{margin:28px 0 14px}.detail-body .muted{font-size:14px;margin-top:14px}.owner-editor>div{display:flex;gap:10px}.owner-editor input{flex:1;width:auto!important;min-width:0}.owner-editor button{flex-shrink:0}.password-dialog{width:460px}.password-dialog form{padding:0 24px 24px}.password-dialog .primary{margin-top:24px}.detail-body #detail-status{font-weight:650}.page{animation:page-in .22s ease-out}@keyframes page-in{from{opacity:.85;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.summary strong{font-size:32px}}
@media(max-width:1100px){.topbar{gap:24px;padding:0 24px}.wordmark span{display:none}main{padding:28px 24px}.summary>div{padding:0 16px}.summary{grid-template-columns:1fr 1fr 1.15fr .65fr}.summary strong{font-size:23px}.admin-grid{grid-template-columns:300px 1fr}.period-bar p{font-size:14px}}
@media(max-width:760px){.topbar{flex-wrap:wrap;gap:0;min-height:0;padding:16px 20px 0}.topbar .wordmark{font-size:26px}.topbar nav{order:3;width:100%;gap:20px;margin-top:12px}.nav{padding:12px 0;font-size:15px}.account{gap:0}.account button{padding:6px 9px;font-size:13px}.page-heading{display:block;margin-bottom:22px}.page-heading h1{font-size:26px}.page-heading p{font-size:14px}.report-select{margin-top:20px;max-width:none}.period-bar{flex-wrap:wrap;gap:10px;padding:16px}.period-bar p{order:3;width:100%;font-size:13px}.unit{font-size:12px}.summary{grid-template-columns:1fr 1fr;padding:0}.summary>div{padding:20px 16px;border-bottom:1px solid var(--line)}.summary>div:nth-child(2){border-right:0}.summary>div:nth-child(n+3){border-bottom:0}.summary strong{font-size:23px}.summary span{font-size:13px}.calculation-note{font-size:13px;margin-bottom:24px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filters .search-field{grid-column:1/-1}.filters>div:last-child{grid-column:1/-1}main{padding:24px 16px}.table-toolbar{gap:8px;flex-wrap:wrap}.table-toolbar>div{gap:4px}.check-label{font-size:14px}.table-footer{display:block}.table-footer span{display:block;margin-top:8px}.admin-grid{display:block}.form-panel{padding:22px}.login-page{grid-template-columns:1fr}.login-brand{min-height:0;padding:28px 24px;gap:28px}.login-brand h1{font-size:30px;margin:0}.login-brand h1 br{display:none}.login-brand p,.login-footer{display:none}.login-brand .wordmark span{display:block}.login-form-wrap{padding:36px 24px;align-items:start}.detail-body,dialog header{padding:20px}dialog header h2{font-size:21px}.detail-dialog th,.detail-dialog td{padding:12px}.owner-editor>div{flex-wrap:wrap}.owner-editor input{width:100%!important}.password-dialog form{padding:0 20px 20px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.sr-only{left:0;top:0}.table-scroll{position:relative}.summary>div{min-width:0}.count-summary strong{white-space:nowrap}.help-inline{font-size:13px;color:var(--muted)}
@media(max-width:1000px) and (min-width:761px){.summary{grid-template-columns:1fr 1fr}.summary>div{padding:14px 24px}.summary>div:nth-child(2){border-right:0}}
@media(max-width:760px){.summary strong{font-size:clamp(18px,5vw,23px)}}
/* Approved HATS sales workspace: persistent systems rail and module navigation. */
body{word-break:keep-all}#app{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:100svh}.app-sidebar{background:#153448;color:white;padding:30px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100svh;overflow:auto}.sidebar-brand{color:white;text-decoration:none;font-size:34px;font-weight:850;letter-spacing:-.03em;padding:0 16px 28px}.sidebar-brand span{display:block;font-size:14px;font-weight:500;letter-spacing:0;color:#c3d5df;margin-top:4px}.sidebar-label{font-size:12px;color:#b8ccd8;margin:8px 16px 14px}.system-menu{display:grid;gap:6px}.system-link{display:flex;align-items:center;gap:12px;background:none;color:#d9e5eb;text-align:left;font-size:14px;font-weight:550;padding:12px 14px;min-height:48px}.system-link svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.system-link.active{background:white;color:#163d56;font-weight:750}.system-link:hover:not(.active){background:#24495e}.sidebar-tools{display:grid;gap:6px;border-top:1px solid #3f5f72;padding-top:16px;margin-top:32px}.sidebar-tools button{background:none;color:#d9e5eb;text-align:left;font-size:14px}.sidebar-tools button:hover{background:#24495e}.app-workspace{min-width:0}.global-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 32px;min-height:79px;background:white;border-bottom:1px solid var(--line)}.global-header>strong{font-size:16px}.global-header .account{flex-shrink:0}.module-header{padding:27px 32px 0;background:white;border-bottom:1px solid var(--line)}.module-header h1{font-size:26px}.module-header>p{font-size:14px;color:var(--muted);margin-top:7px;padding-bottom:22px}.module-header nav{display:flex;gap:28px;overflow:auto}.module-header .nav{padding:0 0 15px;white-space:nowrap;font-size:15px}.module-header nav[hidden]+*{display:none}#menu-toggle{display:none}main{padding:28px 32px 40px}.page-heading h2{font-size:21px}.page-heading p{font-size:13px}.query-bar{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:18px 22px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:22px}.query-bar label{font-size:14px;font-weight:650}.query-unit{margin-left:auto;font-size:13px;color:var(--muted)}.branch-summary{background:white;border:1px solid var(--line);border-radius:8px}.summary-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px 18px}.summary-heading h3{font-size:17px}.summary-heading p{font-size:13px;margin-top:5px}.summary-heading button{font-size:13px;flex-shrink:0}.branch-summary .summary{border:0;border-radius:0 0 8px 8px;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:12px}.summary strong{font-size:clamp(20px,1.8vw,29px)}.calculation-note{font-size:13px;margin-bottom:28px}.problem-heading{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:18px}.problem-heading h3{font-size:18px}.problem-heading span{font-size:13px}.all-customers-dialog{width:1120px}.all-customers-dialog header{position:sticky;top:0;background:white;z-index:1}.all-customers-dialog h2{font-size:22px}.all-customers-dialog .help{max-width:none;margin-top:0}.all-customers-dialog tfoot{font-weight:750;background:#edf2f5}.all-customers-dialog .table-scroll{max-height:60svh}.all-customers-dialog thead{position:sticky;top:0}.all-customers-dialog tfoot{position:sticky;bottom:0}
@media(max-width:1250px){#app{grid-template-columns:228px minmax(0,1fr)}.global-header,.module-header{padding-left:24px;padding-right:24px}.global-header{flex-wrap:wrap;gap:4px}.global-header .account{margin-left:auto}.summary-heading{align-items:start;flex-direction:column;gap:14px}.branch-summary .summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 0}.branch-summary .summary>div:nth-child(2){border-right:0}.admin-grid{display:block}main{padding-left:24px;padding-right:24px}}
@media(max-width:760px){#app{display:block}.app-sidebar{display:none;position:static;height:auto}.menu-open .app-sidebar{display:flex}#menu-toggle{display:block;padding:6px 10px;font-size:13px}.global-header{padding:12px 16px;gap:12px}.global-header>strong{font-size:14px;flex:1}.global-header .account{width:100%;justify-content:flex-end}.module-header{padding:22px 20px 0}.module-header h1{font-size:24px}.module-header nav{gap:22px}.module-header .nav{font-size:14px}.query-bar{padding:16px;gap:12px}.query-bar .month-control{width:100%;justify-content:space-between}.query-bar select{max-width:65%;min-width:150px}.query-unit{margin-left:0}.summary-heading{padding:20px 16px 12px}.summary-heading button{width:100%;font-size:12px}.branch-summary .summary{gap:0;padding:0}.branch-summary .summary strong{font-size:clamp(17px,4.9vw,23px)}.branch-summary .summary span{font-size:12px}.all-customers-dialog h2{font-size:18px}.all-customers-dialog header{gap:10px}.all-customers-dialog .detail-body{padding:16px}.all-customers-dialog header button{flex-shrink:0}main{padding:24px 16px}.sidebar-brand{padding-bottom:12px}}

.sidebar-collapse{position:absolute;right:8px;top:8px;background:transparent;color:#d9e5eb;width:36px;min-height:36px;padding:7px}.sidebar-collapse:hover{background:#24495e}.sidebar-collapse svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.column-sort{display:inline-flex;align-items:center;gap:10px;padding:2px 0;background:transparent;color:inherit;font:inherit;min-height:32px;white-space:nowrap}.column-sort:hover{color:var(--blue);background:transparent}.column-sort svg{width:14px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;opacity:.6}th[aria-sort=ascending] .sort-down,th[aria-sort=descending] .sort-up{display:none}th[aria-sort=ascending] .column-sort,th[aria-sort=descending] .column-sort{color:var(--blue)}
@media(min-width:761px){#app.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar-collapsed .app-sidebar{padding:60px 10px 20px}.sidebar-collapsed .sidebar-brand,.sidebar-collapsed .sidebar-label,.sidebar-collapsed .system-link span,.sidebar-collapsed .sidebar-tools{display:none}.sidebar-collapsed .system-link{justify-content:center;padding:12px}.sidebar-collapsed .sidebar-collapse{right:20px}.sidebar-collapsed .sidebar-collapse svg{transform:rotate(180deg)}}
@media(max-width:760px){.filters{grid-template-columns:1fr 1fr}.filters>div:last-child{grid-column:1/-1}.app-sidebar{position:relative}.sidebar-collapse{right:14px;top:14px}}

