:root{--bc-primary:#0c3c60;--bc-primary-light:#1a5a8a;--bc-bg:#f7f9fb;--bc-surface:#fff;--bc-text:#1c2733;--bc-text-muted:#5a6b7b;--bc-success:#1d7a4f;--bc-warning:#b7791f;--bc-error:#b3261e;--bc-radius:8px;--bc-font:"Segoe UI", system-ui, sans-serif}.bc-shell{background:var(--bc-bg);min-height:100vh;font-family:var(--bc-font);flex-direction:column;display:flex}.bc-shell-header{background:var(--bc-primary);color:#fff;flex-wrap:wrap;align-items:center;gap:24px;padding:10px 20px;display:flex}.bc-shell-brand{align-items:center;gap:14px;display:flex}.bc-shell-logo{letter-spacing:.4px;border-radius:var(--bc-radius);border:1.5px solid #ffffffa6;padding:4px 10px;font-size:15px;font-weight:700}.bc-shell-app{flex-direction:column;line-height:1.25;display:flex}.bc-shell-app strong{font-size:16px}.bc-shell-subtitle{color:#ffffffbf;font-size:12px}.bc-shell-nav{flex:1;gap:4px;min-width:0;display:flex}.bc-shell-nav a{border-radius:var(--bc-radius);color:#ffffffe6;padding:7px 13px;text-decoration:none}.bc-shell-nav a.active{color:var(--bc-primary);background:#fff;font-weight:600}.bc-shell-nav a:hover:not(.active){background:var(--bc-primary-light);text-decoration:none}.bc-shell-right{align-items:center;gap:18px;margin-left:auto;display:flex}.bc-shell-switcher{gap:2px;font-size:13px;display:flex}.bc-shell-switcher a{border-radius:var(--bc-radius);color:#ffffffbf;padding:5px 10px;text-decoration:none}.bc-shell-switcher a.active{color:#fff;text-underline-offset:4px;font-weight:600;text-decoration:underline}.bc-shell-switcher a:hover:not(.active){background:var(--bc-primary-light);text-decoration:none}.bc-shell-user{align-items:center;gap:10px;font-size:13px;display:flex}.bc-shell-user span{color:#ffffffd9}.bc-shell-user button{font:inherit;border-radius:var(--bc-radius);color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff80;padding:5px 11px}.bc-shell-user button:hover{background:var(--bc-primary-light)}.bc-shell-body{flex:1;align-items:stretch;min-height:0;display:flex}.bc-shell-sidebar{box-sizing:border-box;background:var(--bc-primary);color:#c9d2e3;flex-direction:column;flex:0 0 220px;gap:4px;width:220px;padding:18px 12px;display:flex;overflow-y:auto}.bc-shell-sidebar a{color:#c9d2e3;border-radius:6px;justify-content:space-between;align-items:center;padding:9px 12px;text-decoration:none;display:flex}.bc-shell-sidebar a:hover:not(.active){background:var(--bc-primary-light);color:#fff;text-decoration:none}.bc-shell-sidebar a.active{color:var(--bc-primary);background:#fff;font-weight:600}@media (width<=760px){.bc-shell-body{flex-direction:column}.bc-shell-sidebar{flex-flow:wrap;flex:none;width:auto;padding:8px 10px}}.bc-shell-main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:18px 16px 40px}.bc-shell-main--full{flex-direction:column;max-width:none;margin:0;padding:0;display:flex}.bc-shell-main--full>*{flex:1}:root{--bg:var(--bc-bg);--panel:var(--bc-surface);--text:var(--bc-text);--muted:var(--bc-text-muted);--border:#dde2e8;--accent:var(--bc-primary);--accent-dark:var(--bc-primary-light);--ok:var(--bc-success);--warn:var(--bc-warning);--fail:var(--bc-error)}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}button{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:6px;padding:5px 11px}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.5;cursor:default}input{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:5px 8px}input:focus,button:focus-visible{outline-offset:0;outline:2px solid #9db8f5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h2{margin:0 0 4px;font-size:18px}.head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.total{color:var(--accent);font-size:30px;font-weight:700;line-height:1.1}.banner{border-left:4px solid var(--border);background:var(--panel);border-radius:6px;margin:0 0 14px;padding:9px 12px}.banner.warn{border-left-color:var(--warn);background:#fffaf0}.banner.fail{border-left-color:var(--fail);background:#fef4f3}table.grid{border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:8px;width:100%;overflow:hidden}table.grid th,table.grid td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px}table.grid thead th{white-space:nowrap;background:#eef1f5;font-weight:600}table.grid tfoot th{background:#eef1f5;font-weight:700}tr.row{cursor:pointer}tr.row:hover{background:#f2f6fd}tr.detail>td{background:#fafbfc;padding:12px 16px}tr.inactive{opacity:.55}table.sub{border-collapse:collapse;width:100%;margin-top:10px}table.sub th,table.sub td{border-bottom:1px solid var(--border);text-align:left;padding:5px 8px}table.sub thead th{color:var(--muted);white-space:nowrap;font-weight:600}.num{text-align:right}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.nowrap{white-space:nowrap}.center{text-align:center}.mono{font-family:ui-monospace,Consolas,monospace}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--fail)}.actions{white-space:nowrap}.actions button{margin:0 4px 0 0;font-size:13px}input.inline{background:0 0;border-color:#0000;width:100%;min-width:120px}input.inline:hover,input.inline:focus{border-color:var(--border);background:var(--panel)}.reference{background:var(--panel);border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.reference .mono{word-break:break-all}.warnmark{background:var(--warn);color:#fff;text-align:center;cursor:help;border-radius:50%;width:18px;height:18px;margin-right:6px;font-size:12px;font-weight:700;line-height:18px;display:inline-block}ul.warnings{color:var(--warn);margin:10px 0 0;padding-left:18px}ul.warnings li{margin-bottom:3px}.badge{white-space:nowrap;color:#4b5563;background:#e5e7eb;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.badge.unconfirmed,.badge.unclear{color:var(--warn);background:#fef0c7}.company-paid{margin-top:12px}.company-paid summary{cursor:pointer}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.card.ok{border-left:4px solid var(--ok)}.card.warn{border-left:4px solid var(--warn)}.card h3{margin:0 0 10px;font-size:15px}.card p{margin:0 0 8px}.card dl{margin:0}.dl-row{border-bottom:1px dashed var(--border);justify-content:space-between;gap:12px;padding:3px 0;display:flex}.dl-row dt{color:var(--muted);margin:0}.dl-row dd{text-align:right;margin:0;font-weight:600}.card.placeholder{border-left:4px solid var(--border);max-width:760px;margin-top:22px}.add-form{margin-bottom:16px}.form-row{flex-wrap:wrap;gap:8px;margin:10px 0 0;display:flex}.form-row input{min-width:200px}.login-wrap{justify-content:center;align-items:center;min-height:100vh;display:flex}.login{flex-direction:column;gap:12px;width:340px;padding:28px;display:flex}.login h1{margin:0;font-size:22px}.login p{margin:0}.login label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.login button{background:var(--accent);border-color:var(--accent);color:#fff;padding:8px}.login button:hover:not(:disabled){background:var(--accent-dark);color:#fff}.login form{flex-direction:column;gap:12px;display:flex}.login .center{text-align:center}.google-login{text-align:center;background:var(--accent);color:#fff;border-radius:6px;padding:9px;font-weight:600;display:block}.google-login:hover{background:var(--accent-dark);text-decoration:none}.breakglass summary{cursor:pointer}.breakglass form{margin-top:10px}.breakglass button{background:var(--warn);border-color:var(--warn)}
