
:root{--bg:#0b0d10;--panel:#14181d;--panel2:#1b2229;--line:#2b343e;--text:#edf2f7;--muted:#98a7b5;--accent:#6ec8ff;--good:#86efac;--bad:#fca5a5;--warn:#fde68a}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{background:#101418;border-right:1px solid var(--line);padding:20px;position:sticky;top:0;height:100vh}
.brand{font-weight:900;font-size:20px;line-height:1.2}.sub{font-size:12px;color:var(--muted);margin:7px 0 20px}
nav button{display:block;width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:10px 12px;border-radius:8px;margin:3px 0;cursor:pointer}
nav button:hover,nav button.active{background:var(--panel2)}
main{padding:26px;max-width:1500px}h1,h2,h3{margin:0 0 14px}p{line-height:1.5}.muted{color:var(--muted)}.small{font-size:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}.section{margin-top:22px}.stat{font-size:30px;font-weight:900}
table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--panel2);font-size:13px}
input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:10px;border-radius:8px;border:1px solid #35414d;background:#0f1419;color:var(--text)}textarea{min-height:100px;resize:vertical}
label{display:block;font-size:13px;color:#d5dde5;margin-bottom:4px}.form{display:grid;gap:10px}.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{border:0;border-radius:8px;padding:10px 14px;background:#1f6feb;color:white;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block}.btn.secondary{background:#303a44}.btn.danger{background:#8b2c2c}.btn.good{background:#1e6b3a}
.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#29333d;font-size:12px}.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}
.flash{padding:12px 14px;border-radius:9px;margin-bottom:14px}.flash.ok{background:#17351f;color:#bbf7d0}.flash.err{background:#3b1717;color:#fecaca}
pre,.pre{white-space:pre-wrap;word-break:break-word;background:#0f1419;border:1px solid var(--line);padding:10px;border-radius:8px}
hr{border:0;border-top:1px solid var(--line);margin:20px 0}.top{display:flex;justify-content:space-between;align-items:center;gap:12px}
a{color:var(--accent)}code{background:#0f1419;padding:2px 5px;border-radius:5px}
@media(max-width:900px){.app{grid-template-columns:1fr}aside{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}nav{display:flex;flex-wrap:wrap}nav button{width:auto}main{padding:16px}.row,.row3{grid-template-columns:1fr}}


/* Laced With Beauty hot-pink company theme */
:root{
  --pink:#ff1493;
  --pink2:#ff4db1;
  --pink3:#ff89cc;
  --pinksoft:rgba(255,20,147,.12);
  --pinkglow:rgba(255,20,147,.28);
}
body{
  background:
    radial-gradient(circle at 10% 8%, rgba(255,20,147,.12), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(255,20,147,.06), transparent 25%),
    #09090d;
}
aside{
  border-right-color:rgba(255,20,147,.45);
  background:linear-gradient(180deg,#0c0c11,#121218);
  display:flex;
  flex-direction:column;
}
nav{flex:1}
nav button::before{content:"◆";font-size:9px;color:var(--pink);margin-right:8px}
nav button:hover{
  background:var(--pinksoft);
  border:1px solid rgba(255,20,147,.22);
}
nav button.active{
  background:linear-gradient(90deg,#d60778,var(--pink));
  box-shadow:0 0 18px var(--pinkglow);
}
nav button.active::before{color:#fff}
aside::after{content:"";display:none}
h1::after{
  content:"";
  display:block;
  width:55px;
  height:3px;
  margin-top:8px;
  border-radius:20px;
  background:linear-gradient(90deg,var(--pink),var(--pink2));
  box-shadow:0 0 12px var(--pinkglow);
}
.stat{color:var(--pink2);text-shadow:0 0 15px rgba(255,20,147,.18)}
th{background:linear-gradient(90deg,#d60778,var(--pink));color:#fff}
.btn{
  background:linear-gradient(90deg,#d60778,var(--pink));
  border-color:var(--pink);
}
.btn:hover{box-shadow:0 0 18px var(--pinkglow)}
.btn.secondary{background:#292934;border-color:#4a4a59}
.btn.secondary:hover{border-color:var(--pink);color:var(--pink2)}
.badge{
  background:var(--pinksoft);
  border:1px solid rgba(255,20,147,.28);
  color:var(--pink3);
}
a{color:var(--pink3)}
input:focus,select:focus,textarea:focus{
  border-color:var(--pink);
  box-shadow:0 0 0 3px rgba(255,20,147,.12);
}

html{scroll-behavior:smooth}.money-good{color:#66e39a!important;text-shadow:none!important}.money-bad{color:#ff7f93!important;text-shadow:none!important}

.lotto-preview{background:#111827;border:1px solid #334155;border-radius:12px;padding:18px;max-height:700px;overflow:auto}
.lotto-preview img{max-width:100%;height:auto}
.lotto-number-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.lotto-number{border:1px solid #334155;border-radius:8px;padding:8px;text-align:center;min-height:48px;background:#111827}
.lotto-number span{display:block;font-size:11px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lotto-number.taken{border-color:#64748b;background:#1f2937}

.time-label{margin-top:8px}
.saved-note{padding:9px 11px;border:1px solid rgba(134,239,172,.28);background:rgba(134,239,172,.07);border-radius:8px}

/* v4.7.1 phone-only responsive layer — desktop layout is untouched */
@media (max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  .app{display:block}
  aside{
    position:static;
    height:auto;
    padding:12px;
    border-right:0;
    border-bottom:1px solid rgba(255,20,147,.45)
  }
  .brand{font-size:17px}
  .sub{margin:4px 0 10px}
  nav{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:6px;
    padding-bottom:5px;
    -webkit-overflow-scrolling:touch
  }
  nav button{
    flex:0 0 auto;
    width:auto;
    white-space:nowrap;
    margin:0;
    min-height:42px
  }
  aside::after{display:none}
  main{padding:12px 10px;width:100%;max-width:none;min-width:0}
  h1{font-size:24px}
  h2{font-size:20px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .row,.row3{grid-template-columns:1fr;gap:10px}
  .card{padding:12px}
  .section{margin-top:16px}
  .top{flex-wrap:wrap;align-items:flex-start}
  .actions{width:100%}
  .actions .btn{flex:1 1 140px;text-align:center}
  .btn{min-height:44px;padding:11px 12px}
  input,select,textarea{font-size:16px;min-height:44px}
  textarea{min-height:88px}
  .stat{font-size:24px}

  /* only tables on phones scroll; desktop tables keep original layout */
  table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  th,td{white-space:nowrap;font-size:12px;padding:9px 10px}
  td .small,td .muted{white-space:normal}

  .lotto-number-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .lotto-number{padding:6px 3px;min-height:44px;font-size:12px}
  .lotto-number span{font-size:9px}
  .lotto-preview{padding:10px;max-height:620px;font-size:13px;overflow:auto}
  .lotto-preview img{max-width:100%!important;height:auto!important}
}
