/* ===== Chef Israel — Tools platform ===== */
:root{
  --bg:#0f1115;
  --bg-soft:#161a21;
  --card:#181d26;
  --card-hover:#1e2531;
  --line:#262d3a;
  --txt:#e6e9ef;
  --txt-dim:#98a2b3;
  --accent:#ff8a3d;
  --accent-soft:rgba(255,138,61,.14);
  --ok:#3ecf8e;
  --err:#ff5f6d;
  --warn:#ffc44d;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
@media (prefers-color-scheme: light){
  :root{
    --bg:#f5f6f8; --bg-soft:#eceef2; --card:#ffffff; --card-hover:#f7f8fa;
    --line:#e2e5ea; --txt:#1b1f27; --txt-dim:#666f7e;
    --accent-soft:rgba(255,138,61,.12);
    --shadow:0 6px 20px rgba(20,24,32,.08);
  }
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--txt);
  font-family:"Segoe UI",Rubik,Assistant,-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
  min-height:100vh; display:flex; flex-direction:column;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{margin:0 0 .4em; line-height:1.25; font-weight:650}
h1{font-size:1.65rem}
h2{font-size:1.2rem}
p{margin:0 0 1em}
code,pre,.mono{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace; direction:ltr; unicode-bidi:embed}
code{background:var(--bg-soft); padding:.12em .4em; border-radius:6px; font-size:.88em}
pre{background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius);
    padding:14px 16px; overflow:auto; text-align:left}

/* ---- topbar ---- */
.topbar{background:var(--bg-soft); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20}
.topbar-in{max-width:1100px; margin:0 auto; padding:12px 20px; display:flex; align-items:center; gap:10px}
.brand{display:flex; align-items:center; gap:9px; color:var(--txt); font-weight:700; text-decoration:none}
.brand:hover{text-decoration:none}
.brand-mark{font-size:1.25rem}
.crumb-sep{color:var(--txt-dim)}
.crumb{color:var(--txt-dim); font-size:.93rem}
.topnav{margin-inline-start:auto; display:flex; gap:16px; font-size:.92rem}
.topnav a{color:var(--txt-dim)}
.topnav a:hover{color:var(--accent)}

/* ---- layout ---- */
.wrap{max-width:1100px; width:100%; margin:0 auto; padding:28px 20px 60px; flex:1}
body.is-wide .wrap{max-width:1500px}
.page-head{margin-bottom:22px}
.page-head .sub{color:var(--txt-dim); margin:0}
.foot{max-width:1100px; margin:0 auto; padding:18px 20px 30px; color:var(--txt-dim); font-size:.83rem;
      display:flex; gap:8px; flex-wrap:wrap}
.foot .dot{opacity:.5}

/* ---- cards / grid ---- */
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(255px,1fr)); gap:16px}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px}
.tool-card{display:block; color:inherit; text-decoration:none; transition:.16s ease; position:relative}
.tool-card:hover{background:var(--card-hover); border-color:var(--accent); transform:translateY(-2px);
                 box-shadow:var(--shadow); text-decoration:none}
.tool-card .ic{font-size:1.7rem; display:block; margin-bottom:8px}
.tool-card .nm{font-weight:650; font-size:1.05rem; margin-bottom:4px}
.tool-card .ds{color:var(--txt-dim); font-size:.88rem; line-height:1.5}

/* ---- forms ---- */
label{display:block; font-size:.88rem; color:var(--txt-dim); margin-bottom:5px}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],
input[type=search],select,textarea{
  width:100%; background:var(--bg-soft); color:var(--txt);
  border:1px solid var(--line); border-radius:10px; padding:10px 12px;
  font:inherit; outline:none; transition:.15s;
}
input:focus,select:focus,textarea:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft)}
textarea{min-height:120px; resize:vertical}
.field{margin-bottom:16px}
.btn{
  display:inline-flex; align-items:center; gap:8px; justify-content:center;
  background:var(--accent); color:#1a1005; border:1px solid transparent;
  border-radius:10px; padding:10px 18px; font:inherit; font-weight:650;
  cursor:pointer; transition:.15s;
}
.btn:hover{filter:brightness(1.08); text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn-ghost{background:transparent; color:var(--txt); border-color:var(--line)}
.btn-ghost:hover{border-color:var(--accent); color:var(--accent)}
.btn-block{width:100%}

/* ---- alerts / badges ---- */
.alert{border-radius:10px; padding:11px 14px; margin-bottom:18px; border:1px solid var(--line); font-size:.93rem}
.alert-info{background:var(--bg-soft)}
.alert-ok{background:rgba(62,207,142,.12); border-color:rgba(62,207,142,.4)}
.alert-error{background:rgba(255,95,109,.12); border-color:rgba(255,95,109,.4)}
.alert-warn{background:rgba(255,196,77,.12); border-color:rgba(255,196,77,.4)}
.badge{display:inline-block; padding:2px 9px; border-radius:99px; font-size:.76rem; font-weight:650;
       background:var(--bg-soft); border:1px solid var(--line)}
.badge-ok{background:rgba(62,207,142,.14); border-color:rgba(62,207,142,.45); color:var(--ok)}
.badge-err{background:rgba(255,95,109,.14); border-color:rgba(255,95,109,.45); color:var(--err)}

/* ---- tables ---- */
table{width:100%; border-collapse:collapse; font-size:.92rem}
th,td{text-align:right; padding:9px 12px; border-bottom:1px solid var(--line)}
th{color:var(--txt-dim); font-weight:600; font-size:.83rem; text-transform:uppercase; letter-spacing:.03em}
tbody tr:hover{background:var(--bg-soft)}
.table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius)}
.table-wrap table{border-radius:var(--radius); overflow:hidden}
.table-wrap tbody tr:last-child td{border-bottom:none}

/* ---- misc ---- */
.muted{color:var(--txt-dim)}
.row{display:flex; gap:12px; flex-wrap:wrap; align-items:center}
.stack{display:flex; flex-direction:column; gap:14px}
.hr{height:1px; background:var(--line); border:0; margin:22px 0}
.kv{display:grid; grid-template-columns:auto 1fr; gap:8px 18px; font-size:.92rem}
.kv dt{color:var(--txt-dim)}
.kv dd{margin:0}

/* ---- login ---- */
.login-wrap{min-height:78vh; display:flex; align-items:center; justify-content:center; padding:20px}
.login-box{width:100%; max-width:370px; background:var(--card); border:1px solid var(--line);
           border-radius:18px; padding:34px 28px; box-shadow:var(--shadow)}
.login-box .logo{font-size:2.4rem; text-align:center; margin-bottom:6px}
.login-box h1{text-align:center; font-size:1.25rem; margin-bottom:22px}

@media (max-width:600px){
  .wrap{padding:20px 14px 40px}
  .topbar-in{padding:10px 14px}
  .brand-text{display:none}
  h1{font-size:1.35rem}
}
