*{box-sizing:border-box}body{color:#1a1a1a;background:#f4f5f7;margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:#0b5fff}h1{margin-top:0;font-size:1.5rem}h2{font-size:1.1rem}h3{color:#444;font-size:.95rem}.muted{color:#666}.sample-banner{z-index:50;color:#fff;text-align:center;letter-spacing:.04em;background:repeating-linear-gradient(135deg,#b54708,#b54708 14px,#c4540c 14px 28px);padding:.35rem 1rem;font-size:.85rem;font-weight:700;position:sticky;top:0}.sample-banner.down{background:#b42318}.sample-panel{background:#fff7ed;border-left:4px solid #c4540c}.sample-panel-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sample-panel button{background:#c4540c}.sample-panel p{margin:.5rem 0 0}.row-highlight td{background:#fff7ed}.sample-safety{background:#ecfdf3;border-left:4px solid #12b76a}.log{white-space:pre-wrap;background:#f9fafb;border:1px solid #eee;border-radius:6px;max-height:320px;padding:.75rem;font-size:.8rem;overflow:auto}.button-link{color:#fff;background:#0b5fff;border-radius:6px;padding:.55rem 1rem;text-decoration:none;display:inline-block}.sample-person select{background:#fff7ed;border-color:#f5b27a}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;background:#101828;flex-direction:column;flex-shrink:0;width:220px;padding:1.5rem 1rem;display:flex}.sidebar .brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:0 .25rem 1.25rem;display:flex}.brand-logo{filter:invert();opacity:.92;flex-shrink:0;width:auto;height:42px}.brand-name{letter-spacing:.02em;color:#f8fafc;white-space:nowrap;font-family:Georgia,Times New Roman,Noto Serif TC,serif;font-size:1.15rem;font-weight:600;line-height:1.2}.brand-sub{letter-spacing:.16em;text-transform:uppercase;color:#98a2b3;margin-top:.2rem;font-size:.68rem;font-weight:500}.brand-version{letter-spacing:.08em;border:1px solid #98a2b380;border-radius:3px;margin-left:.3rem;padding:0 .3rem}.auth-logo{height:64px;margin:0 auto .9rem;display:block}.auth-card h1{letter-spacing:.02em;text-align:center;color:#101828;font-family:Georgia,Times New Roman,Noto Serif TC,serif;font-weight:600}.auth-sub{text-align:center;letter-spacing:.16em;text-transform:uppercase;color:#667085;margin-bottom:1.5rem;font-size:.72rem}.sidebar nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.sidebar nav a{color:#cbd2e0;border-radius:6px;justify-content:space-between;align-items:center;padding:.45rem .75rem .45rem 1rem;font-size:.92rem;text-decoration:none;display:flex}.nav-section{flex-direction:column;gap:.15rem;margin-bottom:.6rem;display:flex}.nav-section-title{background:color-mix(in srgb, var(--accent) 12%, transparent);border-left:3px solid var(--accent);width:100%;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;border-radius:6px;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-size:.72rem;font-weight:700;display:flex}.nav-section-title:hover,.nav-section.open .nav-section-title{background:color-mix(in srgb, var(--accent) 22%, transparent)}.nav-chevron{font-size:.8rem}.nav-section a{border-left:2px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:0 6px 6px 0;margin-left:.6rem}.sidebar nav .nav-section a.active{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent)}.nav-count{color:#101828;background:#f79009;border-radius:999px;padding:0 .45rem;font-size:.72rem;font-weight:700}.sidebar nav a.active,.sidebar nav a:hover{color:#fff;background:#1d2939}.signed-in{color:#98a2b3;margin:.75rem 0 .4rem;font-size:.8rem}.logout-btn{color:#cbd2e0;cursor:pointer;background:0 0;border:1px solid #333;border-radius:6px;padding:.5rem}.content{flex:1;max-width:1100px;padding:2rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.card-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.card{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.card-number{font-size:2rem;font-weight:700}.card-label{color:#555;margin-bottom:.5rem}.panel{background:#fff;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #00000014}.panel-header{justify-content:space-between;align-items:center;display:flex}.panel.success{border-left:4px solid #16a34a}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.form-field{flex-direction:column;gap:.25rem;display:flex}.form-field label{color:#444;font-size:.85rem;font-weight:600}input,select,button{font:inherit}input,select{border:1px solid #d0d5dd;border-radius:6px;padding:.5rem .6rem}button{color:#fff;cursor:pointer;background:#0b5fff;border:none;border-radius:6px;padding:.55rem 1rem}button:disabled{opacity:.6;cursor:default}button.danger{background:#dc2626}.table{border-collapse:collapse;background:#fff;border-radius:10px;width:100%;overflow:hidden;box-shadow:0 1px 3px #00000014}.table th,.table td{text-align:left;border-bottom:1px solid #eee;padding:.65rem .85rem}.table.compact th,.table.compact td{vertical-align:middle;padding:.3rem .6rem;font-size:.9rem}.table.compact select{padding:.25rem .4rem}.table.compact button{padding:.3rem .7rem;font-size:.85rem}.nowrap{white-space:nowrap}.error-text{color:#b42318}.table th{color:#444;background:#f9fafb;font-size:.85rem}.clickable-row{cursor:pointer}.dissolved-row td{color:#98a2b3}.dissolved-first td{border-top:2px solid #d0d5dd}.clickable-row:hover{background:#f5f8ff}.error{color:#b91c1c;background:#fef2f2;border-radius:6px;margin-bottom:1rem;padding:.6rem .8rem}.auth-screen{background:#101828;justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:#fff;border-radius:12px;flex-direction:column;gap:.6rem;width:320px;padding:2.5rem;display:flex}.auth-card h1{margin-bottom:.5rem;font-size:1.2rem}.pdf-preview-wrap{max-height:800px;overflow:auto}code{background:#f1f1f1;border-radius:4px;padding:.1rem .3rem;font-size:.85em}.gap-list{margin:0;padding-left:1.1rem;font-size:.85rem}.person-picker{position:relative}.person-picker input{width:100%}.person-picker-list{z-index:10;background:#fff;border:1px solid #ccc;border-radius:4px;max-height:22rem;margin:2px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001f}.person-picker-list li{cursor:pointer;padding:.4rem .6rem;font-size:.9rem}.person-picker-list li:hover{background:#eef3fb}.badge-dissolved{color:#b42318;vertical-align:middle;background:#fde8e8;border-radius:4px;margin-left:10px;padding:2px 8px;font-size:14px}.table tr.bulk-first td{border-top:2px solid #d0d5dd}.audit-table td{vertical-align:top}.audit-table tr.audit-create td:first-child{border-left:4px solid #12b76a}.audit-table tr.audit-update td:first-child{border-left:4px solid #0b5fff}.audit-table tr.audit-delete td:first-child{border-left:4px solid #d92d20}.audit-table .muted{font-size:.8rem}button.secondary{color:#1d2939;background:#eef2ff;margin:0 .25rem .25rem 0}.link-button{color:#0b5fff;text-align:left;background:0 0;padding:.2rem 0}.pick-list{border:1px solid #d0d5dd;border-radius:6px;max-height:280px;margin:.25rem 0 .75rem;padding:.25rem .75rem;list-style:none;overflow:auto}.invoice-detail{background:#f9fafb}.invoice-detail h3{margin:.5rem 0 .25rem}.invoice-detail .table{background:#fff}.row-void td{color:#98a2b3;text-decoration:line-through}.row-void td:last-child{text-decoration:none}textarea{font:inherit;box-sizing:border-box;border:1px solid #d0d5dd;border-radius:6px;padding:.5rem .6rem}
