:root{--ink: #1b241c;--muted: #5c685d;--paper: #f4efe2;--paper-2: #fffdf6;--line: #c9c0a8;--teal: #1f6b5a;--teal-dark: #15463b;--gold: #d4a017;--gold-deep: #b45309;--navy: #243447;--menu: #e7e3d6;--danger: #9b1c1c;--ok: #166534;--shadow: 0 10px 30px rgba(20, 40, 30, .16);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--ink);background:#d7dece}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--teal-dark)}.app-root{height:100%;display:flex;flex-direction:column}.welcome{min-height:100%;display:grid;place-items:center;padding:32px 16px;background:radial-gradient(circle at 20% 10%,#f7e7b0 0,transparent 28%),linear-gradient(180deg,#1f6b5a,#243447 55%,#15463b)}.welcome-card{width:min(980px,100%);background:var(--paper-2);border:2px solid #2d4a38;box-shadow:var(--shadow);display:grid;grid-template-columns:1.1fr .9fr}.welcome-brand{padding:36px 32px;background:#f8f1d8;border-right:1px solid var(--line)}.welcome-brand h1{margin:8px 0 0;font-size:42px;letter-spacing:.04em;color:#1e4d38}.welcome-brand .product{color:var(--gold-deep);font-weight:800;letter-spacing:.18em;font-size:13px}.welcome-brand p{color:var(--muted);line-height:1.5}.welcome-actions{padding:28px 24px;display:flex;flex-direction:column;gap:12px}.welcome-actions h2{margin:0 0 4px;font-size:18px}.loading-card{display:block;padding:36px 32px;max-width:480px}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.auth-form input{border:1px solid #8d8670;padding:7px 8px;background:#fff}.auth-error{color:var(--danger);font-size:13px;line-height:1.4}.auth-notice{color:#215c2a;background:#e7f3e8;border:1px solid #9cc5a4;padding:10px 12px;font-size:13px;line-height:1.45}.welcome-user{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.status-error{color:var(--danger)}.btn-microsoft{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;background:#fff}.auth-hint{margin:0;font-size:12px;color:var(--muted);line-height:1.4}.auth-or{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.auth-or:before,.auth-or:after{content:"";flex:1;border-top:1px solid var(--line)}.company-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}.company-row,.btn,.btn-ghost,.btn-gold{border:1px solid #8d8670;background:linear-gradient(#fff,#efe8d2);padding:8px 12px;text-align:left}.btn{font-weight:650}.btn-primary{background:linear-gradient(#2d8a72,#1f6b5a);color:#fff;border-color:#15463b}.btn-gold{background:linear-gradient(#f3c14b,#d4a017);font-weight:700}.btn-ghost{background:transparent}.company-row:hover,.btn:hover{filter:brightness(1.04)}.sample-mark{margin-top:18px;border:1px solid #c9b27a;background:#fff;padding:10px;display:flex;gap:12px;align-items:center}.sample-mark strong{display:block;color:#1e4d38;letter-spacing:.08em}.sample-mark span{color:var(--gold-deep);font-weight:800;letter-spacing:.12em}.shell{height:100%;display:flex;flex-direction:column;background:#cfd6c4}.menubar,.toolbar,.statusbar{display:flex;align-items:center;gap:2px;background:var(--menu);border-bottom:1px solid #b7b09a}.menubar{padding:0 6px;min-height:26px}.menu{position:relative;padding:4px 10px;font-size:13px}.menu:hover,.menu.open{background:#1f6b5a;color:#fff}.menu-panel{position:absolute;top:100%;left:0;z-index:20;min-width:220px;background:#fff;border:1px solid #7d7866;box-shadow:2px 4px 10px #0003;color:var(--ink)}.menu-panel button,.menu-panel .sep{display:block;width:100%;text-align:left;border:0;background:none;padding:6px 16px;font-size:13px}.menu-panel button:hover{background:#1f6b5a;color:#fff}.menu-panel .sep{border-top:1px solid #ddd;height:0;padding:0;margin:4px 0}.toolbar{padding:4px 8px;gap:6px;flex-wrap:wrap}.tool{width:64px;min-height:52px;border:1px solid transparent;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:#333}.tool:hover{border-color:#8d8670;background:#fff8dc}.tool svg{width:22px;height:22px}.statusbar{margin-top:auto;min-height:24px;padding:0 10px;font-size:12px;justify-content:space-between;border-top:1px solid #b7b09a;border-bottom:0}.workspace{flex:1;overflow:auto;padding:12px}.navigator{display:grid;grid-template-columns:220px 1fr 260px;gap:12px;min-height:calc(100vh - 140px)}.nav-side,.nav-main,.nav-snap{background:var(--paper-2);border:1px solid #8f8870;box-shadow:var(--shadow)}.nav-side{background:linear-gradient(#245c4e,#1a4339);color:#f4efe2;padding:16px}.nav-side h2{margin:0 0 8px;font-size:20px}.nav-side p{color:#d7e8e1;font-size:13px}.nav-side button{width:100%;margin-top:8px;background:#f3c14b;border:1px solid #8a6a12;font-weight:700}.nav-main{padding:12px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.flow-col h3{margin:0 0 8px;background:var(--teal);color:#fff;padding:6px 8px;font-size:14px}.flow-col button{width:100%;margin-bottom:6px;background:#fff8dc;border:1px solid #c9b27a;padding:8px 6px;font-size:12px}.flow-col button:hover{background:#ffe08a}.nav-snap{padding:14px}.nav-snap h3{margin:0 0 10px;color:var(--teal-dark)}.snap-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dotted var(--line);font-size:13px}.snap-row b{color:var(--teal-dark)}.window{background:var(--paper-2);border:1px solid #6f6a56;box-shadow:var(--shadow);min-height:100%;display:flex;flex-direction:column}.window-title{background:linear-gradient(#2d8a72,#1f6b5a);color:#fff;padding:6px 10px;font-weight:700;display:flex;justify-content:space-between}.window-body{padding:12px}.form-grid{display:grid;grid-template-columns:160px 1fr 160px 1fr;gap:8px 10px;align-items:center}.form-grid label{font-size:13px;color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea,.field input,.field select{width:100%;border:1px solid #8d8670;padding:5px 6px;background:#fff}.lines{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}.lines th{background:#e7efe8;border:1px solid var(--line);padding:5px;text-align:left}.lines td{border:1px solid var(--line);padding:2px}.lines input,.lines select{width:100%;border:0;padding:4px;background:transparent}.lines tfoot td{font-weight:700;background:#f8f1d8}.num{text-align:right;font-variant-numeric:tabular-nums}.toolbar-form{display:flex;gap:8px;margin-top:12px}.list-page{display:grid;grid-template-columns:1fr 320px;gap:12px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{border-bottom:1px solid #e2dcc8;padding:6px 8px;text-align:left}.table th{background:#e7efe8;position:sticky;top:0}.table tr:hover{background:#fff8dc}.table tr.selected{background:#d9efe6}.indent{padding-left:22px}.panel{background:var(--paper);border:1px solid var(--line);padding:12px}.panel h3{margin:0 0 8px}.filters{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.report{max-width:920px;margin:0 auto;background:#fff;padding:24px;border:1px solid #bbb}.report h1{margin:0;text-align:center;font-size:20px}.report h2{margin:4px 0 16px;text-align:center;font-size:14px;font-weight:500;color:var(--muted)}.report table{width:100%;border-collapse:collapse}.report td,.report th{padding:4px 0}.report .section{font-weight:800;padding-top:12px;border-bottom:1px solid #111}.report .total{border-top:1px solid #111;font-weight:800}.report .grand{border-top:3px double #111;font-weight:800}.child{padding-left:18px}.help{max-width:760px;line-height:1.55}.help h2{color:var(--teal-dark)}kbd{background:#eee;border:1px solid #bbb;padding:0 5px;border-radius:3px}.setup{width:min(640px,100%);background:var(--paper-2);border:2px solid #2d4a38;padding:24px;box-shadow:var(--shadow)}.setup h1{margin-top:0}.steps{display:flex;gap:6px;margin-bottom:16px}.steps span{flex:1;text-align:center;padding:6px;background:#e7efe8;font-size:12px}.steps span.on{background:var(--teal);color:#fff}.badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:11px;background:#e7efe8}.badge.paid{background:#dcfce7;color:var(--ok)}.badge.open{background:#fef3c7;color:#92400e}.badge.void{background:#fee2e2;color:var(--danger)}@media(max-width:980px){.welcome-card,.navigator,.list-page,.form-grid{grid-template-columns:1fr}.nav-main{grid-template-columns:1fr 1fr}}
