:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}:root{--bg-page:#f7f5f2;--bg-card:#fff;--bg-header:#706560;--text-primary:#1a202c;--text-secondary:#4a5568;--text-inverse:#fff;--border:#e2e8f0;--border-focus:#f09328;--accent:#f09328;--accent-hover:#d4801a;--danger:#c53030;--danger-hover:#9b2c2c;--radius:8px;--shadow:0 1px 3px #00000014;--shadow-md:0 4px 12px #00000014}*{box-sizing:border-box}body{min-height:100vh;color:var(--text-primary);background:var(--bg-page);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:15px;line-height:1.5}.login-page{background:var(--bg-header);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-logo{object-fit:contain;height:56px;margin-bottom:24px;display:block}.login-card{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:360px;box-shadow:var(--shadow-md);border-radius:12px;padding:32px}.login-card h1{color:var(--text-primary);margin:0 0 8px;font-size:1.5rem;font-weight:600}.login-card .subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:.9rem}.login-card label{color:var(--text-primary);margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.login-card input{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;margin-bottom:16px;padding:10px 12px;font-size:1rem}.login-card input:focus{outline:2px solid var(--border-focus);outline-offset:0;border-color:var(--border-focus)}.login-card .error{color:var(--danger);background:#fff5f5;border-radius:6px;margin-bottom:16px;padding:10px 12px;font-size:.875rem}.login-card .btn-primary{width:100%;color:var(--text-inverse);background:var(--accent);cursor:pointer;border:none;border-radius:6px;padding:12px;font-size:1rem;font-weight:500}.login-card .btn-primary:hover{background:var(--accent-hover)}.dashboard{min-height:100vh;padding:0}.dashboard-header{background:var(--bg-header);color:var(--text-inverse);box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.dashboard-header h1{margin:0;font-size:1.25rem;font-weight:600}.dashboard-header .header-actions{align-items:center;gap:20px;display:flex}.dashboard-header .header-actions span{opacity:.95;font-size:.875rem}.dashboard-header .header-actions a{color:#90cdf4;font-size:.875rem;text-decoration:none}.dashboard-header .header-actions a:hover{text-decoration:underline}.dashboard-header .btn-logout{color:var(--text-inverse);cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;padding:8px 16px;font-size:.875rem}.dashboard-header .btn-logout:hover{background:#ffffff40}.dashboard-main{max-width:1280px;margin:0 auto;padding:24px}.search-section{margin-bottom:24px}.search-section label{color:var(--text-primary);margin-bottom:8px;font-size:.875rem;font-weight:500;display:block}.search-input{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;max-width:420px;padding:12px 14px;font-size:1rem}.search-input:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #3182ce33}.search-loading{color:var(--text-secondary);margin-left:12px;font-size:.875rem}.suggestions-dropdown{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-md);z-index:50;border-radius:6px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;overflow:auto}.suggestions-dropdown button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;border:none;border-bottom:1px solid var(--border);background:0 0;padding:12px 14px;font-size:.9375rem;display:block}.suggestions-dropdown button:last-child{border-bottom:none}.suggestions-dropdown button:hover{background:#edf2f7}.suggestions-dropdown strong{color:var(--accent);margin-right:8px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;padding:20px}.card h2{color:var(--text-primary);margin:0 0 12px;font-size:1.125rem;font-weight:600}.card-actions{margin-top:16px}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:10px 18px;font-size:.9375rem;font-weight:500}.btn-primary{color:var(--text-inverse);background:var(--accent);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{color:var(--text-primary);border-color:var(--border);background:#fff}.btn-secondary:hover{background:#f7fafc;border-color:#cbd5e0}.btn-danger{color:#fff;background:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.btn-sm{margin-right:8px;padding:6px 12px;font-size:.875rem}.agreement-block{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:fit-content;max-width:100%;margin-bottom:28px;display:inline-block;overflow:hidden}.agreement-header{color:var(--text-primary);border-bottom:1px solid var(--border);background:#fef3e6;padding:14px 18px;font-size:.9375rem;font-weight:600}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th{text-align:center;color:var(--text-secondary);border-bottom:2px solid var(--border);background:#f7fafc;padding:12px 14px;font-weight:600}.data-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:12px 14px}.item-summary-table td{padding:6px 14px}.data-table.item-summary-table{table-layout:auto;width:100%!important}.item-summary-table th,.item-summary-table td{padding:6px 14px}.item-summary-table th.item-summary-item,.item-summary-table td.item-summary-item{white-space:nowrap;padding-right:calc(14px + 5ch)}.item-summary-table th.item-summary-desc,.item-summary-table td.item-summary-desc{padding-right:calc(14px + 5ch)}.item-summary-table th.item-summary-total,.item-summary-table td.item-summary-total{white-space:nowrap;padding-left:0;padding-right:14px}.data-table tbody tr:hover{background:#fafafa}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.loading-message{color:var(--text-secondary);padding:24px;font-size:.9375rem}
