:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#18233c;background:#f3f6fc}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.layout{display:flex;min-height:100vh}.sidebar{width:254px;background:#14243c;color:#fff;padding:22px 14px;flex-shrink:0}.brand{padding:12px 14px 24px;border-bottom:1px solid #35405b;margin-bottom:18px}.brand b{font-size:25px;letter-spacing:-1px}.brand small{display:block;color:#b9c5df;margin-top:6px}.cyan{color:#19c5ee}.pink{color:#f21891}.yellow{color:#ffcc00}.nav{display:flex;flex-direction:column;gap:5px}.nav button{border:0;background:none;color:#d6deee;padding:12px;text-align:left;border-radius:9px}.nav button.active,.nav button:hover{background:#224f7d;color:white}.main{flex:1;min-width:0}.top{background:white;border-bottom:1px solid #e1e5ef;padding:15px 26px;display:flex;justify-content:space-between;align-items:center;gap:12px}.content{padding:24px;max-width:1600px;margin:auto}h1{font-size:27px;margin:0 0 5px}h2{font-size:19px}p.muted,.muted{color:#69758d}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{background:white;border:1px solid #e1e7f0;border-radius:14px;padding:18px;box-shadow:0 4px 20px #172f5810}.metric{font-size:28px;font-weight:800;margin-top:9px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.btn{background:#087eaf;color:#fff;border:0;border-radius:9px;padding:11px 16px;font-weight:650}.btn.secondary{background:#eef0fa;color:#242b45}.btn.danger{background:#db3649}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}.field input,.field select,.field textarea{border:1px solid #cbd4e4;border-radius:8px;padding:11px;background:white;min-width:0}.field.full{grid-column:1/-1}.toolbar{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}.toolbar input{padding:10px;border:1px solid #d5dbe8;border-radius:8px;min-width:220px}.tablewrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid #e9edf5;padding:12px 9px;white-space:nowrap}.table th{color:#68738a;font-size:12px}.pill{background:#eef0ff;color:#087eaf;padding:5px 8px;border-radius:8px;font-size:12px}.panel{margin-top:20px}.notice{padding:12px 15px;border-radius:9px;background:#eaf6ff;margin:12px 0;color:#235075}.error{background:#ffebed;color:#a31b2d}.login{max-width:470px;margin:7vh auto;padding:30px}.login .form{grid-template-columns:1fr}.loading{padding:40px}.help{font-size:13px;color:#6c778b;line-height:1.6}.sidefooter{font-size:12px;color:#aab7d2;margin-top:28px;padding:12px}.krow{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e9edf5;padding:12px 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.logo-line{height:5px;background:linear-gradient(90deg,#13b8ef 0 33%,#f11590 33% 66%,#ffce00 66%)}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.sidebar{width:210px}}@media(max-width:700px){.layout{display:block}.sidebar{width:100%;padding:10px}.brand{padding:8px;margin:0}.nav{flex-direction:row;overflow-x:auto}.nav button{white-space:nowrap}.sidefooter{display:none}.content{padding:14px}.grid,.two{grid-template-columns:1fr}.top{padding:12px}.form{grid-template-columns:1fr}}

/* FND CONTROL · approved enterprise dashboard responsive system */
:root{--fnd-navy:#14243c;--fnd-cyan:#10b8e4;--fnd-pink:#ef188d;--fnd-yellow:#ffcb16;--fnd-border:#e2e9f2}
.sidebar{min-height:100vh;position:sticky;top:0;height:100vh;overflow-y:auto;box-shadow:3px 0 20px #17243b0d}
.brand{position:relative;padding-top:17px}.brand:before{content:'';position:absolute;top:0;left:14px;width:75px;height:3px;background:linear-gradient(90deg,var(--fnd-cyan) 0 33%,var(--fnd-pink) 33% 66%,var(--fnd-yellow) 66%)}
.brand b{font-weight:850}.nav button{transition:background .15s ease,transform .15s ease}.nav button.active{background:#234a70;border-left:3px solid var(--fnd-cyan)}
.top{min-height:66px}.top-left{display:flex;align-items:center;gap:14px}.menu-toggle{display:none;border:0;background:#edf4f9;border-radius:9px;padding:8px 11px;color:var(--fnd-navy)}
.card{box-shadow:0 3px 18px #16243d0b}.card h2{margin-top:0}.metric{font-variant-numeric:tabular-nums;letter-spacing:-.6px}.grid>.card:nth-child(1){border-top:3px solid var(--fnd-cyan)}.grid>.card:nth-child(2){border-top:3px solid var(--fnd-pink)}.grid>.card:nth-child(3){border-top:3px solid var(--fnd-yellow)}.grid>.card:nth-child(4){border-top:3px solid #27aa84}
.btn:hover{filter:brightness(.95)}.btn:focus-visible,.nav button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--fnd-cyan);outline-offset:2px}
.mobile-shade{display:none}
@media(max-width:700px){.layout{display:flex}.sidebar{position:fixed;z-index:30;left:0;top:0;bottom:0;width:min(85vw,290px);height:100dvh;transform:translateX(-105%);transition:transform .2s ease;padding:18px 12px}.layout.menu-open .sidebar{transform:translateX(0)}.layout.menu-open .mobile-shade{display:block;position:fixed;inset:0;background:#0c1928a8;z-index:29}.nav{flex-direction:column;overflow:visible}.nav button{white-space:normal}.sidefooter{display:block}.main{width:100%;min-height:100dvh}.menu-toggle{display:inline-flex}.top{position:sticky;top:0;z-index:10;padding:13px 15px}.profile-label{font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{padding:16px 12px 32px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.grid .card{padding:13px}.metric{font-size:21px}.two{grid-template-columns:1fr}.card{padding:14px}.form{grid-template-columns:1fr}.table{font-size:12px}.table th,.table td{padding:10px 8px}.row h1{font-size:23px}}
@media(max-width:360px){.grid{grid-template-columns:1fr}.profile-label{display:none}}
.quote-line{display:grid;grid-template-columns:3fr 1fr 1fr auto;gap:10px;align-items:end;margin:15px 0}.quote-print .field{margin:12px 0}.quote-print [data-lines]{margin:20px 0}@media(max-width:700px){.quote-line{grid-template-columns:1fr 1fr}.quote-line .field:first-child{grid-column:1/-1}}@media print{.sidebar,.top,.no-print,#quoteList,#newQuote,.content>p,.content>.row{display:none!important}.layout,.main{display:block}.content{padding:0;max-width:none}.quote-print{border:0;box-shadow:none}.quote-print input,.quote-print select{border:0;color:#000;background:#fff;appearance:none}.quote-print .toolbar{display:none}.quote-print .field{break-inside:avoid}.quote-line{break-inside:avoid}.quote-line>button{display:none}body{background:white}}
