:root{--side:#0d1420;--side2:#1a2433;--gold:#c9a24b;--gold2:#ecd492;--line:#e3e7ee;--ink:#141c28;--muted:#5f6b7c;--bg:#f4f5f8;--green:#1f7a4d;--red:#b3261e;--sans:'Manrope',-apple-system,'Segoe UI',Roboto,sans-serif;--serif:'Cormorant Garamond',Georgia,serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:500 15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
h1{font:600 clamp(28px,3.4vw,36px)/1.1 var(--serif);margin:0;letter-spacing:-.005em}
h2{font-size:15px;font-weight:700;margin:0 0 14px}
a{color:inherit}

.layout{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#0d1420,#14233a);color:#fff;display:flex;flex-direction:column;padding:20px 14px;gap:22px}
.side img{width:170px;display:block;margin:2px 8px}
.side nav{display:grid;gap:4px;flex:1;align-content:start}
.side nav a{display:flex;align-items:center;gap:12px;color:#b6c0ce;text-decoration:none;padding:11px 12px;border-radius:9px;font-size:14px;font-weight:600;transition:background .15s,color .15s}
.side nav a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.side nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.side nav a.on{background:linear-gradient(135deg,rgba(201,162,75,.24),rgba(201,162,75,.08));color:var(--gold2);box-shadow:inset 0 0 0 1px rgba(201,162,75,.35)}
.who{border-top:1px solid rgba(255,255,255,.1);padding:14px 8px 0;display:flex;align-items:center;gap:10px}
.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ecd492,#a9842f);color:#17120a;font-weight:800;flex:none}
.who div{min-width:0;flex:1;font-size:13px;line-height:1.3}
.who b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who div span{color:#97a3b3;font-size:12px}
.who button{background:none;border:0;color:#b6c0ce;cursor:pointer;padding:6px;border-radius:6px}
.who button:hover{background:rgba(255,255,255,.08);color:#fff}
.who button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}

.wrap{max-width:1120px;width:100%;margin:0 auto;padding:30px clamp(16px,3vw,36px) 72px}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.stat.hot{background:linear-gradient(145deg,#0d1420,#1b2e4a);border-color:#0d1420;color:#fff}
.stat small{display:block;font-size:12px;font-weight:600;color:var(--muted)}
.stat.hot small{color:#b6c0ce}
.stat b{display:block;font:700 26px/1.25 var(--sans);letter-spacing:-.01em;margin-top:6px;overflow-wrap:anywhere}
.stat.hot b{color:var(--gold2)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:700 14px var(--sans);padding:10px 18px;border-radius:9px;border:1px solid #cfd6df;background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{background:#f6f7fa}
.btn.go{background:var(--green);border-color:var(--green);color:#fff}
.btn.go:hover{background:#196640}
.btn.main{background:linear-gradient(135deg,#ecd492,#c9a24b);border-color:#c9a24b;color:#17120a}
.btn.main:hover{box-shadow:0 6px 18px rgba(201,162,75,.35)}
.btn.danger{color:var(--red);border-color:#e7c0bd}
.btn.small{padding:6px 11px;font-size:13px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.acts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}

label{display:block;font-size:13px;font-weight:600;color:var(--muted)}
input,select,textarea{width:100%;font:500 15px var(--sans);padding:10px 12px;margin-top:5px;border:1px solid #cfd6df;border-radius:9px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
input:disabled,select:disabled,textarea:disabled{background:#f3f5f8;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.grid .wide{grid-column:1/-1}

.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
tr:last-child td{border-bottom:0}
th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#f8f9fb}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
tr.link{cursor:pointer}
tr.link:hover td{background:#fbf8ef}
.lines input,.lines select{margin:0;padding:8px;min-width:76px}
.lines select{min-width:200px}

.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;text-transform:capitalize}
.badge.draft{background:#e9ecf1;color:#3f4a5a}
.badge.pending,.badge.new{background:#fdf0cf;color:#7a5600}
.badge.approved{background:#d9f0e3;color:#17613c}
.badge.contacted{background:#dde9f7;color:#1d4f86}
.badge.closed{background:#e9ecf1;color:#3f4a5a}

.totals{margin-left:auto;max-width:340px;font-variant-numeric:tabular-nums}
.totals div{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
.totals .grand{font-weight:800;font-size:19px;border-top:2px solid var(--ink);margin-top:8px;padding-top:8px}
.muted{color:var(--muted);font-size:13px}
.alert{padding:11px 14px;border-radius:10px;margin-bottom:14px;font-size:14px}
.alert.warn{background:#fdf0cf;color:#6b4b00}
.alert.bad{background:#fbe4e2;color:#8c1d18}
.alert.good{background:#d9f0e3;color:#17613c}
.stack{display:grid;gap:12px}
.enq{display:grid;gap:4px}

.login-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(50% 60% at 80% 20%,rgba(201,162,75,.2),transparent 70%),linear-gradient(160deg,#0a0f18,#14233a)}
.login{width:100%;max-width:400px;display:grid;gap:14px;padding:32px 28px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 70px rgba(0,0,0,.45)}
.login img{width:220px;display:block;margin:0 auto 6px}
.login p{margin:0 0 4px;text-align:center;color:#b6c0ce;font-size:14px}
.login label{color:#c8d0db}
.login input{background:rgba(10,15,24,.6);border-color:rgba(255,255,255,.18);color:#fff}
.login .btn{padding:13px;margin-top:6px}

@media (max-width:860px){
  .layout{display:block}
  .side{position:sticky;top:0;z-index:5;height:auto;padding:10px 12px;gap:8px;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .side img{width:128px;margin:0}
  .side nav{order:3;flex:0 0 100%;display:flex;overflow-x:auto;gap:2px;scrollbar-width:none}
  .side nav a{padding:8px 10px;white-space:nowrap;font-size:13px}
  .side nav a svg{display:none}
  .who{border:0;padding:0}
  .who div{display:none}
  .avatar{width:30px;height:30px;font-size:13px}
  .stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .grid{grid-template-columns:1fr}
  .acts .btn{flex:1}
}

.hint{font-size:11px;font-weight:700;color:#8a6a1f;margin-top:3px;white-space:nowrap}
.hint:empty{display:none}
button.link{background:none;border:0;padding:0;font:inherit;color:#1d4f86;text-decoration:underline;cursor:pointer}
tr.sub td{background:#fbf8ef}
.sub-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
.sub-grid input{margin-top:4px}
[hidden]{display:none!important}

.badge.cash{background:#d9f0e3;color:#17613c}
.badge.online{background:#dde9f7;color:#1d4f86}
td.gain{color:#17613c;font-weight:700}
td.loss{color:var(--red);font-weight:700}
.split{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px}
.totals.plain{margin:0;max-width:none}
.totals.plain.wide{max-width:520px}
.totals .strong{font-weight:800;border-top:1px solid var(--line);margin-top:6px;padding-top:8px}
.entry{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.entry .btn{height:42px}
.order{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.order label{flex:1 1 200px;max-width:280px}
.order .btn{height:42px}
.month input{min-width:170px}
@media (max-width:760px){.split{grid-template-columns:1fr}.entry{grid-template-columns:1fr 1fr}.entry .btn{grid-column:1/-1}}
@media (max-width:460px){.entry{grid-template-columns:1fr}}
@media (max-width:640px){.stat{padding:14px}.stat b{font-size:clamp(17px,5.2vw,21px);overflow-wrap:normal;white-space:nowrap}}

.badge.q-waiting{background:#fdf0cf;color:#7a5600}
.badge.q-won{background:#d9f0e3;color:#17613c}
.badge.q-lost{background:#fbe4e2;color:#8c1d18}
.decide{margin-top:16px}
.won-box,.lost-box{padding:14px;border-radius:10px;align-content:start}
.won-box{background:#eef8f2}
.lost-box{background:#fdf1f0}
.won-box h2,.lost-box h2{margin:0}
.decided{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.decided h2{margin-bottom:4px}
.range{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.range input{min-width:150px}
.range .btn{height:42px}
.reason{margin-bottom:12px}
.reason-top{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:4px}
.bar{height:8px;border-radius:999px;background:#eef0f4;overflow:hidden}
.bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ecd492,#c9a24b)}
.badge.q-waiting,.badge.q-won,.badge.q-lost{text-transform:none}
@media (max-width:640px){.scroll th,.scroll td{white-space:nowrap}.scroll td .muted{white-space:normal;min-width:160px}}
.check{display:flex;align-items:center;gap:8px;font-weight:600;white-space:nowrap}
.check input{width:auto;margin:0}

/* Phones: tables become cards, so nobody has to swipe sideways while typing sizes. */
@media (max-width:640px){
  input,select,textarea{font-size:16px}
  .scroll{overflow:visible}
  .scroll table,.scroll tbody,.scroll tr,.scroll td{display:block;width:100%}
  .scroll table{min-width:0}
  .scroll tr:has(> th){display:none}
  .scroll tr{border:1px solid var(--line);border-radius:12px;padding:6px 12px;margin-bottom:10px;background:#fff}
  .scroll tr:last-child td,.scroll td{border-bottom:0}
  .scroll td,.scroll td.n{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:7px 0;text-align:right;white-space:normal;overflow-wrap:anywhere}
  .scroll td::before{content:attr(data-label);flex:0 0 auto;max-width:45%;font-size:12px;font-weight:700;color:var(--muted);text-align:left}
  .scroll td[data-label=""]::before{display:none}
  .scroll td[data-label=""]{justify-content:flex-end}
  .scroll td:empty{display:none}
  .scroll td>input,.scroll td>select,.scroll td>.check{flex:1 1 55%;min-width:0!important;width:auto;margin:0}
  .scroll td>input[type=number]{text-align:right}
  .scroll td>select{text-align:left}
  .scroll td .hint{flex:1 0 100%;white-space:normal;text-align:right}
  .scroll td .muted{flex:1 0 100%;min-width:0;text-align:right}
  .scroll tr.link{cursor:pointer}
  tr.sub{background:#fbf8ef;margin-top:-6px}
  tr.sub td{display:block;background:none;padding:6px 0}
  tr.sub td::before{display:none}
  .sub-grid{grid-template-columns:1fr}
  .sub-grid input{text-align:left}
  .btn.small{padding:8px 12px}
}

/* Mobile app feel */
.tabbar,.sheet{display:none}
.savetotal{display:none}
.adder>summary{list-style:none;cursor:pointer}
.adder>summary::-webkit-details-marker{display:none}
.adder[open]>summary{display:none}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 32px);padding:10px 18px 10px 10px;border-radius:14px;background:#fff;color:var(--ink);font-size:14px;font-weight:700;box-shadow:0 14px 40px rgba(13,20,32,.22),0 0 0 1px rgba(13,20,32,.06);animation:toast .2s ease-out;transition:opacity .2s,transform .2s}
.toast.leaving{opacity:0;transform:translate(-50%,8px)}
.toast-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#d9f0e3}
.toast-icon svg{width:16px;height:16px;fill:none;stroke:#17613c;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@keyframes toast{from{opacity:0;transform:translate(-50%,8px)}}

@media (max-width:860px){
  .side{position:sticky;top:0;z-index:5;padding:8px 14px}
  .side nav{display:none}
  .side img{width:118px}
  .who{margin-left:auto}
  .who #logout{display:none}
  .wrap{padding:18px 14px calc(92px + env(safe-area-inset-bottom))}
  .tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(13,20,32,.97);border-top:1px solid rgba(255,255,255,.1);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:48px;justify-content:center;background:none;border:0;border-radius:10px;color:#9aa6b6;font:600 11px var(--sans);text-decoration:none;cursor:pointer}
  .tabbar svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .tabbar .on{color:var(--gold2)}
  .sheet:not([hidden]){display:block;position:fixed;inset:0;z-index:15;background:rgba(5,9,15,.55)}
  .sheet-panel{position:absolute;left:0;right:0;bottom:calc(61px + env(safe-area-inset-bottom));background:#fff;border-radius:18px 18px 0 0;padding:14px 14px 10px;display:grid;gap:2px;animation:sheet .18s ease-out}
  @keyframes sheet{from{transform:translateY(16px);opacity:0}}
  .sheet-who{margin:0 8px 8px;color:var(--muted);font-size:13px}
  .sheet-panel a,.sheet-panel button{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 10px;border:0;border-radius:10px;background:none;color:var(--ink);font:600 15px var(--sans);text-decoration:none;text-align:left;cursor:pointer}
  .sheet-panel a svg{width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .sheet-panel a.on{background:#fbf5e4}
  .sheet-panel button{color:var(--red);border-top:1px solid var(--line);border-radius:0;margin-top:4px}
  .savebar{position:sticky;bottom:calc(61px + env(safe-area-inset-bottom));z-index:6;margin:8px -14px -14px;padding:10px 14px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(16,24,40,.06)}
  .savetotal:not(:empty){display:block;font-weight:800;font-size:15px;margin-bottom:8px;text-align:right}
  .toast{bottom:calc(76px + env(safe-area-inset-bottom))}
}

@media (max-width:640px){
  h1{font-size:28px}
  .head{margin-bottom:14px}
  .head .btn.main{padding:9px 14px}
  .card{padding:15px;border-radius:12px;margin-bottom:12px}
  .stats{gap:10px;margin-bottom:12px}
  .btn{min-height:44px}
  .btn.small{min-height:38px}
  .adder>summary{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:12px;border:1px dashed #c9a24b;border-radius:10px;color:#7a5a12;font-weight:700;background:#fdf9ee}
  .adder .entry{margin-top:12px;padding-top:0;border-top:0}
  .scroll td .btn.danger{font-size:0;padding:0 14px}
  .scroll td .btn.danger::after{content:'Remove';font-size:13px}

  /* Short cards for the main lists */
  .scroll table.compact tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:12px 14px}
  .scroll table.compact tr:has(> th){display:none}
  .scroll table.compact td{display:block;padding:0;text-align:left}
  .scroll table.compact td::before{display:none}
  .scroll table.compact td[data-label="Customer"]{grid-area:1/1;font-weight:700;font-size:15px}
  .scroll table.compact td[data-label="Status"]{grid-area:1/2;text-align:right}
  .scroll table.compact td[data-label="Profit"]{grid-area:1/2;text-align:right}
  .scroll table.compact td[data-label="Profit"]::before{display:inline;content:'Profit ';max-width:none;color:var(--muted);font-weight:600}
  .scroll table.compact td[data-label="Bill"]{grid-area:2/1;color:var(--muted);font-size:13px}
  .scroll table.compact td[data-label="Total"],.scroll table.compact td[data-label="Value"]{grid-area:2/2;text-align:right;font-weight:700}
  .scroll table.compact td[data-label="Balance"]{grid-area:2/2;text-align:right;font-weight:700}
  .scroll table.compact td[data-label="Balance"]::before{display:inline;content:'Balance ';max-width:none;color:var(--muted);font-weight:600}
  .scroll table.compact td[data-label="Reason"]{grid-column:1/-1;font-size:13px;color:#8c1d18}
  .scroll table.compact td[data-label="Reason"]:empty{display:none}
  .scroll table.compact td[data-label="Reason"] .muted{text-align:left}
  .scroll table.compact td[data-label="Prepared by"],.scroll table.compact td[data-label="Sent"],.scroll table.compact td[data-label="Order accepted"],.scroll table.compact td[data-label="Bill total"],.scroll table.compact td[data-label="Received"],.scroll table.compact td[data-label="Vendors"]{display:none}
}

/* Pop-ups */
.dialog-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(8,13,22,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:dialog-fade .16s ease-out;transition:opacity .16s}
.dialog-overlay.leaving{opacity:0}
.dialog{width:100%;max-width:420px;padding:26px 24px 22px;border-radius:18px;background:#fff;box-shadow:0 30px 80px rgba(8,13,22,.35);animation:dialog-rise .2s cubic-bezier(.2,.8,.2,1)}
.dialog h2{font:600 26px/1.15 var(--serif);margin:14px 0 6px}
.dialog>p{margin:0;color:var(--muted);font-size:14.500px;line-height:1.5}
.dialog label{margin-top:16px}
.dialog-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px}
.dialog-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dialog-icon.danger{background:#fbe4e2;color:var(--red)}
.dialog-icon.warn{background:#fdf0cf;color:#8a6412}
.dialog-icon.info{background:#dde9f7;color:#1d4f86}
.dialog-icon.key{background:#fbf5e4;color:#8a6412}
.dialog .dialog-error{margin:6px 0 0;min-height:18px;color:var(--red);font-size:13px;font-weight:600}
.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.dialog-actions .btn{min-height:46px}
.btn.destroy{background:var(--red);border-color:var(--red);color:#fff}
.btn.destroy:hover{background:#961f18}
@keyframes dialog-fade{from{opacity:0}}
@keyframes dialog-rise{from{opacity:0;transform:translateY(12px) scale(.98)}}
@keyframes dialog-sheet{from{transform:translateY(100%)}}
@media (max-width:640px){
  .dialog-overlay{place-items:end stretch;padding:0}
  .dialog{max-width:none;padding:22px 18px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:dialog-sheet .22s cubic-bezier(.2,.8,.2,1)}
  .dialog::before{content:'';display:block;width:40px;height:4px;margin:-8px auto 14px;border-radius:4px;background:#d9dee6}
}
@media (prefers-reduced-motion:reduce){.dialog,.dialog-overlay,.toast{animation:none}}

.badge.q-revised{background:#e9ecf1;color:#566274;text-transform:none}
.alert a{font-weight:700}
.finder{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px;margin-bottom:14px}
.list-count{margin:12px 0 0;text-align:center}
.load-more{display:flex;width:100%;margin-top:10px}
.versions{display:flex;flex-wrap:wrap;gap:8px}
.versions a{padding:7px 12px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:600;text-decoration:none}
.versions a.on{background:#fbf5e4;border-color:#c9a24b}
@media (max-width:640px){
  .finder{grid-template-columns:1fr}
  .range{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .range input{min-width:0}
  .range .btn{grid-column:1/-1;width:100%;height:46px}
  .head:has(.range){align-items:stretch;flex-direction:column}
}

/* Installed app */
.offline-bar{position:sticky;top:0;z-index:30;padding:calc(8px + env(safe-area-inset-top)) 14px 8px;background:#7a2a23;color:#fff;font-size:13px;font-weight:700;text-align:center}
.sheet-panel .sheet-install{color:#7a5a12;border-top:1px solid var(--line);border-radius:0;margin-top:4px}
.sheet-panel .sheet-install+button{border-top:0;margin-top:0}
@media (max-width:860px){
  .side{padding-top:calc(8px + env(safe-area-inset-top))}
  .login-page{padding-top:calc(24px + env(safe-area-inset-top))}
}
@media (display-mode:standalone){
  body{overscroll-behavior-y:none}
}

/* Show or hide passwords */
.password-box{position:relative;display:block}
.password-box input{padding-right:48px}
.password-eye{position:absolute;right:3px;top:8px;display:grid;place-items:center;width:42px;height:38px;padding:0;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer}
.password-eye svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.password-eye:hover{color:var(--ink)}
.login .password-eye{color:#c8d0db}
.login .password-eye:hover{color:#fff}
.login .login-help{margin:4px 0 0;font-size:13px;color:#a6b0be}

/* Fixes from the full page review */
.badge{text-transform:none}
.badge.new,.badge.contacted,.badge.closed{text-transform:capitalize}
td[data-label="Date"],td[data-label="Sent"],td[data-label="Call on"],td[data-label="Order accepted"],td[data-label="Amount"],td[data-label="Value"],td[data-label="Total"]{white-space:nowrap}
button.link{padding:9px 4px;margin:-9px 0}
.lines select{min-width:150px}
.lines input{min-width:58px}
#lines th,#lines td{padding-left:5px;padding-right:5px}
#lines td[data-label="Rate / sq m"] input{min-width:74px}
#lines td[data-label="Material"]{width:24%}
@media (max-width:1180px){
  #lines th{font-size:10px;letter-spacing:.02em}
  #lines input,#lines select{font-size:14px;padding:7px 5px}
  .lines select{min-width:120px}
  .lines input{min-width:50px}
}
@media (max-width:860px){
  .btn.small{min-height:40px;padding:8px 12px}
  .btn{min-height:44px}
}
@media (max-width:640px){
  .lines select,.lines input{font-size:16px}
  #lines input,#lines select{font-size:16px;padding:8px}
  .range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .range label{min-width:0}
  .range input{width:100%;padding-left:8px;padding-right:6px}
  .savebar .acts{flex-wrap:nowrap}
  .savebar .btn{flex:1 1 0;min-width:0;padding:10px 6px;font-size:13px;white-space:nowrap}
}
@media (max-width:359px){
  .range{grid-template-columns:minmax(0,1fr)}
  .range .btn{grid-column:auto}
  .stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .savebar .btn{font-size:12px;padding:10px 3px}
}
@media (max-width:640px){
  .scroll td::before{white-space:nowrap;overflow-wrap:normal}
  .scroll td>select{flex:1 1 100%;width:100%}
}
@media (max-width:640px){
  #lines td[data-label="Material"]{width:100%}
}
