/* ===================================================================
   שוט בוטומט — שפת העיצוב הראשית של בוטומט (main-design)
   תמה בהירה בלבד · אקסנט ענבר #fbbf24 · כפתור-גיבור gray-900 · Assistant
   מחלקות סמנטיות עם ערכים 1:1 מהמתכונים (references/tokens.md + components.md)
   =================================================================== */
:root{
  /* רקעים */
  --bg:#f8f9fb; --bg2:#f9fafb; --panel:#ffffff; --panel2:#f9fafb; --panel3:#f3f4f6;
  /* גבולות */
  --line:#f3f4f6; --line2:#e5e7eb;
  /* טקסט */
  --txt:#111827; --muted:#6b7280; --muted2:#9ca3af;
  /* מותג / אקסנט */
  --brand:#111827; --brand2:#111827; --accent:#fbbf24; --accent-soft:#fffbeb;
  /* סמנטי */
  --good:#10b981; --warn:#f59e0b; --bad:#ef4444;
  --grad:#111827; --grad-soft:#fffbeb;
  /* רדיוסים */
  --r:16px; --r-lg:24px; --r-sm:12px;
  /* צללים */
  --sh:0 25px 50px -12px rgba(0,0,0,.18);
  --sh-sm:0 1px 2px 0 rgba(0,0,0,.05);
  --fs:'Assistant',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--fs); background:var(--bg); color:var(--txt);
  min-height:100vh; direction:rtl; text-align:right;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  font-size:16px; line-height:1.55;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
::selection{background:rgba(251,191,36,.35)}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:#d1d5db}
::-webkit-scrollbar-track{background:transparent}
input,textarea,select{border-radius:1rem;font-weight:600}

/* ===== layout ===== */
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.app-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.app-header .wrap{display:flex;align-items:center;gap:18px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:-.3px;color:var(--txt)}
.logo .mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,#1f2937,#030712);display:grid;place-items:center;font-size:20px;box-shadow:0 10px 15px -3px rgba(0,0,0,.12)}
.logo b{color:var(--txt);font-weight:800}
.nav{display:flex;gap:6px;margin-inline-start:auto;align-items:center}
.nav a{padding:9px 14px;border-radius:12px;color:var(--muted);font-weight:700;font-size:15px;transition:all .2s}
.nav a:hover{color:var(--txt);background:#f3f4f6}
.nav a.active{color:var(--txt);background:#f3f4f6}
.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#fb923c);display:grid;place-items:center;font-weight:800;color:#fff;cursor:pointer;overflow:hidden;box-shadow:0 10px 15px -3px rgba(251,191,36,.35)}
.avatar img{width:100%;height:100%;object-fit:cover}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;
  padding:12px 24px;border-radius:16px;font-weight:800;font-size:15px;color:#374151;background:#f3f4f6;
  transition:all .2s;white-space:nowrap}
.btn:hover{background:#e5e7eb}
.btn:active{transform:scale(.95)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-primary{background:#111827;color:#fff;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.btn-primary:hover{background:#000}
.btn-ghost{background:transparent;border:1px solid var(--line2);color:#374151}
.btn-ghost:hover{background:#f9fafb}
.btn-danger{background:#ef4444;color:#fff;box-shadow:0 10px 15px -3px rgba(254,226,226,.9),0 4px 6px -4px rgba(254,226,226,.9)}
.btn-danger:hover{background:#dc2626}
.btn-sm{padding:8px 14px;font-size:13.5px;border-radius:12px}
.btn-lg{padding:16px 28px;font-size:17px;border-radius:16px}
.btn-rec{background:#ef4444;color:#fff;box-shadow:0 10px 15px -3px rgba(254,226,226,.9),0 4px 6px -4px rgba(254,226,226,.9)}
.btn-rec:hover{background:#dc2626}
.icon-btn{width:40px;height:40px;padding:0;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm);color:#374151;display:grid;place-items:center;font-size:17px;cursor:pointer;transition:all .2s}
.icon-btn:hover{background:#f9fafb;color:var(--txt)}
.icon-btn:active{transform:scale(.95)}

/* ===== cards / panels ===== */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;background:#f3f4f6;color:#374151}
.chip.good{background:#ecfdf5;color:#047857}
.chip.warn{background:#fffbeb;color:#b45309}
.chip.bad{background:#fef2f2;color:#b91c1c}
.chip.info{background:#eff6ff;color:#1d4ed8}

/* ===== forms ===== */
.field{display:block;margin-bottom:16px}
.field label{display:block;font-weight:800;font-size:13.5px;color:#374151;margin-bottom:8px}
.input,textarea.input,select.input{width:100%;background:#f9fafb;border:2px solid transparent;border-radius:16px;
  padding:14px 16px;color:#111827;font-size:15px;font-weight:600;font-family:inherit;outline:none;transition:all .2s}
.input::placeholder{color:#9ca3af;font-weight:600}
.input:focus{border-color:var(--accent);background:#fff}
textarea.input{resize:vertical;min-height:110px;line-height:1.55}
.toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;font-weight:700}
.toggle input{display:none}
.toggle .track{width:46px;height:27px;border-radius:99px;background:#e5e7eb;position:relative;transition:.2s;flex:none}
.toggle .track::after{content:"";position:absolute;top:3px;right:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.2s}
.toggle input:checked + .track{background:#111827}
.toggle input:checked + .track::after{transform:translateX(-19px)}

/* ===== auth ===== */
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px 16px}
.auth-card{width:100%;max-width:440px;padding:40px 36px;border-radius:40px}
.auth-card .logo{justify-content:center;font-size:26px;margin-bottom:8px}
.auth-card .logo .mark{width:52px;height:52px;font-size:26px;border-radius:18px}
.auth-sub{text-align:center;color:var(--muted);margin:0 0 26px;font-weight:700}
.auth-switch{text-align:center;margin-top:18px;color:var(--muted);font-size:14.5px;font-weight:600}
.auth-switch a{color:var(--txt);font-weight:800;cursor:pointer;text-decoration:underline}
.divider{display:flex;align-items:center;gap:12px;color:var(--muted2);font-size:13px;font-weight:800;margin:18px 0}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line2)}
.google-btn{width:100%;background:#fff;color:#111827;border:1px solid var(--line2);border-radius:16px;padding:13px;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .2s}
.google-btn:hover{background:#f9fafb}
.google-btn:active{transform:scale(.98)}
.msg{padding:12px 16px;border-radius:16px;font-weight:700;font-size:14px;margin-bottom:14px}
.msg.err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.msg.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}

/* ===== page head ===== */
.page{padding:32px 0 80px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.page-head h1{margin:0;font-size:30px;font-weight:800;letter-spacing:-.5px;color:var(--txt)}
.page-head p{margin:4px 0 0;color:var(--muted);font-weight:700}

/* ===== library grid ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.vcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:all .2s;cursor:pointer;box-shadow:var(--sh-sm)}
.vcard:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.vthumb{position:relative;aspect-ratio:16/9;background:#f3f4f6;overflow:hidden;display:grid;place-items:center}
.vthumb img{width:100%;height:100%;object-fit:cover}
.vthumb .ph{color:var(--muted2);font-size:34px}
.vthumb .dur{position:absolute;bottom:8px;inset-inline-start:8px;background:rgba(17,24,39,.82);color:#fff;font-size:12px;font-weight:800;padding:3px 8px;border-radius:8px}
.vthumb .play{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:.2s;background:rgba(17,24,39,.28)}
.vcard:hover .vthumb .play{opacity:1}
.vthumb .play span{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.92);color:#111827;backdrop-filter:blur(4px);display:grid;place-items:center;font-size:22px;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.vthumb .badges{position:absolute;top:8px;inset-inline-end:8px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.vbody{padding:14px 16px 16px}
.vbody h3{margin:0 0 4px;font-size:16.5px;font-weight:800;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vmeta{display:flex;align-items:center;gap:10px;color:var(--muted2);font-size:12.5px;font-weight:700}

/* ===== empty state ===== */
.empty{text-align:center;padding:70px 20px;color:var(--muted)}
.empty .em{font-size:56px;margin-bottom:14px;opacity:.7}
.empty h2{color:var(--txt);font-weight:800;margin:0 0 6px}

/* ===== modal ===== */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(12px);z-index:100;display:grid;place-items:center;padding:16px;animation:fade .2s}
@keyframes fade{from{opacity:0}}
.modal{width:100%;max-width:560px;max-height:92vh;overflow:auto;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh);animation:pop .2s}
@keyframes pop{from{transform:translateY(14px) scale(.98);opacity:0}}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}
.modal-head h2{margin:0;font-size:20px;font-weight:800;color:var(--txt)}
.modal-body{padding:24px}
.modal-body p{color:var(--muted);font-weight:700}
.modal-foot{padding:16px 24px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-start}
.modal.wide{max-width:1000px}

/* ===== recorder ===== */
.rec-stage{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-sm)}
.rec-preview{position:relative;background:#f3f4f6;border-radius:16px;overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center;border:1px solid var(--line)}
.rec-preview video{width:100%;height:100%;object-fit:contain;background:#000}
.rec-preview .placeholder{color:var(--muted);text-align:center;padding:20px}
.rec-preview .placeholder .em{font-size:52px;margin-bottom:10px;opacity:.7}
.rec-cam{position:absolute;width:150px;height:150px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(0,0,0,.35);bottom:16px;inset-inline-start:16px;background:#000}
.rec-cam video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.rec-timer{position:absolute;top:14px;inset-inline-end:14px;background:rgba(17,24,39,.78);color:#fff;padding:6px 13px;border-radius:99px;font-weight:800;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:8px}
.rec-dot{width:11px;height:11px;border-radius:50%;background:#ef4444;animation:blink 1s infinite}
@keyframes blink{50%{opacity:.25}}
.rec-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}
.opt-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.opt{flex:1;min-width:150px;background:#f9fafb;border:1px solid var(--line);border-radius:16px;padding:14px 16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:12px}
.opt:hover{border-color:var(--line2);background:#f3f4f6}
.opt.on{border-color:var(--accent);background:#fffbeb}
.opt .oi{width:40px;height:40px;border-radius:12px;background:#f3f4f6;display:grid;place-items:center;font-size:20px;flex:none}
.opt.on .oi{background:var(--accent);color:#111827}
.opt .ol{font-weight:800;font-size:14.5px;color:var(--txt)}
.opt .od{font-size:12px;color:var(--muted2);font-weight:600}
.opt.disabled{opacity:.42;pointer-events:none;filter:grayscale(.4)}

/* preview fill box — sized to the real source aspect so crop maps 1:1 */
.prev-fill{position:relative;max-width:100%;max-height:100%;overflow:hidden;border-radius:10px;background:#000}
.prev-fill video.prev{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.setup-cam{width:96px;height:96px;bottom:12px;inset-inline-start:12px;border-width:3px;z-index:3}

/* live-state badge (recording is running in the float window) */
.live-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:999px;background:#fef2f2;color:#b91c1c;font-weight:800;font-size:13px;border:1px solid #fecaca}

/* custom-area crop selector */
.crop-layer{position:absolute;inset:0;z-index:2;cursor:crosshair;touch-action:none}
.crop-box{position:absolute;border:2px solid var(--accent);background:rgba(251,191,36,.12);box-shadow:0 0 0 9999px rgba(17,24,39,.42);cursor:move;touch-action:none}
.crop-h{position:absolute;width:16px;height:16px;background:#fff;border:2px solid var(--accent);border-radius:50%;touch-action:none}
.crop-h.nw{inset-block-start:-9px;inset-inline-start:-9px;cursor:nwse-resize}
.crop-h.ne{inset-block-start:-9px;inset-inline-end:-9px;cursor:nesw-resize}
.crop-h.sw{inset-block-end:-9px;inset-inline-start:-9px;cursor:nesw-resize}
.crop-h.se{inset-block-end:-9px;inset-inline-end:-9px;cursor:nwse-resize}

/* area row + segmented toggle */
.area-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.area-label{font-size:12px;font-weight:800;color:var(--muted2);text-transform:uppercase;letter-spacing:.05em}
.area-dims{font-size:13px;font-weight:800;color:var(--txt);font-variant-numeric:tabular-nums;direction:ltr}
.seg{display:inline-flex;background:#f3f4f6;border:1px solid var(--line);border-radius:12px;padding:3px;gap:3px}
.seg-btn{border:none;background:transparent;color:var(--muted2);font-weight:800;font-size:13px;font-family:inherit;padding:7px 14px;border-radius:9px;cursor:pointer;transition:all .15s}
.seg-btn.on{background:#fff;color:var(--txt);box-shadow:var(--sh-sm)}

.rec-hint{width:100%;font-size:12.5px;font-weight:700;color:var(--muted2);line-height:1.5;margin-top:2px}

/* start countdown overlay */
.countdown{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(17,24,39,.55);backdrop-filter:blur(2px)}
.cd-num{font-size:96px;font-weight:800;color:#fff;line-height:1;font-variant-numeric:tabular-nums;animation:cdpop .7s ease-out}
@keyframes cdpop{from{transform:scale(.5);opacity:0}40%{transform:scale(1);opacity:1}to{opacity:.85}}

/* ===== toast (top-center pill) ===== */
.toasts{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:10px;align-items:center}
.toast{background:#fff;border:1px solid var(--line);color:var(--txt);padding:13px 20px;border-radius:999px;font-weight:700;font-size:14px;box-shadow:var(--sh);animation:slidein .2s;max-width:360px}
.toast.ok{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.toast.err{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
@keyframes slidein{from{transform:translateY(-12px);opacity:0}}

/* ===== spinner ===== */
.spin{width:20px;height:20px;border:2.5px solid rgba(17,24,39,.15);border-top-color:#111827;border-radius:50%;animation:rot .7s linear infinite;display:inline-block}
.btn-primary .spin,.btn-rec .spin,.btn-danger .spin{border-color:rgba(255,255,255,.35);border-top-color:#fff}
@keyframes rot{to{transform:rotate(360deg)}}
.center-load{display:grid;place-items:center;padding:80px;gap:14px;color:var(--muted);font-weight:700}

/* ===== progress bar ===== */
.bar{height:8px;background:#f3f4f6;border-radius:99px;overflow:hidden}
.bar > i{display:block;height:100%;background:#111827;border-radius:99px;transition:width .2s}

/* ===== admin table ===== */
.admin-tbl{width:100%;border-collapse:separate;border-spacing:0}
.admin-tbl th{padding:12px 14px;text-align:right;font-size:12px;font-weight:700;color:var(--muted2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line)}
.admin-tbl td{padding:12px 14px;text-align:right;font-weight:700;color:var(--txt);border-bottom:1px solid var(--line);font-size:14px}
.admin-tbl tr:hover td{background:#f9fafb}

@media (max-width:640px){
  .app-header .wrap{height:58px;gap:10px}
  .nav a{padding:8px 10px;font-size:14px}
  .page-head h1{font-size:24px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
}

/* ===================================================================
   editor
   =================================================================== */
.ed-layout{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
@media (max-width:900px){.ed-layout{grid-template-columns:1fr}}
.ed-main{display:flex;flex-direction:column;gap:18px}
.player{position:relative;background:#000;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;display:grid;place-items:center}
.player video{width:100%;height:100%;object-fit:contain;background:#000}
.player .pbtn{position:absolute;inset:0;display:grid;place-items:center;cursor:pointer;background:rgba(0,0,0,.2);transition:.15s}
.player .pbtn span{width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.6);display:grid;place-items:center;font-size:30px;color:#111827;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.player .pbtn.hidden{opacity:0;pointer-events:none}
.pcontrols{display:flex;align-items:center;gap:14px;padding:6px 2px}
.pcontrols .t{font-variant-numeric:tabular-nums;font-weight:800;color:var(--muted);font-size:13.5px}
.scrub{flex:1;height:8px;background:#e5e7eb;border-radius:99px;position:relative;cursor:pointer}
.scrub > i{position:absolute;inset-inline-start:0;top:0;bottom:0;background:#111827;border-radius:99px;width:0}
.scrub .knob{position:absolute;top:50%;transform:translate(50%,-50%);width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #111827;box-shadow:0 2px 8px rgba(0,0,0,.25);inset-inline-start:0}

.timeline-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--sh-sm)}
.tl-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.tl-toolbar .sep{flex:1}
.timeline{position:relative;background:#f9fafb;border:1px solid var(--line);border-radius:16px;padding:12px;overflow-x:auto;overflow-y:hidden;user-select:none;direction:ltr}
.tl-inner{position:relative;min-width:100%}
.tl-ruler{position:relative;height:16px;margin-bottom:6px;color:var(--muted2);font-size:10px;font-weight:700}
.tl-track{position:relative;display:flex;gap:0;height:76px}
.clip{position:relative;height:100%;background:#fff;border:1px solid var(--line2);border-inline-end:2px solid #f9fafb;border-radius:12px;overflow:hidden;min-width:20px;cursor:pointer;flex:none;transition:border-color .12s,box-shadow .12s;box-shadow:var(--sh-sm)}
.clip.sel{border-color:var(--accent);box-shadow:0 0 0 2px rgba(251,191,36,.55)}
.clip .clabel{position:absolute;top:5px;inset-inline-start:6px;font-size:11px;font-weight:800;color:#fff;background:rgba(17,24,39,.62);padding:2px 6px;border-radius:6px;pointer-events:none;z-index:2}
.clip .cdur{position:absolute;bottom:5px;inset-inline-end:6px;font-size:10px;font-weight:800;color:#111827;background:rgba(255,255,255,.85);padding:1px 5px;border-radius:5px;pointer-events:none;z-index:2}
.clip .thumbstrip{position:absolute;inset:0;opacity:.9;background-size:cover;background-position:center}
.clip .handle{position:absolute;top:0;bottom:0;width:12px;background:rgba(17,24,39,.85);cursor:ew-resize;z-index:3;display:grid;place-items:center}
.clip .handle::after{content:"";width:2px;height:40%;background:#fff;border-radius:2px}
.clip .handle.l{inset-inline-start:0;border-radius:12px 0 0 12px}
.clip .handle.r{inset-inline-end:0;border-radius:0 12px 12px 0}
.clip .cbtns{position:absolute;top:5px;inset-inline-end:6px;display:flex;gap:4px;z-index:4;opacity:0;transition:.12s}
.clip:hover .cbtns,.clip.sel .cbtns{opacity:1}
.clip .cbtns button{width:22px;height:22px;border-radius:7px;border:none;background:rgba(17,24,39,.72);color:#fff;font-size:12px;cursor:pointer;display:grid;place-items:center;transition:.12s}
.clip .cbtns button:hover{background:rgba(17,24,39,.92)}
.tl-playhead{position:absolute;top:0;bottom:0;width:2px;background:#111827;z-index:5;pointer-events:none}
.tl-playhead::before{content:"";position:absolute;top:-2px;inset-inline-start:-4px;width:10px;height:10px;border-radius:50%;background:#111827}

/* editor side panel */
.side{display:flex;flex-direction:column;gap:16px}
.side .panel{padding:18px}
.side h3{margin:0 0 12px;font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.02em}
.share-link{display:flex;gap:8px}
.share-link input{flex:1;font-size:13px}
.status-line{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--muted)}
