:root{
  --bg:#0a0d0d;
  --panel:#111615;
  --panel2:#161c1b;
  --line:#232b29;
  --amber:#ffb000;
  --amber-text:#ffb000;
  --amber-dim:#8a6100;
  --text:#dfe6e3;
  --text-dim:#7c8985;
  --danger:#ff5d5d;
}
:root[data-theme="light"]{
  --bg:#f7f7f5;
  --panel:#ffffff;
  --panel2:#f1f0ec;
  --line:#e2e0d9;
  --amber:#ffb000;
  --amber-text:#8a5500;
  --amber-dim:#f0dfc0;
  --text:#151515;
  --text-dim:#6b6b63;
  --danger:#c1432f;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:sans-serif;}
button{font-family:inherit;cursor:pointer;}
input[type=text], input[type=password], input[type=email], input[type=tel], input[type=url], textarea{
  font-family:monospace;background:var(--panel2);border:1px solid var(--line);color:var(--text);
  border-radius:3px;padding:6px 8px;width:100%;font-size:13px;
}
input[type=checkbox]{accent-color:var(--amber);}
label{font-size:11px;letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase;display:block;margin-bottom:3px;}
.btn{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:4px;padding:7px 12px;font-size:12px;}
.btn:hover{border-color:var(--amber-dim);}
.btn.primary{background:var(--amber);color:#151100;border-color:var(--amber);font-weight:600;}
.btn.primary:hover{background:#ffc233;}
.btn.danger{color:var(--danger);}
.btn.small{padding:3px 8px;font-size:11px;}
.wrap{max-width:1100px;margin:0 auto;padding:24px 16px 60px;}
header.top{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:24px;}
header.top h1{font-size:14px;letter-spacing:.08em;margin:0;font-weight:700;color:var(--amber-text);text-transform:uppercase;}
header.top .spacer{flex:1;}

.admin-tabnav{background:var(--panel);border-bottom:1px solid var(--line);margin:-24px 0 24px;position:sticky;top:0;z-index:10;}
.admin-tabnav .wrap{display:flex;gap:4px;padding:0;overflow-x:auto;}
.admin-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);padding:12px 14px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;}
.admin-tab:hover{color:var(--text);}
.admin-tab.active{color:var(--amber-text);border-bottom-color:var(--amber);font-weight:700;}
.panel{background:var(--panel);border:1px solid var(--line);padding:16px;margin-bottom:20px;}
.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--amber-text);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:14px;font-weight:700;}
.row{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.row > div{flex:1;min-width:160px;}
.readout{font-family:monospace;font-size:12px;color:var(--text-dim);display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid var(--line);}
.readout:last-child{border-bottom:none;}
.readout b{color:var(--amber-text);font-weight:600;}
.error-msg{color:var(--danger);font-size:12px;margin-bottom:10px;}
.login-wrap{display:flex;align-items:center;justify-content:center;height:100vh;}
.login-panel{width:280px;display:flex;flex-direction:column;gap:10px;}
table.log-table{width:100%;border-collapse:collapse;font-family:monospace;font-size:11px;margin-top:6px;}
table.log-table th{text-align:left;color:var(--text-dim);font-weight:400;padding:6px 8px;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;white-space:nowrap;}
table.log-table td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top;}
.folder-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.folder-item{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);background:var(--panel2);border-radius:3px;}
.folder-item img{width:40px;height:40px;object-fit:cover;flex-shrink:0;}
.folder-item .noimg{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-dim);background:var(--bg);font-size:16px;}
.folder-item .name{flex:1;font-size:13px;}
.link-row{display:flex;gap:8px;margin-bottom:8px;align-items:center;}
.link-row .del{color:var(--text-dim);cursor:pointer;padding:4px 8px;flex-shrink:0;}
.link-row .del:hover{color:var(--danger);}
.hint{font-size:11px;color:var(--text-dim);line-height:1.5;margin-top:4px;}
.tag{display:inline-block;background:var(--panel2);border:1px solid var(--line);border-radius:3px;padding:2px 6px;font-size:10px;font-family:monospace;color:var(--text-dim);margin-right:4px;margin-bottom:4px;}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}
.saved-msg{color:var(--amber-text);font-size:12px;margin-bottom:10px;}

.project-card{border:1px solid var(--line);background:var(--panel2);border-radius:3px;padding:12px;margin-bottom:10px;}
.project-card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.project-card-head img{width:40px;height:40px;object-fit:cover;flex-shrink:0;border-radius:3px;}
.project-card-head .noimg{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-dim);background:var(--bg);font-size:16px;border-radius:3px;}
.project-card-name{flex:1;min-width:140px;}
.folder-slug{font-family:monospace;font-size:10px;color:var(--text-dim);margin-bottom:2px;}
.inline-check{display:flex;align-items:center;gap:5px;font-size:11px;text-transform:none;letter-spacing:normal;white-space:nowrap;color:var(--text);}
.project-card-row{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;}
.project-card-row > div{flex:1;min-width:120px;}
.project-card textarea{margin-top:0;}

/* Public front-end (index.html) --------------------------------------- */
a{color:var(--amber-text);}
.top-row{display:flex;gap:24px;flex-wrap:wrap;}
.contact-col{flex:1 1 320px;}
.visitor-col{flex:1 1 320px;}
.grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));gap:20px;}
.thumb{width:100%;display:block;}
.grid a{color:var(--text-dim);text-decoration:none;font-size:13px;}
.grid a:hover{color:var(--amber-text);}
.folder-name{margin-top:6px;}
