:root{--side: #111113;--side-2: #1b1b1f;--side-line: #2a2a30;--side-text: #e8e8ea;--side-muted: #8d8d95;--bg: #f6f3ec;--surface: #ffffff;--line: #e2ddd2;--text: #1c1c1e;--muted: #6d6a63;--navy: #1c1c1e;--gold: #E4A615;--gold-2: #F4C24A;--gold-soft: rgba(228, 166, 21, .14);--red: #A6110A;--red-soft: rgba(166, 17, 10, .09);--green: #1f8a5b;--green-soft: rgba(31, 138, 91, .12);--radius: 12px;--shadow: 0 1px 2px rgba(0,0,0,.05), 0 8px 24px rgba(0,0,0,.05)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Ubuntu,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{color:var(--text);font-weight:700;letter-spacing:-.01em}h2{font-size:24px;margin:0 0 6px}h3{font-size:16px}p{color:var(--muted)}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:232px;flex:0 0 232px;background:var(--side);color:var(--side-text);border-right:1px solid #000;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:18px 16px 16px;border-bottom:1px solid var(--side-line)}.brand-logo{width:40px;height:auto;flex:0 0 auto;filter:drop-shadow(0 3px 8px rgba(0,0,0,.5))}.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand-title{font-size:19px;font-weight:800;color:var(--gold);letter-spacing:.5px}.brand-sub{font-size:9.5px;font-weight:600;color:var(--side-muted);letter-spacing:1.1px;margin-top:3px;white-space:nowrap}.sidebar nav{display:flex;flex-direction:column;padding:10px 0}.sidebar nav a{display:block;padding:11px 18px;color:var(--side-muted);font-size:14.5px;font-weight:500;cursor:pointer;border-left:3px solid transparent;transition:background .13s,color .13s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar nav a:hover{background:var(--side-2);color:var(--side-text)}.sidebar nav a.active{background:var(--gold-soft);color:var(--gold-2);border-left-color:var(--gold);font-weight:700}.side-foot{margin-top:auto;padding:14px 16px 16px;border-top:1px solid var(--side-line);display:flex;flex-direction:column;gap:10px}.view-switch{display:flex;gap:4px}.view-switch button{width:30px;height:28px;padding:4px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--side-muted);cursor:pointer;transition:.13s}.view-switch button svg{width:17px;height:17px}.view-switch button:hover{color:var(--side-text);background:var(--side-2)}.view-switch button.active{color:var(--gold-2);background:var(--gold-soft);border-color:#e4a61559}.side-link{font-size:12.5px;color:var(--side-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;width:fit-content}.side-link:hover{color:var(--gold-2)}.side-link.is-on{color:#6fce9f;cursor:default;text-decoration:none}.side-link.is-off{color:#d98b85;cursor:default;text-decoration:none}.main{flex:1 1 auto;padding:30px 34px 60px;max-width:1180px;width:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}.card h3{margin-top:0}label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:5px}input,select,textarea{width:100%;padding:9px 11px;background:var(--surface);color:var(--text);border:1px solid #cfc9bb;border-radius:9px;font-size:14px;font-family:inherit;outline:none;transition:border-color .13s,box-shadow .13s}input::placeholder,textarea::placeholder{color:#a8a49a}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}select{cursor:pointer}.filters,.row-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:22px}.filters:last-child,.row-form:last-child{margin-bottom:0}.filters .f,.row-form .f{flex:1 1 180px;min-width:150px}.filters .actions,.row-form .actions{display:flex;gap:10px;flex-wrap:wrap;flex:1 1 100%;margin-top:2px;padding-top:14px;border-top:1px solid var(--line)}.filters>.btn-primary,.filters>.btn-ghost,.row-form>.btn-primary,.row-form>.btn-ghost{flex:0 0 auto}button{font-family:inherit}.btn-primary,.btn-ghost{padding:9px 16px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:.13s;white-space:nowrap}.btn-primary{background:#1c1c1e;color:#fff}.btn-primary:hover{background:#333338}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:var(--surface);color:var(--text);border-color:#cfc9bb}.btn-ghost:hover{background:#f0ece3;border-color:#b9b2a2}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}td .btn-primary,td .btn-ghost{padding:5px 11px;font-size:13px;margin-right:6px}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:11px 12px;border-bottom:1px solid var(--line);background:#faf8f4;white-space:nowrap}tbody td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:hover td{background:#faf8f4}tbody tr:last-child td{border-bottom:none}td input,td select{padding:6px 8px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;color:var(--muted);font-size:13px;flex-wrap:wrap}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:8px;animation:pulse 1.8s infinite}@keyframes pulse{0%{box-shadow:0 0 #1f8a5b73}70%{box-shadow:0 0 0 7px #1f8a5b00}to{box-shadow:0 0 #1f8a5b00}}.empty{padding:34px 20px;text-align:center;color:var(--muted);font-size:14px;border:1px dashed var(--line);border-radius:var(--radius);background:#faf8f4}.err{background:var(--red-soft);border:1px solid rgba(166,17,10,.28);color:#8c1610;padding:10px 13px;border-radius:9px;margin-bottom:14px;font-size:14px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent}.badge.ok{background:var(--green-soft);color:#146b45;border-color:#1f8a5b4d}.badge.warn{background:var(--red-soft);color:#8c1610;border-color:#a6110a47}tbody tr.row-overdue td{background:var(--red-soft)}tbody tr.row-overdue:hover td{background:#a6110a24}.hint-note{color:var(--muted);font-size:12px}.checkout-toggle{display:flex;align-items:flex-start;gap:9px;margin:14px 0 4px;padding:11px 13px;background:#faf8f4;border:1px solid var(--line);border-radius:10px;font-size:13.5px;font-weight:400;color:var(--text);text-transform:none;letter-spacing:0;cursor:pointer}.checkout-toggle input{width:auto;margin-top:2px;flex:0 0 auto;cursor:pointer}.checkout-toggle span{line-height:1.45}.note-box{margin:10px 0;padding:10px 13px;border-left:3px solid var(--gold);background:var(--gold-soft);border-radius:0 8px 8px 0;font-size:13px;color:var(--text);line-height:1.5}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(900px 500px at 50% -20%,rgba(228,166,21,.1),transparent 60%),var(--side)}.login-card{width:100%;max-width:380px;background:#17171b;border:1px solid var(--side-line);border-radius:16px;padding:34px 28px;box-shadow:0 20px 50px #00000080;text-align:center;color:var(--side-text)}.login-card:before{content:"";display:block;width:104px;height:127px;margin:0 auto 16px;background:url(/icons/logo-bh.png) center / contain no-repeat;filter:drop-shadow(0 8px 20px rgba(0,0,0,.6))}.login-card h1{font-size:21px;margin:0 0 4px;color:var(--side-text)}.login-card p{margin:0 0 20px;color:var(--side-muted)}.login-card input{margin-bottom:12px;text-align:left;background:#1f1f24;color:var(--side-text);border-color:#34343c}.login-card input::placeholder{color:#7a7a83}.login-card .btn-primary{width:100%;margin-top:4px;padding:12px;background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#1a1305;font-weight:700}.login-card .btn-primary:hover{filter:brightness(1.06);background:linear-gradient(180deg,var(--gold-2),var(--gold))}.login-card .err{text-align:left;background:#a6110a2e;border-color:#a6110a80;color:#ff9b93}.app.view-mobile{flex-direction:column}.app.view-mobile .sidebar{width:100%;flex:none;height:auto;position:sticky;top:0;z-index:40;border-right:none;border-bottom:1px solid #000}.app.view-mobile .brand{padding:11px 13px;border-bottom:none}.app.view-mobile .brand-logo{width:30px}.app.view-mobile .brand-title{font-size:16px}.app.view-mobile .brand-sub{font-size:8.5px}.app.view-mobile nav{flex-direction:row;overflow-x:auto;padding:0 8px 6px;gap:4px;-webkit-overflow-scrolling:touch}.app.view-mobile nav a{padding:8px 12px;font-size:13.5px;border-left:none;border-bottom:2px solid transparent;border-radius:7px}.app.view-mobile nav a.active{border-left:none;border-bottom-color:var(--gold)}.app.view-mobile .side-foot{flex-direction:row;align-items:center;gap:14px;padding:9px 13px;flex-wrap:wrap}.app.view-mobile .main{padding:18px 14px 44px;max-width:none}.app.view-mobile h2{font-size:20px}.app.view-mobile .card{padding:15px}.app.view-mobile .filters .f,.app.view-mobile .row-form .f,.app.view-mobile .filters .btn-primary,.app.view-mobile .filters .btn-ghost,.app.view-mobile .row-form .btn-primary,.app.view-mobile .row-form .btn-ghost{flex:1 1 100%}.app.view-mobile .filters .actions,.app.view-mobile .row-form .actions{padding-top:12px}.app.view-mobile .filters,.app.view-mobile .row-form{margin-bottom:16px}.app.view-mobile .card table{display:block;overflow-x:auto;white-space:nowrap}@media (max-width: 820px){.app.view-auto{flex-direction:column}.app.view-auto .sidebar{width:100%;flex:none;height:auto;position:sticky;top:0;z-index:40;border-right:none;border-bottom:1px solid #000}.app.view-auto .brand{padding:11px 13px;border-bottom:none}.app.view-auto .brand-logo{width:30px}.app.view-auto .brand-title{font-size:16px}.app.view-auto .brand-sub{font-size:8.5px}.app.view-auto nav{flex-direction:row;overflow-x:auto;padding:0 8px 6px;gap:4px;-webkit-overflow-scrolling:touch}.app.view-auto nav a{padding:8px 12px;font-size:13.5px;border-left:none;border-bottom:2px solid transparent;border-radius:7px}.app.view-auto nav a.active{border-left:none;border-bottom-color:var(--gold)}.app.view-auto .side-foot{flex-direction:row;align-items:center;gap:14px;padding:9px 13px;flex-wrap:wrap}.app.view-auto .main{padding:18px 14px 44px;max-width:none}.app.view-auto h2{font-size:20px}.app.view-auto .card{padding:15px}.app.view-auto .filters .f,.app.view-auto .row-form .f,.app.view-auto .filters .btn-primary,.app.view-auto .filters .btn-ghost,.app.view-auto .row-form .btn-primary,.app.view-auto .row-form .btn-ghost{flex:1 1 100%}.app.view-auto .filters .actions,.app.view-auto .row-form .actions{padding-top:12px}.app.view-auto .filters,.app.view-auto .row-form{margin-bottom:16px}.app.view-auto .card table{display:block;overflow-x:auto;white-space:nowrap}}.app.view-tablet .sidebar{width:196px;flex-basis:196px}.app.view-tablet .brand-sub{font-size:8.5px;letter-spacing:.8px}.app.view-tablet nav a{font-size:13.5px;padding:10px 15px}.app.view-tablet .main{padding:24px 22px 50px}.app.view-tablet .card table{display:block;overflow-x:auto;white-space:nowrap}@media (min-width: 821px) and (max-width: 1120px){.app.view-auto .sidebar{width:196px;flex-basis:196px}.app.view-auto .brand-sub{font-size:8.5px;letter-spacing:.8px}.app.view-auto nav a{font-size:13.5px;padding:10px 15px}.app.view-auto .main{padding:24px 22px 50px}.app.view-auto .card table{display:block;overflow-x:auto;white-space:nowrap}}.app.view-desktop{min-width:1000px}
