:root{--ink:#120b24;--card:#1d1440;--line:#2f2260;--lime:#b99cff;--white:#faf8ff;--mut:#a89ec6;--head:"Barlow Condensed","Arial Narrow",sans-serif;--body:"Inter",system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--body);background:#0c0719;color:var(--white);-webkit-font-smoothing:antialiased;min-height:100vh}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--lime);color:var(--ink);font-weight:700;border-radius:999px;padding:.75rem 1.3rem;min-height:44px;font-size:.92rem;transition:.2s}
.btn:hover{background:#cdb8ff}
.btn.ghost{background:transparent;border:1.5px solid var(--line);color:var(--white)}
.btn.ghost:hover{border-color:var(--lime);color:var(--lime)}
.btn.sm{min-height:38px;padding:.45rem 1rem;font-size:.82rem}
.lnk{color:var(--mut);font-size:.8rem;text-decoration:underline;padding:.5rem 0;text-align:left}
.lnk:hover{color:var(--lime)}

.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#18240a,#120b24 55%)}
.lbox{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:2rem;width:min(420px,100%);display:grid;gap:1rem;justify-items:stretch}
.lbox img{justify-self:center}
.lbox h1{font-family:var(--head);font-style:italic;text-transform:uppercase;font-weight:800;font-size:2.4rem;text-align:center;line-height:1}
.lbox p{color:var(--mut);font-size:.9rem;text-align:center}
.lbox label,.f label{display:grid;gap:.3rem;font-size:.78rem;color:var(--mut)}
input,select,textarea{background:#0c0719;border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;font-size:.95rem;min-height:42px;width:100%}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--lime)}
.back{text-align:center;color:var(--mut);font-size:.85rem}.back:hover{color:var(--lime)}

#app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.side{background:#080b0d;border-right:1px solid var(--line);padding:1.2rem;display:flex;flex-direction:column;gap:1rem;position:sticky;top:0;height:100vh;overflow:auto}
.sb{display:flex;align-items:center;gap:.7rem;font-family:var(--head);font-style:italic;text-transform:uppercase;font-weight:800;font-size:1.25rem}
#snav{display:grid;gap:.2rem}
#snav h4{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--mut);margin:.9rem .4rem .3rem;font-weight:600}
#snav button{text-align:left;padding:.65rem .8rem;border-radius:10px;font-size:.9rem;color:#c9d1d6;min-height:42px;display:flex;justify-content:space-between;gap:.5rem}
#snav button:hover{background:#121920}
#snav button.on{background:var(--lime);color:var(--ink);font-weight:700}
#snav small{opacity:.6}
.sf{margin-top:auto;display:grid;gap:.4rem}
.main{padding:1.4rem clamp(1rem,3vw,2.2rem) 3rem;min-width:0}
.top{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.top h2{font-family:var(--head);font-style:italic;text-transform:uppercase;font-weight:800;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}
.mbtn{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;font-size:1.3rem}
.saved{margin-left:auto;font-size:.8rem;color:var(--lime);display:flex;align-items:center;gap:.4rem}
.saved:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime)}
.note{background:#17200a;border:1px solid #2c3d10;color:#c6d98a;border-radius:12px;padding:.7rem 1rem;font-size:.82rem;margin-bottom:1.2rem}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.2rem;margin-bottom:1rem}
.panel h3{font-family:var(--head);font-style:italic;text-transform:uppercase;font-weight:800;font-size:1.4rem;margin-bottom:.8rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.tabs{display:flex;gap:.4rem;margin-bottom:1rem}
.tabs button{padding:.5rem 1.1rem;border-radius:999px;border:1.5px solid var(--line);font-weight:600;font-size:.88rem;min-height:42px}
.tabs button.on{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.row{display:grid;gap:.5rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.row.pl{grid-template-columns:52px 70px 1fr 110px 230px 44px}
.row.sp{grid-template-columns:130px 1fr 130px 44px}
.row.mt{grid-template-columns:140px 100px 1fr 90px 60px 60px 44px}
.row.hd{color:var(--mut);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;border:0;padding-bottom:0}
.x{width:44px;height:42px;border-radius:10px;color:#ff8a7a;font-size:1.1rem}
.x:hover{background:#2a1512}
.f{display:grid;gap:.7rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line)}
.item:first-child{border-top:0}
.item b{display:block;font-size:.95rem}.item small{color:var(--mut)}
.chip{display:inline-flex;align-items:center;gap:.4rem;background:#0c0719;border:1px solid var(--line);border-radius:999px;padding:.35rem .5rem .35rem .9rem;margin:.2rem;font-size:.88rem}
.chip button{color:#ff8a7a;width:26px;height:26px;border-radius:50%}
.addbar{display:flex;gap:.6rem;margin-top:.8rem}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);background:var(--lime);color:var(--ink);font-weight:700;padding:.7rem 1.2rem;border-radius:999px;opacity:0;pointer-events:none;transition:.3s;z-index:99;font-size:.88rem;white-space:nowrap}
#toast.on{opacity:1;transform:translate(-50%,0)}
.scorein{text-align:center;padding-inline:.3rem}
.hl{font-size:.75rem;color:var(--mut)}

@media(max-width:900px){
  #app{grid-template-columns:1fr}
  .side{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);z-index:60;transform:translateX(-105%);transition:transform .3s;height:100svh}
  body.so .side{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.6)}
  .mbtn{display:block}
  .row.pl{grid-template-columns:56px 1fr 90px 44px;}
  .row.pl .age{display:none}
  .row.hd.pl .age{display:none}
  .row.mt{grid-template-columns:1fr 64px 64px 44px;gap:.5rem}
  .row.mt input[type=date]{grid-column:span 2}
  .row.mt input[type=time]{grid-column:span 2}
  .row.mt .opp{grid-column:span 4}
  .row.hd.mt{display:none}
  .two{grid-template-columns:1fr}
  .addbar{flex-direction:column}
}

.ph{position:relative;width:46px;height:46px}
.th{width:46px;height:46px;border-radius:12px;overflow:hidden;background:#0c0719;border:1px solid var(--line);display:block;position:relative}
.th img{width:100%;height:100%;object-fit:cover}
.th.empty svg{width:70%;margin:18% 15% 0;fill:#4a37a0}
.th.empty i{position:absolute;right:2px;bottom:2px;width:18px;height:18px;border-radius:50%;background:var(--lime);color:var(--ink);font-style:normal;font-weight:800;font-size:.85rem;line-height:18px;text-align:center}
.th:hover{border-color:var(--lime)}
.rm{position:absolute;right:-5px;top:-5px;width:20px;height:20px;border-radius:50%;background:#2a1512;color:#ff8a7a;font-size:.65rem;border:1px solid var(--line);display:none}
.ph:hover .rm,.ph:focus-within .rm{display:block}
.logo{width:130px;height:54px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;padding:4px}
.logo img{max-width:100%;max-height:100%;object-fit:contain}
.logo.empty{background:#0c0719;border-style:dashed;color:var(--lime);font-size:.8rem}
.logo.empty i{font-style:normal}
.logo:hover{border-color:var(--lime)}
@media(max-width:900px){
  .row.pl{grid-template-columns:52px 56px 1fr 44px}
  .row.pl>:nth-child(1){grid-row:span 2}
  .row.pl>:nth-child(3){grid-column:3 / span 2}
  .row.pl>:nth-child(4){grid-column:2 / span 2}
  .row.pl>:nth-child(6){grid-column:4}
  .row.hd.pl{display:none}
  .row.sp{grid-template-columns:96px 1fr 44px}
  .row.sp .logo{width:96px}
  .row.sp>.lnk,.row.sp>span{display:none}
}

#tpaste{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:.88rem;line-height:1.5;resize:vertical}
.tprev{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.tprev table{width:100%;border-collapse:collapse;font-size:.85rem}
.tprev th{color:var(--mut);font-weight:600;font-size:.7rem;text-transform:uppercase;padding:.5rem .4rem;text-align:center}
.tprev td{padding:.5rem .4rem;border-top:1px solid var(--line);text-align:center}
.tprev th:nth-child(2),.tprev td:nth-child(2){text-align:left}
.tprev tr.us td{background:#1a2a63}
.w{color:#ff8a7a}

.imgpick{display:flex;gap:1rem;align-items:center}
.newimg{width:120px;aspect-ratio:4/5;border-radius:14px;border:1.5px dashed var(--line);background:#0c0719;color:var(--lime);display:grid;place-items:center;overflow:hidden;flex:none;font-size:.85rem;text-align:center;padding:.4rem}
.newimg img{width:100%;height:100%;object-fit:cover;display:block}
.newimg:hover{border-color:var(--lime)}
.nit{display:flex;align-items:center;gap:.9rem;min-width:0}
.nthumb{position:relative;width:54px;height:68px;border-radius:10px;overflow:hidden;border:1px solid var(--line);flex:none;background:#0c0719}
.nthumb img{width:100%;height:100%;object-fit:cover}
.nthumb i{position:absolute;right:3px;bottom:3px;width:20px;height:20px;border-radius:50%;background:var(--lime);color:var(--ink);font-style:normal;font-size:.7rem;line-height:20px;text-align:center}
.nthumb:hover{border-color:var(--lime)}
