:root{
  --tc-bg:#0e0e14;
  --tc-panel:#19191f;
  --tc-panel-2:#202027;
  --tc-border:#2d2d37;
  --tc-text:#f4f2f7;
  --tc-muted:#aaa6b5;
  --tc-pink:#d84b83;
  --tc-pink-2:#b43b72;
  --tc-purple:#8b5cf6;
  --tc-green:#39c680;
  --tc-yellow:#f0b429;
  --tc-red:#ef5c67;
  --tc-radius:16px;
  --tc-shadow:0 22px 60px rgba(0,0,0,.28);
}

*{box-sizing:border-box}
html{background:var(--tc-bg)}
body.tcModBody{margin:0;background:var(--tc-bg);color:var(--tc-text);font-family:"Plus Jakarta Sans",Arial,sans-serif}

.tcMod{min-height:100vh;display:grid;grid-template-columns:218px minmax(0,1fr);background:
radial-gradient(circle at 85% 0,rgba(139,92,246,.08),transparent 28%),var(--tc-bg)}

.tcModSide{position:sticky;top:0;height:100vh;padding:20px 16px;border-right:1px solid var(--tc-border);background:rgba(14,14,20,.96);z-index:20}
.tcModBrand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;margin-bottom:28px}
.tcModBrand>span:last-child span{color:var(--tc-pink)}
.tcModBrand__logo{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--tc-pink),#ef78a7);font-size:13px}

.tcModNav{display:flex;flex-direction:column;gap:5px}
.tcModNav__label{margin:16px 8px 5px;color:#767381;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}
.tcModNav a,.tcModNav button{border:0;background:transparent;color:#bdb9c7;text-decoration:none;text-align:left;padding:10px 11px;border-radius:10px;font:inherit;cursor:pointer}
.tcModNav a:hover,.tcModNav button:hover,.tcModNav .is-active{background:#22222b;color:#fff}
.tcModSide__foot{position:absolute;left:16px;right:16px;bottom:20px;border:1px solid var(--tc-border);border-radius:13px;padding:13px;background:#18181f}
.tcModSide__foot strong,.tcModSide__foot small{display:block}.tcModSide__foot small{color:var(--tc-muted);margin-top:5px}

.tcModMain{min-width:0;padding:24px 28px 50px}
.tcModTop{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.tcModBack{font-size:12px;color:#aaa6b5;text-decoration:none}
.tcModTop h1{font-size:27px;margin:8px 0 5px}.tcModTop p{margin:0;color:var(--tc-muted);font-size:13px}
.tcModMobileMenu{display:none;border:1px solid var(--tc-border);background:var(--tc-panel);color:#fff;border-radius:9px;padding:9px 11px}

.tcModStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.tcModStats article{padding:17px 18px;border:1px solid var(--tc-border);border-radius:var(--tc-radius);background:linear-gradient(145deg,#1d1d26,#17171e)}
.tcModStats strong{display:block;font-size:24px;color:#a36cff}.tcModStats article:nth-child(2) strong{color:var(--tc-yellow)}.tcModStats article:nth-child(3) strong{color:var(--tc-red)}.tcModStats article:nth-child(4) strong{color:var(--tc-green)}
.tcModStats span{display:block;color:var(--tc-muted);font-size:12px;margin-top:7px}

.tcModRecipePicker{display:flex;gap:12px;margin-bottom:18px;padding:14px;border:1px solid var(--tc-border);border-radius:var(--tc-radius);background:var(--tc-panel)}
.tcModRecipePicker>div{flex:1}.tcModRecipePicker label{display:block;font-size:11px;color:var(--tc-muted);margin-bottom:7px}
.tcModRecipePicker select,.tcModRecipePicker input{width:100%;height:43px;border:1px solid var(--tc-border);border-radius:10px;background:#141419;color:#fff;padding:0 13px}
.tcModRecipePicker input{max-width:330px;align-self:end}

.tcModLayout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.tcModEditor{min-width:0}
.tcModRight{min-width:0}
.tcSticky{position:sticky;top:18px}

.tcPanel{border:1px solid var(--tc-border);border-radius:var(--tc-radius);background:linear-gradient(180deg,#1c1c23,#18181e);padding:16px;margin-bottom:18px;box-shadow:var(--tc-shadow)}
.tcPanel__title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.tcPanel__title h2{margin:0;font-size:15px}
.tcSaveState{font-size:11px;color:var(--tc-muted)}.tcSaveState.is-dirty{color:var(--tc-yellow)}.tcSaveState.is-saving{color:#9f7aea}.tcSaveState.is-saved{color:var(--tc-green)}.tcSaveState.is-error{color:var(--tc-red)}

.tcRecipeHero{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(260px,.95fr);gap:14px}
.tcRecipeHero__image{position:relative;min-height:285px;border-radius:12px;overflow:hidden;background:#111}
.tcRecipeHero__image img{width:100%;height:100%;object-fit:cover;display:block}
.tcRecipeHero__image .tcBtn{position:absolute;right:10px;bottom:10px}
.tcRecipeHero__fields{display:grid;gap:10px}
label span{display:block;margin-bottom:7px;color:#b9b5c2;font-size:11px}
input,select,textarea{font:inherit}
.tcRecipeHero input,.tcRecipeHero select,.tcFieldFull textarea,.tcGrid3 input,.tcGrid3 select{width:100%;border:1px solid var(--tc-border);border-radius:10px;background:#141419;color:#fff;padding:11px 12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:rgba(216,75,131,.8);box-shadow:0 0 0 3px rgba(216,75,131,.12)}
.tcFieldFull{display:block;margin-top:14px}
.tcGrid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}

.tcFormActions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.tcBtn{border:1px solid var(--tc-border);border-radius:10px;padding:11px 15px;background:#272730;color:#fff;font-weight:700;cursor:pointer;transition:.18s ease}
.tcBtn:hover{transform:translateY(-1px);filter:brightness(1.08)}.tcBtn:disabled{opacity:.55;cursor:wait;transform:none}
.tcBtn--pink{background:linear-gradient(180deg,#df548d,#c43f78);border-color:#df548d}
.tcBtn--soft{background:#24242c}
.tcBtn--danger{background:rgba(239,92,103,.13);border-color:rgba(239,92,103,.25);color:#ff7d88}
.tcBtn--glass{background:rgba(16,16,22,.78);backdrop-filter:blur(8px)}
.tcBtn--small{padding:8px 11px;font-size:12px;background:rgba(216,75,131,.18);border-color:rgba(216,75,131,.32)}
.tcBtn--block{display:block;width:100%;margin-top:9px}

.tcList,.tcSteps{display:grid;gap:8px}
.tcIngredientRow{display:grid;grid-template-columns:30px minmax(180px,1fr) 140px 120px 38px 38px;gap:8px;align-items:center;padding:8px;border:1px solid var(--tc-border);border-radius:11px;background:#15151b}
.tcIngredientRow input,.tcStepRow textarea{width:100%;border:1px solid var(--tc-border);border-radius:8px;background:#1d1d24;color:#fff;padding:9px}
.tcDrag{border:0;background:transparent;color:#8f8a99;cursor:grab}
.tcIconBtn{width:36px;height:36px;border:1px solid var(--tc-border);border-radius:9px;background:#25252d;color:#fff;cursor:pointer}
.tcIconBtn:hover{background:#31313b}
.tcEmptyText{color:var(--tc-muted);font-size:12px}

.tcStepRow{display:grid;grid-template-columns:34px minmax(0,1fr) 38px 38px;gap:9px;align-items:center;padding:10px;border:1px solid var(--tc-border);border-radius:11px;background:#15151b}
.tcStepNumber{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--tc-purple);font-size:12px;font-weight:800}

.tcStatusLine{display:flex;justify-content:space-between;align-items:center;color:var(--tc-muted);font-size:12px;margin-bottom:12px}
.tcStatusLine b{padding:5px 9px;border-radius:999px;font-size:11px}.tcStatusLine .is-published{background:rgba(57,198,128,.15);color:var(--tc-green)}.tcStatusLine .is-pending{background:rgba(240,180,41,.13);color:var(--tc-yellow)}
.tcInfo{margin:0}.tcInfo div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.tcInfo div:last-child{border-bottom:0}.tcInfo dt{color:var(--tc-muted);font-size:12px}.tcInfo dd{margin:0;font-size:12px;text-align:right}

.tcPreviewCard{overflow:hidden;border-radius:12px;border:1px solid var(--tc-border);background:#141419}
.tcPreviewCard img{width:100%;height:165px;object-fit:cover;display:block}
.tcPreviewCard div{padding:12px}.tcPreviewCard span{font-size:10px;color:#b8b3c2}.tcPreviewCard h3{margin:7px 0;font-size:17px}.tcPreviewCard p{font-size:12px;line-height:1.55;color:var(--tc-muted);margin:0}

.tcToastZone{position:fixed;right:20px;bottom:20px;z-index:1000;display:grid;gap:9px}
.tcToast{min-width:260px;max-width:390px;padding:13px 15px;border-radius:11px;background:#24242c;color:#fff;border:1px solid var(--tc-border);box-shadow:var(--tc-shadow);opacity:0;transform:translateY(10px);transition:.25s ease}
.tcToast.is-visible{opacity:1;transform:none}.tcToast--error{border-color:rgba(239,92,103,.5);color:#ff9da5}

.tcModal[hidden]{display:none}.tcModal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px}.tcModal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}.tcModal__box{position:relative;width:min(440px,100%);border:1px solid var(--tc-border);border-radius:16px;background:#1c1c23;padding:20px;box-shadow:var(--tc-shadow)}.tcModal__box h2{margin-top:0}.tcModal__box p{color:var(--tc-muted);line-height:1.6}.tcModal__close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#aaa;font-size:24px;cursor:pointer}.tcModal__actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}

.tcModEmpty{text-align:center;padding:70px 20px;border:1px solid var(--tc-border);border-radius:var(--tc-radius);background:var(--tc-panel)}
.tcRecipePickerMeta{display:flex;align-items:flex-end;justify-content:center;flex-direction:column;min-width:190px;color:var(--tc-muted);font-size:12px}
.tcRecipePickerMeta strong{font-size:20px;color:#fff}

.tcCreateModal[hidden]{display:none}
.tcCreateModal{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:18px}
.tcCreateModal__backdrop{position:absolute;inset:0;background:rgba(5,5,9,.82);backdrop-filter:blur(7px)}
.tcCreateModal__dialog{position:relative;width:min(760px,100%);max-height:min(92vh,900px);display:flex;flex-direction:column;border:1px solid var(--tc-border);border-radius:20px;background:linear-gradient(180deg,#202027,#17171d);box-shadow:0 35px 100px rgba(0,0,0,.55);overflow:hidden}
.tcCreateModal__header{display:flex;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--tc-border)}
.tcCreateModal__header h2{margin:3px 0 5px;font-size:24px}
.tcCreateModal__header p{margin:0;color:var(--tc-muted);font-size:12px}
.tcCreateModal__eyebrow{color:var(--tc-pink);font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.tcCreateModal__close{border:0;background:transparent;color:#aaa;font-size:30px;cursor:pointer;line-height:1}
.tcCreateModal form{display:flex;flex-direction:column;min-height:0}
.tcCreateModal__body{padding:20px 22px;overflow:auto;display:grid;gap:16px}
.tcCreateCountry{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;border:1px solid rgba(216,75,131,.25);background:rgba(216,75,131,.08);border-radius:13px;padding:13px}
.tcCreateCountry__flag{font-size:28px}.tcCreateCountry small,.tcCreateCountry strong{display:block}.tcCreateCountry small{color:var(--tc-muted);margin-bottom:3px}.tcCreateCountry__lock{opacity:.7}
.tcCreateGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tcCreateGrid select,.tcCreateField input,.tcCreateField textarea{width:100%;border:1px solid var(--tc-border);border-radius:10px;background:#131318;color:#fff;padding:12px}
.tcCreateLabel{display:block;margin-bottom:8px;color:#b9b5c2;font-size:11px}
.tcMediaPick{display:flex;gap:8px;margin-bottom:12px}
.tcMediaPick__btn{flex:1;border:1px solid var(--tc-border);border-radius:11px;background:#18181f;color:#bbb;padding:11px;cursor:pointer}
.tcMediaPick__btn.is-active{border-color:rgba(216,75,131,.65);background:rgba(216,75,131,.14);color:#fff}
.tcCreateUpload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:130px;border:1px dashed #454550;border-radius:13px;background:#141419;text-align:center;cursor:pointer;padding:18px}
.tcCreateUpload:hover{border-color:var(--tc-pink)}
.tcCreateUpload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.tcCreateUpload__icon{font-size:25px;margin-bottom:7px}.tcCreateUpload small{color:var(--tc-muted);margin-top:5px}
.tcCreatePreview{position:relative;margin-top:10px;border-radius:12px;overflow:hidden;background:#08080b}
.tcCreatePreview img,.tcCreatePreview video{display:block;width:100%;max-height:320px;object-fit:contain}
.tcCreatePreview button{position:absolute;right:9px;top:9px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(0,0,0,.7);color:#fff;padding:7px 10px;cursor:pointer}
.tcCreateModal__footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--tc-border);background:#17171d}
.tcCreateFeedback{margin-right:auto;font-size:12px;color:var(--tc-muted)}
.tcCreateFeedback.is-error{color:var(--tc-red)}.tcCreateFeedback.is-success{color:var(--tc-green)}
body.tcModalOpen{overflow:hidden}
@media(max-width:1180px){
  .tcMod{grid-template-columns:190px minmax(0,1fr)}
  .tcModLayout{grid-template-columns:minmax(0,1fr) 285px}
  .tcRecipeHero{grid-template-columns:1fr}
  .tcRecipeHero__image{min-height:360px}
  .tcIngredientRow{grid-template-columns:28px minmax(140px,1fr) 100px 90px 36px 36px}
}
@media(max-width:900px){
  .tcMod{display:block}
  .tcModSide{position:fixed;left:0;top:0;width:250px;transform:translateX(-102%);transition:.25s ease;box-shadow:20px 0 60px rgba(0,0,0,.35)}
  .tcModSide.is-open{transform:translateX(0)}
  .tcModMobileMenu{display:inline-block}
  .tcModMain{padding:18px}
  .tcModTop{align-items:flex-start}
  .tcModLayout{grid-template-columns:1fr}
  .tcSticky{position:static}
  .tcModStats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .tcModMain{padding:12px}
  .tcModTop{display:grid;grid-template-columns:auto 1fr}.tcModTop>.tcBtn{grid-column:1/-1;width:100%}
  .tcModTop h1{font-size:21px}
  .tcModRecipePicker{display:grid}.tcModRecipePicker input{max-width:none}
  .tcModStats{gap:8px}.tcModStats article{padding:13px}
  .tcRecipeHero__image{min-height:230px}
  .tcGrid3{grid-template-columns:1fr}
  .tcIngredientRow{grid-template-columns:24px 1fr 70px}
  .tcIngredientRow .tcIngUnit{grid-column:2/3}
  .tcIngredientRow .tcSaveIngredient{grid-column:3}
  .tcIngredientRow .tcDeleteIngredient{grid-column:3}
  .tcStepRow{grid-template-columns:30px 1fr 36px}.tcStepRow .tcDeleteStep{grid-column:3}
  .tcFormActions .tcBtn{width:100%}
  .tcToastZone{left:12px;right:12px;bottom:12px}.tcToast{min-width:0;max-width:none}
}
