*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0C0C12;--surf:#14141C;--surf2:#1C1C26;--surf3:#22222E;
  --border:#2A2A38;--border2:#363648;
  --acc:#E85D04;--acc2:#FF7A2F;
  --text:#F0F0F0;--muted:#888;--muted2:#555;
  --green:#22C55E;--gbg:#0D2818;--gtx:#4ADE80;
  --yellow:#F59E0B;--ybg:#2A1F00;--ytx:#FCD34D;
  --red:#EF4444;--rbg:#2A0D0D;--rtx:#FCA5A5;
  --blue:#3B82F6;--bbg:#0D1A2A;--btx:#93C5FD;
  --purple:#8B5CF6;--pbg:#1A0D2A;--ptx:#C4B5FD;
  --nav-w:200px;
}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex}
input,select,textarea,button{font-family:inherit;font-size:13px}
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}
button{cursor:pointer}
a{color:var(--btx);text-decoration:none}
code{font-family:monospace}
.mono{font-family:monospace}

/* NAV */
#nav{width:var(--nav-w);background:var(--surf);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:0;position:fixed;top:0;left:0;height:100vh;z-index:100;flex-shrink:0}
.nav-logo{display:flex;align-items:center;gap:8px;padding:16px 14px;border-bottom:1px solid var(--border)}
.logo-dot{width:7px;height:7px;background:var(--acc);border-radius:50%}
.nav-logo span{font-size:13px;font-weight:600;letter-spacing:-.01em}
.nav-links{display:flex;flex-direction:column;padding:8px 0;flex:1}
.nav-links a{padding:9px 14px;font-size:13px;font-weight:400;color:var(--muted);display:flex;align-items:center;gap:8px;transition:color .15s,background .15s;border-left:2px solid transparent}
.nav-links a:hover{color:var(--text);background:var(--surf2)}
.nav-links a.active{color:var(--text);border-left-color:var(--acc);background:var(--surf2)}
.nav-logout{margin-top:auto;border-top:1px solid var(--border);color:var(--muted2) !important}

#main{margin-left:var(--nav-w);flex:1;padding:20px;max-width:calc(1400px + var(--nav-w));overflow-x:hidden}

/* TOAST */
.toast{position:fixed;bottom:16px;right:16px;background:var(--acc);color:#fff;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;opacity:0;transition:opacity .3s;pointer-events:none;z-index:999}
.toast.show{opacity:1}

/* BUTTONS */
.btn{border:none;border-radius:6px;padding:6px 12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:opacity .15s;font-size:12px;white-space:nowrap}
.btn:hover{opacity:.82}
.btn-acc{background:var(--acc);color:#fff}
.btn-ghost{background:var(--surf2);border:1px solid var(--border2);color:var(--muted)}
.btn-blue{background:var(--bbg);border:1px solid var(--blue);color:var(--btx)}
.btn-green{background:var(--gbg);border:1px solid var(--green);color:var(--gtx)}
.btn-sm{padding:3px 8px;font-size:11px;border-radius:5px}
.btn-ghost:hover{color:var(--text)}

/* FORMS */
.fi{background:var(--surf2);border:1px solid var(--border2);border-radius:6px;padding:7px 11px;color:var(--text);width:100%;outline:none;transition:border-color .15s}
.fi:focus{border-color:var(--acc)}
.fi::placeholder{color:var(--muted2)}
select.fi option{background:var(--surf2)}
.w100{width:100%}
.form-group{display:flex;flex-direction:column;gap:4px}
.form-group label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* BADGES */
.badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap}
.b-green{background:var(--gbg);color:var(--gtx)}
.b-yellow{background:var(--ybg);color:var(--ytx)}
.b-red{background:var(--rbg);color:var(--rtx)}
.b-blue{background:var(--bbg);color:var(--btx)}
.b-purple{background:var(--pbg);color:var(--ptx)}
.b-grey{background:var(--surf3);color:var(--muted)}
.b-acc{background:#2A1200;color:var(--acc2)}

/* LAYOUT */
.card{background:var(--surf);border:1px solid var(--border);border-radius:10px}
.flex{display:flex;align-items:center;gap:8px}
.text-muted{color:var(--muted)}
.text-small{font-size:11px}
.mt8{margin-top:8px}
.mt12{margin-top:12px}

/* PAGE HEADER */
.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:12px}
.page-header h1{font-size:20px;font-weight:700}
.page-sub{font-size:12px;color:var(--muted);margin-top:3px}

/* STATS */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.stats3{grid-template-columns:repeat(3,1fr)}
.stat-c{background:var(--surf2);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
.stat-n{font-size:22px;font-weight:600}
.stat-l{font-size:11px;color:var(--muted);margin-top:3px}

/* FILTERS */
.filters{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;align-items:center}

/* TABLES */
.tbl{width:100%;border-collapse:collapse}
.tbl th{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;text-align:left;border-bottom:1px solid var(--border);background:var(--surf2)}
.tbl td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:12px}
.tbl tr:hover td{background:var(--surf2)}
.tbl tr:last-child td{border-bottom:none}

/* KANBAN */
.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.k-col{background:var(--surf2);border:1px solid var(--border);border-radius:10px;padding:12px}
.k-head{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.k-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.k-item{background:var(--surf);border:1px solid var(--border);border-radius:7px;padding:10px;margin-bottom:7px}
.k-item-title{font-size:13px;color:var(--text);line-height:1.4;margin-bottom:6px}
.k-item-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

/* MODAL */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:200;align-items:center;justify-content:center}
.modal-bg.open{display:flex}
.modal{background:var(--surf);border:1px solid var(--border2);border-radius:12px;padding:20px;width:560px;max-width:96vw;max-height:90vh;overflow-y:auto}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.modal-hdr h3{font-size:15px;font-weight:600}
.modal-close{background:transparent;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:2px 6px}
.modal-g{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.modal-foot{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}

/* ALERT */
.alert{padding:10px 14px;border-radius:7px;font-size:13px;margin-bottom:12px}
.alert-ok{background:var(--gbg);color:var(--gtx);border:1px solid var(--green)}
.alert-error{background:var(--rbg);color:var(--rtx);border:1px solid var(--red)}

/* ADMIN */
.admin-kv{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--border);font-size:12px;gap:12px}
.admin-kv:last-child{border-bottom:none}
.admin-kv .k{color:var(--muted);flex-shrink:0;min-width:120px}
.admin-kv .v{color:var(--text);font-family:monospace;font-size:11px;text-align:right;word-break:break-all}

/* LOGIN PAGE */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}
.login-box{background:var(--surf);border:1px solid var(--border);border-radius:12px;padding:32px;width:360px;max-width:96vw}
.login-logo{text-align:center;margin-bottom:24px}
.login-logo h1{font-size:20px;font-weight:700;margin-bottom:4px}
.login-logo p{font-size:13px;color:var(--muted)}

/* TODAY */
.prog-bar-wrap{background:var(--surf);border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}
.prog-bar{height:7px;background:var(--border);border-radius:4px;overflow:hidden;margin:8px 0 6px}
.prog-fill{height:100%;background:var(--acc);border-radius:4px;transition:width .4s}
.prog-fill.all{background:var(--green)}
.prog-msg{font-size:12px;color:var(--muted)}
.prog-msg.ok{color:var(--green);font-weight:500}
.big-stat{font-size:28px;font-weight:700}
.streak-badge{font-size:12px;color:var(--acc);margin-top:3px;font-weight:500}
.mg{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mc{background:var(--surf);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.mc.full{grid-column:1/-1}
.mh{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surf2)}
.mt{flex:1;font-size:13px;font-weight:600}
.mhsub{font-size:11px;color:var(--muted)}
.mcnt{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;flex-shrink:0}
.mcnt.all{background:var(--gbg);color:var(--gtx)}
.mcnt.part{background:var(--ybg);color:var(--ytx)}
.mcnt.none{background:var(--surf3);color:var(--muted)}
.mb{padding:10px 14px}
.mi{display:flex;align-items:flex-start;gap:9px;padding:7px 0;border-bottom:1px solid var(--border)}
.mi:last-child{border-bottom:none}
.mi.dn .mit{text-decoration:line-through;color:var(--muted2)}
.mi.dn .mis{color:var(--muted2)}
.mck{width:17px;height:17px;border-radius:4px;border:1.5px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;margin-top:1px;transition:all .15s;background:transparent}
.mck.on{background:var(--acc);border-color:var(--acc);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpolyline points='2,6 5,9 10,3' stroke='white' stroke-width='1.8' fill='none'/%3E%3C/svg%3E");background-size:12px;background-position:center;background-repeat:no-repeat}
.mit{font-size:13px;color:var(--text);line-height:1.4;flex:1}
.mis{font-size:11px;color:var(--muted);margin-top:3px}
.mas{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.mrf{background:transparent;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:1px 5px;border-radius:4px;flex-shrink:0}
.mrf:hover{color:var(--text);background:var(--surf3)}
.seed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}
.mem{font-size:12px;color:var(--muted);font-style:italic;padding:8px 0;text-align:center}
.section-mini-hdr{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:8px 0 4px}
.handle{color:var(--muted);font-size:11px}

/* SEED */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.seed-card{background:var(--surf);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.seed-card-head{padding:12px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.seed-username{font-size:14px;font-weight:700;font-family:monospace}
.seed-charname{font-size:12px;color:var(--muted);margin-top:2px}
.seed-card-body{padding:10px 14px}
.seed-bio{font-size:12px;color:var(--text);line-height:1.5;margin-bottom:6px}
.seed-pref{margin-top:4px}
.seed-card-foot{padding:10px 14px;border-top:1px solid var(--border);display:flex;gap:8px}

/* CONTENT QUEUE */
.content-item{background:var(--surf2);border:1px solid var(--border);border-radius:8px;padding:11px;margin-bottom:8px}
.content-status-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.content-text{font-size:13px;color:var(--text);line-height:1.6;white-space:pre-wrap;padding:8px;background:var(--bg);border-radius:6px;border:1px solid var(--border)}
.content-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}

/* CONTACTS */
.contact-card{background:var(--surf);border:1px solid var(--border);border-radius:9px;margin-bottom:7px;overflow:hidden}
.contact-head{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer}
.contact-head:hover{background:var(--surf2)}
.cav{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}
.contact-body{padding:12px 14px 14px 56px;border-top:1px solid var(--border);display:none}
.contact-body.open{display:block}
.cfl{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.cfv{font-size:12px;color:var(--text)}

/* BACK LINK */
.back-link{font-size:12px;color:var(--muted);display:block;margin-bottom:4px}
.back-link:hover{color:var(--text)}

/* MOBILE */
@media(max-width:768px){
  :root{--nav-w:0px}
  #nav{width:100%;height:auto;position:fixed;bottom:0;top:auto;flex-direction:column;border-right:none;border-top:1px solid var(--border)}
  .nav-logo{display:none}
  .nav-links{flex-direction:row;overflow-x:auto;padding:4px}
  .nav-links a{padding:6px 10px;font-size:11px;border-left:none;border-bottom:2px solid transparent;white-space:nowrap}
  .nav-links a.active{border-bottom-color:var(--acc);border-left:none}
  .nav-logout{margin-top:0;border-top:none}
  #main{margin-left:0;padding:12px;padding-bottom:60px}
  .mg,.kanban,.stats-row{grid-template-columns:1fr}
  .mc.full{grid-column:1}
  .modal-g{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .card-grid{grid-template-columns:1fr}
  .seed-grid{grid-template-columns:1fr}
}
