*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:#0d1117;color:#f8fafc}
input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid #263241;background:#111827;color:#fff;border-radius:12px;margin:8px 0 16px}
textarea{min-height:90px;resize:vertical}
button{border:0;border-radius:12px;padding:12px 16px;cursor:pointer;font-weight:700}
.hidden{display:none!important}
.muted{color:#94a3b8}
.error-text{color:#ff6b6b}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,#083b3a,#0d1117 45%)}
.login-card{width:100%;max-width:420px;background:rgba(17,24,39,.92);border:1px solid #1f2937;border-radius:28px;padding:32px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,#00b7a8,#13d8c7);color:#001b1a;font-size:24px;font-weight:900;margin-bottom:16px}
.brand-mark.small{width:48px;height:48px;border-radius:16px;font-size:16px}
.primary-btn{background:#00b7a8;color:#001b1a}
.primary-btn:hover{background:#14d6c7}
.ghost-btn{background:#1f2937;color:#e2e8f0}
.compact{width:auto;padding:10px 14px}
.demo-users{display:grid;gap:4px;background:#0b1220;border:1px solid #1e293b;border-radius:16px;padding:14px;margin-top:18px;color:#cbd5e1;font-size:13px}
.dashboard{min-height:100vh;display:grid;grid-template-columns:280px 1fr}
.sidebar{background:#080b10;border-right:1px solid #1f2937;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.sidebar h2{margin:0}
nav{display:grid;gap:10px}
.nav-btn{background:#111827;color:#cbd5e1;text-align:left}
.nav-btn.active{background:#00b7a8;color:#001b1a}
.main{padding:24px;overflow:auto}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.topbar h1{margin:0}
.badge{display:inline-flex;background:#14201f;color:#7ff4e9;border:1px solid #1e756e;border-radius:999px;padding:6px 12px;margin-top:8px}
.grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,.9fr);gap:24px}
.panel{background:#111827;border:1px solid #1f2937;border-radius:24px;padding:24px;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quote-header{display:flex;justify-content:space-between;align-items:flex-start}
.client-box{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cart-items{display:grid;gap:12px;margin:12px 0}
.cart-item{background:#0b1220;border:1px solid #233044;border-radius:16px;padding:14px}
.cart-item-top{display:flex;justify-content:space-between;gap:12px}
.cart-item h3{margin:0 0 6px}
.alert{background:#3b2502;border:1px solid #925f08;color:#ffd58a;border-radius:12px;padding:10px;margin-top:10px;font-size:13px}
.internal{background:#061b19;border:1px solid #006b62;color:#7ff4e9;border-radius:12px;padding:10px;margin-top:10px;font-size:13px}
.totals{background:#0b1220;border-radius:18px;padding:16px;margin-top:16px;display:grid;gap:10px}
.totals div{display:flex;justify-content:space-between}
.grand-total{font-size:22px;color:#7ff4e9;border-top:1px solid #263241;padding-top:12px}
.print-area{display:none}

@media(max-width:900px){
.dashboard{grid-template-columns:1fr}
.sidebar{position:static}
.grid{grid-template-columns:1fr}
.client-box,.row{grid-template-columns:1fr}
.topbar{display:grid;gap:14px}
}

@media print{
body{background:#fff;color:#111}
.sidebar,.topbar,.grid{display:none!important}
.main{padding:0}
.print-area{display:block!important}
.pdf-card{padding:32px;font-family:Arial,sans-serif}
.pdf-header{display:flex;justify-content:space-between;border-bottom:3px solid #00b7a8;padding-bottom:18px;margin-bottom:18px}
.pdf-header h1{margin:0}
.pdf-folio{text-align:right}
.pdf-folio span{display:block;color:#555;margin-top:6px}
.pdf-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}
.pdf-table{width:100%;border-collapse:collapse;margin-top:18px}
.pdf-table th{background:#111;color:#fff}
.pdf-table th,.pdf-table td{border:1px solid #ddd;padding:10px;text-align:left}
.pdf-total{display:flex;justify-content:flex-end;gap:40px;font-size:24px;margin-top:18px}
.pdf-notes{margin-top:28px;font-size:13px;color:#333}
}
