:root{--primary: #ff4b4b;--primary-hover: #e03e3e;--bg: #ffffff;--sidebar-bg: #f0f2f6;--card-bg: #f0f2f6;--text: #262730;--text-muted: #555;--border: #e0e0e0;--radius: 6px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--success: #28a745;--error: #dc3545}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:var(--font)}input{font-family:var(--font)}.login-container{max-width:400px;margin:80px auto;padding:40px;text-align:center}.login-logo{width:200px;margin-bottom:16px}.login-container h1{font-size:24px;margin-bottom:8px}.login-container h2{font-size:18px;font-weight:400;color:var(--text-muted);margin-bottom:24px}.login-form{display:flex;flex-direction:column;gap:12px}.login-form input{padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;outline:none}.login-form input:focus{border-color:var(--primary)}.login-form .btn-primary{padding:10px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:15px;font-weight:600}.login-form .btn-primary:hover{background:var(--primary-hover)}.login-form .btn-primary:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--error);font-size:14px;margin-top:4px}.app-layout{display:flex;min-height:100vh}.sidebar{width:280px;min-width:280px;background:var(--sidebar-bg);padding:20px;overflow-y:auto;border-right:1px solid var(--border)}.sidebar h3{font-size:16px;margin-bottom:12px}.sidebar .btn-logout{width:100%;padding:8px;background:none;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--text);margin-bottom:16px}.sidebar .btn-logout:hover{background:#e0e0e0}.main-content{flex:1;padding:30px 40px;overflow-y:auto}.main-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.main-header h1{font-size:24px}.main-header .logo{width:180px}.collapsible{margin-bottom:12px}.collapsible-header{display:flex;justify-content:space-between;align-items:center;padding:8px 0;cursor:pointer;font-size:14px;font-weight:600;-webkit-user-select:none;user-select:none}.collapsible-header .arrow{font-size:10px;transition:transform .2s}.collapsible-header .arrow.open{transform:rotate(90deg)}.collapsible-body{padding:4px 0 8px}.admin-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.admin-form input{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px}.admin-form label{font-size:13px;display:flex;align-items:center;gap:6px}.admin-form .btn-create{padding:6px 12px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:13px}.admin-form .btn-create:hover{background:var(--primary-hover)}.user-list{font-size:13px;color:var(--text-muted)}.user-list div{padding:2px 0}.msg-success{color:var(--success);font-size:13px}.msg-error{color:var(--error);font-size:13px}.history-list{font-size:12px;color:var(--text-muted)}.history-list div{padding:3px 0;border-bottom:1px solid var(--border)}.history-empty{font-size:13px;color:var(--text-muted)}.sku-section h2{font-size:18px;margin-bottom:10px}.sku-row{display:flex;gap:8px;margin-bottom:6px;align-items:center}.sku-row input[type=text]{flex:3;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.sku-row input[type=number]{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;max-width:80px}.sku-row .btn-remove{padding:6px 12px;background:none;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--text-muted)}.sku-row .btn-remove:hover{background:#f8d7da;color:var(--error)}.btn-add-sku{padding:6px 14px;background:none;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;margin-bottom:16px}.btn-add-sku:hover{background:var(--sidebar-bg)}.ship-disc-row{display:flex;gap:16px;margin-bottom:16px}.ship-disc-row .field{flex:1}.ship-disc-row label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.ship-disc-row input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.btn-calculate{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:15px;font-weight:600;margin-bottom:24px}.btn-calculate:hover{background:var(--primary-hover)}.btn-calculate:disabled{opacity:.6;cursor:not-allowed}.error-list{margin-bottom:16px}.error-item{background:#f8d7da;color:var(--error);padding:8px 12px;border-radius:var(--radius);margin-bottom:4px;font-size:14px}.results-section h2,.summary-section h2,.expense-section h2,.suggestions-section h2{font-size:18px;margin-bottom:12px}.results-table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:14px}.results-table th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--border);font-weight:600;white-space:nowrap}.results-table td{padding:8px 10px;border-bottom:1px solid var(--border)}.results-table tr:hover td{background:#f9f9f9}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.metric-card{background:var(--card-bg);border-radius:var(--radius);padding:16px}.metric-card .label{font-size:13px;color:var(--text-muted);margin-bottom:4px}.metric-card .value{font-size:22px;font-weight:700}.expense-grid{display:flex;justify-content:space-between;gap:6px;margin-bottom:24px}.expense-item{flex:1;background:var(--card-bg);border-radius:var(--radius);padding:8px 4px;text-align:center}.expense-item .lbl{font-size:12px;color:var(--text-muted);margin-bottom:2px}.expense-item .val{font-size:15px;font-weight:600}.suggestion-group{margin-bottom:20px}.suggestion-group h3{font-size:14px;margin-bottom:8px}.suggestion-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:12px}.suggestion-table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--border);font-weight:600}.suggestion-table td{padding:6px 8px;border-bottom:1px solid var(--border)}
