:root{--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#e0e7ff;--secondary:#10b981;--accent:#f59e0b;--accent-dark:#d97706;--success:#22c55e;--danger:#ef4444;--danger-dark:#dc2626;--warning:#f97316;--info:#06b6d4;--bg:#f0f4f8;--bg-secondary:#e2e8f0;--surface:#fff;--surface-dark:#f8fafc;--text-primary:#0f172a;--text-secondary:#64748b;--border:#cbd5e1;--shadow:0 4px 6px rgba(0,0,0,.07),0 10px 13px rgba(0,0,0,.05);--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-lg:0 20px 25px rgba(0,0,0,.1);--gradient-primary:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-accent:linear-gradient(135deg, #f59e0b 0%, #f97316 100%) }*{box-sizing:border-box}html,body{width:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(180deg,#eef2ff,#f8fafc);margin:0;color:var(--text-primary);line-height:1.6;min-height:100vh}.app{max-width:100%;width:100%;margin:0 auto;padding:20px 16px}header{background:var(--gradient-primary);padding:28px 22px;border-radius:20px;margin-bottom:28px;box-shadow:var(--shadow-lg);display:flex;justify-content:space-between;align-items:center;gap:18px;color:#fff}header h1{margin:0;font-size:30px;font-weight:800;color:#fff;text-shadow:0 3px 8px rgba(0,0,0,.15)}header span{display:inline-flex;align-items:center;gap:10px;font-size:14px}header span button{background:#ffffff2e;color:#fff;padding:8px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.28);box-shadow:none}.tabs{display:flex;gap:10px;flex-wrap:wrap}.tabs button{padding:12px 20px;border:none;background:#ffffff26;border-radius:10px;cursor:pointer;font-weight:600;color:#fffc;transition:all .3s ease;border:2px solid transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tabs button:hover{background:#ffffff40;color:#fff;transform:translateY(-2px)}.tabs button.active{color:#fff;background:#ffffff40;border-color:#fff;box-shadow:0 4px 12px #00000026}.main{display:grid;grid-template-columns:1fr;gap:24px;width:100%}.card{background:var(--surface);padding:28px;border-radius:16px;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:all .3s ease;width:100%}.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.card-header button.add{white-space:nowrap;padding:10px 16px;font-size:13px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172abf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;overflow-x:hidden}.modal-content{width:min(100%,760px);max-width:760px;max-height:calc(100vh - 40px);overflow-y:auto;overflow-x:hidden;position:relative;box-sizing:border-box}.editor.card,.list.card{overflow-x:hidden}.close-modal{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:none;background:#fff;color:var(--text-primary);font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px #0f172a29}@media (max-width:600px){.modal-overlay{padding:10px;align-items:flex-start}.modal-content{max-width:100%;max-height:calc(100vh - 20px);border-radius:18px}.close-modal{top:10px;right:10px}}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.list.card h2,.editor.card h2{margin-top:0;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:24px;margin-bottom:24px}table{width:100%;border-collapse:collapse;font-size:14px}th{background:linear-gradient(135deg,#e0e7ff,#f3e8ff);padding:14px;text-align:left;font-weight:700;color:#6366f1;border-bottom:3px solid #6366f1;text-transform:uppercase;letter-spacing:.5px;font-size:12px}td{padding:14px;border-bottom:1px solid var(--border);color:var(--text-primary)}tr:hover{background:#f8fafc}input,textarea,select{width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:10px;font-family:inherit;font-size:14px;color:var(--text-primary);transition:all .2s ease;background:var(--surface);max-width:100%;box-sizing:border-box}input:focus,textarea:focus,select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a}button{background:var(--gradient-primary);color:#fff;padding:12px 20px;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 12px #6366f14d}button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}button:active{transform:translateY(0)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}button.danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}button.danger:hover{box-shadow:0 6px 20px #ef444466}button.secondary{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}button.secondary:hover{box-shadow:0 6px 20px #10b98166}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-container table{min-width:720px}@media (max-width:880px){.main{width:100%;grid-template-columns:1fr}.main>*{width:100%}header{flex-direction:column;align-items:flex-start}.tabs{width:100%}.card{padding:20px;width:100%}.table-container{width:100%}form{overflow:hidden}}@media (max-width:600px){.main{width:100%}.main>*{width:100%}.app{padding:12px 10px}.card{padding:16px}.card,.table-container,.invoice-items-container{width:100%;max-width:100%}header{padding:20px 14px;flex-direction:column;align-items:flex-start}header h1{font-size:24px}.tabs{width:100%}.tabs button{flex:1 1 100%;justify-content:center;min-width:0}button{padding:10px 14px;font-size:13px}form button:not(.action-buttons button){width:100%}}@media (max-width:700px){.table-container table{min-width:initial}.table-container table,.table-container thead,.table-container tbody,.table-container th,.table-container td,.table-container tr{display:block}.table-container thead tr{position:absolute;top:-9999px;left:-9999px}.table-container tr{border:1px solid rgba(148,163,184,.25);border-radius:16px;margin-bottom:16px;background:#fff;box-shadow:0 10px 20px #94a3b814;padding:12px 10px}.table-container td{border:none;border-bottom:1px solid rgba(148,163,184,.12);position:relative;padding-left:48%;text-align:left}.table-container td:last-child{border-bottom:none}.table-container td:before{position:absolute;top:12px;left:16px;width:42%;padding-right:8px;white-space:nowrap;font-weight:700;color:var(--text-secondary);content:attr(data-label) ":"}.table-container td[data-label=Actions]{padding-left:16px;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px}.table-container td[data-label=Actions]:before{display:none}.table-container td[data-label=Actions] button{width:auto;min-width:0;white-space:nowrap;padding:8px 10px;margin:0}.action-buttons{justify-content:stretch}.action-buttons button{width:100%}.invoice-item-row{flex-direction:column}.invoice-item-row>*{min-width:0}}label{display:block;margin-bottom:16px;font-weight:600;color:var(--text-primary);font-size:14px}label input,label textarea,label select{margin-top:8px}form{display:flex;flex-direction:column}form h2{margin-top:0;margin-bottom:24px;font-size:22px;color:#6366f1}form h3{margin-top:28px;margin-bottom:18px;font-size:16px;color:#6366f1;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{max-width:360px;width:100%}.login-card h2{text-align:center}.login-card form{display:flex;flex-direction:column;align-items:center}.login-card label{width:100%}.login-card .action-buttons{justify-content:center;width:100%}.login-card .action-buttons button{width:auto;min-width:0;padding:12px 24px;flex:0 0 auto}.action-buttons{display:flex;gap:12px;margin-top:24px;justify-content:flex-end;flex-wrap:wrap}.action-buttons button{flex:1 1 auto;min-width:120px}@media (max-width:600px){.action-buttons{justify-content:stretch}.action-buttons button{flex:1 1 100%;width:100%}}table button{padding:8px 12px;font-size:12px;margin:0 2px}table button.danger{background:linear-gradient(135deg,#ef4444,#dc2626)}table button.danger:hover{background:linear-gradient(135deg,#dc2626,#991b1b)}.invoice-items-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.invoice-item-row{display:flex;gap:10px;flex-wrap:wrap;width:100%}@media (max-width:600px){.invoice-item-row{flex-direction:column}.invoice-item-row>*{min-width:0}}.list,.editor{display:flex;flex-direction:column}.list h2,.editor h2{margin-top:0;margin-bottom:20px}.list table{font-size:13px}.list td button{padding:6px 10px;font-size:11px;margin:0 2px}.editor button:last-child{margin-top:4px}.message{padding:14px 18px;border-radius:12px;margin-bottom:16px;font-size:14px;font-weight:500;animation:slideIn .3s ease}.message.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:2px solid #22c55e}.message.error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#7f1d1d;border:2px solid #ef4444}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}
