:root{
  --wood-950:#24150f;
  --wood-900:#2d1b13;
  --wood-850:#382117;
  --wood-800:#45291c;
  --wood-700:#5a3421;
  --wood-600:#74452b;
  --wood-500:#93613d;
  --wood-400:#b67c4c;
  --gold-500:#d88728;
  --gold-400:#eba547;
  --gold-300:#f2be77;
  --cream-50:#fffdf9;
  --cream-100:#fbf6ee;
  --cream-150:#f7efe5;
  --cream-200:#efe2d3;
  --cream-300:#e3cfba;
  --ink:#2f241f;
  --muted:#806f64;
  --line:#e8dbcf;
  --line-strong:#d8c5b5;
  --card:#fffefa;
  --green:#2f855a;
  --green-bg:#edf8f1;
  --red:#c65345;
  --red-bg:#fff2ef;
  --blue:#2f6da8;
  --blue-bg:#edf5fb;
  --shadow:0 12px 32px rgba(74,44,25,.07);
  --shadow-sm:0 5px 18px rgba(74,44,25,.055);
  --radius:16px;
  --radius-sm:11px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;min-height:100%;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--cream-100);font-size:15px;line-height:1.55}
body{background:
 radial-gradient(circle at 90% -10%,rgba(235,165,71,.12),transparent 24%),
 linear-gradient(180deg,#fbf7f1 0,#f8f1e8 100%)}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{color:inherit}
img{max-width:100%;display:block}
::selection{background:#ead1b7;color:#392318}

.app-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--wood-950) 0%,#2f1a11 55%,#26150f 100%);color:#f7ecdf;padding:18px 14px 16px;display:flex;flex-direction:column;z-index:40;border-right:1px solid rgba(255,255,255,.05);box-shadow:16px 0 40px rgba(43,25,17,.08)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;padding:4px 9px 19px;color:#fff}
.brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,var(--gold-400),#b76521);display:grid;place-items:center;font-size:19px;box-shadow:0 10px 28px rgba(216,135,40,.23);border:1px solid rgba(255,255,255,.18)}
.brand b{font-size:17px;line-height:1.1;letter-spacing:-.2px}.brand small{display:block;color:#d9b894;margin-top:5px;font-size:11px}
.sidebar-section{margin:10px 10px 5px;color:#bfa58f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{display:flex;align-items:center;gap:12px;text-decoration:none;padding:11px 12px;border-radius:10px;color:#eadfd5;font-size:14px;font-weight:650;transition:.16s ease}
.nav a span{width:21px;text-align:center;font-size:16px;opacity:.95}
.nav a:hover{background:rgba(255,255,255,.07);transform:translateX(1px)}
.nav a.active{background:linear-gradient(90deg,#8f542f,#a96535);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.08)}
.nav a.primary-nav{background:linear-gradient(90deg,#bd712f,#d28634);color:white;margin-bottom:5px;box-shadow:0 10px 24px rgba(187,109,43,.18)}
.nav a.primary-nav.active{background:linear-gradient(90deg,#cf7c31,#e2993f)}
.nav-sep{height:1px;background:rgba(235,219,204,.14);margin:8px 6px}
.sidebar-footer{margin-top:auto}.plan{background:rgba(132,75,39,.22);border:1px solid rgba(218,168,123,.19);border-radius:13px;padding:14px;margin:14px 2px 10px}.plan small,.plan span{display:block;color:#d5b89f;font-size:11px}.plan b{display:block;color:#fff4e8;margin:4px 0;font-size:14px}.logout{display:flex;align-items:center;gap:8px;color:#eadfd5;text-decoration:none;padding:10px 9px;border-radius:9px}.logout:hover{background:rgba(255,255,255,.06)}

.main{min-width:0}
.topbar{height:70px;background:rgba(255,253,249,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 28px;position:sticky;top:0;z-index:30}
.menu-btn{display:none;border:1px solid var(--line);background:#fffaf4;border-radius:10px;width:40px;height:40px;font-size:20px;cursor:pointer}
.top-search{max-width:540px;width:50%;height:42px;border:1px solid var(--line);background:#fffefa;border-radius:11px;display:flex;align-items:center;gap:9px;padding:0 13px;color:#a49386;box-shadow:inset 0 1px 0 #fff}
.top-search input{border:0;outline:0;background:transparent;width:100%;color:#4d3b31;box-shadow:none!important;padding:0!important}
.top-action{margin-left:auto}.top-action .btn{white-space:nowrap}
.top-user{display:flex;align-items:center;gap:10px}.top-user small{display:block;color:#9b897c;font-size:11px}.avatar{width:37px;height:37px;border-radius:50%;background:linear-gradient(145deg,#ecd9c3,#d9b692);color:#57351f;font-weight:850;display:grid;place-items:center;border:1px solid #dbc4ac}.bell{position:relative;font-size:20px;margin-right:5px;color:#6b4a36}.bell i{font-style:normal;position:absolute;right:-7px;top:-7px;background:#ca4e3f;color:#fff;font-size:9px;padding:1px 5px;border-radius:99px}
.content{padding:28px;max-width:1580px;margin:0 auto}

h1,h2,h3,h4{margin-top:0;color:#2e211b;letter-spacing:-.018em}h1{font-size:30px;line-height:1.2;margin-bottom:7px}h2{font-size:21px;margin-bottom:12px}h3{font-size:16px;margin-bottom:7px}h4{font-size:14px}
p{margin-top:0}.muted{color:var(--muted)}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.page-head p{margin:5px 0 0;color:var(--muted)}
.page-eyebrow{display:inline-flex;align-items:center;gap:7px;color:#9c663a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.hero{background:linear-gradient(135deg,#fffdf9 0%,#f4e5d6 100%);border:1px solid var(--line);border-radius:20px;padding:30px;margin-bottom:18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-80px;top:-120px;background:radial-gradient(circle,rgba(216,135,40,.15),transparent 67%)}
.hero h1{font-size:34px;max-width:880px}.hero h1 span{color:#8b4f2c}.hero-flow{color:#6d594c;font-weight:600;margin-bottom:0}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;position:relative;z-index:2}
.hero-note{margin-top:18px;background:rgba(255,253,249,.76);border:1px solid #dfc9b4;border-radius:12px;padding:12px 14px;color:#704b31;font-size:13px;max-width:840px}

.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.card{background:rgba(255,254,250,.96);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:var(--shadow-sm)}
.card.soft{background:#fbf5ed}.card.sticky{position:sticky;top:92px;align-self:start}
.stats .card{display:flex;align-items:center;gap:13px;min-height:102px}.stat-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#f5e2cf,#efd3b5);color:#8a4f2e;font-size:19px;border:1px solid #ecd2ba}.stat-num{font-size:26px;font-weight:850;line-height:1.1}.stat-label{font-size:12px;color:var(--muted);margin-top:4px}
.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick a{text-decoration:none}.quick-card{min-height:135px;position:relative;transition:.18s ease}.quick-card:hover{transform:translateY(-2px);border-color:#d5b596;box-shadow:var(--shadow)}.quick-card b{display:block;margin:11px 0 5px}.quick-card p{margin:0;color:var(--muted);font-size:13px}.quick-card .arrow{position:absolute;right:14px;bottom:12px;color:#9d5c34;font-size:18px}.quick-card.featured{background:linear-gradient(145deg,#fff8ee,#f7e2ca);border-color:#dcb996}

.process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}.process-step{background:#fffdfa;border:1px solid var(--line);border-radius:13px;padding:14px;display:flex;gap:10px;align-items:flex-start}.process-num{flex:0 0 31px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#8a4f2e;color:#fff;font-size:12px;font-weight:900}.process-step b{display:block;font-size:13px}.process-step small{color:var(--muted);display:block;margin-top:2px;line-height:1.4}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px;background:#fffefa;box-shadow:var(--shadow-sm)}
table{border-collapse:collapse;width:100%;min-width:820px}th,td{padding:12px 13px;border-bottom:1px solid #eee3d9;text-align:left;vertical-align:top}th{font-size:11px;color:#746256;background:#faf4ec;white-space:nowrap;text-transform:uppercase;letter-spacing:.035em}td{font-size:13px}.table-actions{white-space:nowrap}.table-wrap tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover{background:#fffaf4}

.btn{border:1px solid var(--line-strong);background:#fffefa;color:#4b3527;border-radius:10px;padding:9px 13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:760;cursor:pointer;font-size:13px;transition:.15s ease;min-height:38px}.btn:hover{border-color:#b88d6c;background:#fff9f2;transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,#98582f,#b96d36);border-color:#98582f;color:#fff;box-shadow:0 7px 18px rgba(137,76,42,.16)}.btn.primary:hover{background:linear-gradient(135deg,#8b4f2c,#ad6332);color:#fff}.btn.gold{background:linear-gradient(135deg,#d27d26,#e59c42);border-color:#d27d26;color:#fff}.btn.danger{background:var(--red-bg);border-color:#efc8c1;color:#a03d32}.btn.success{background:var(--green-bg);border-color:#c3e6d0;color:#26724b}.btn.ghost{background:#fbf6f0}.btn.small{padding:6px 10px;min-height:32px;font-size:12px}.btn.large{padding:12px 18px;min-height:46px;font-size:14px}.btn.full{width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:14px}.toolbar .grow{flex:1;min-width:230px}.right{margin-left:auto}.center{text-align:center}.nowrap{white-space:nowrap}

.input,.select,textarea,input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],select{width:100%;border:1px solid #d9cabb;border-radius:10px;background:#fffefa;padding:10px 11px;outline:none;color:#3e2e25;transition:.15s ease}textarea{min-height:108px;resize:vertical}.input:focus,.select:focus,textarea:focus,input:focus,select:focus{border-color:#c18c5e;box-shadow:0 0 0 3px rgba(169,105,56,.09);background:#fff}.input::placeholder,input::placeholder,textarea::placeholder{color:#af9f92}
label.field,.stack label{display:flex;flex-direction:column;gap:7px;font-weight:760;font-size:13px;color:#514035}.field small,.stack small{font-weight:500;color:#958377}.field-help{font-size:11px;color:#99887a;font-weight:500}.required{color:#b94a3e}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.span-2{grid-column:1/-1}.form-section{border-top:1px solid var(--line);padding-top:17px;margin-top:17px}.form-section:first-child{border-top:0;padding-top:0;margin-top:0}

.choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.choice{border:1px solid var(--line);background:#fffefa;border-radius:13px;padding:15px;cursor:pointer;position:relative;min-height:98px;transition:.15s ease}.choice:hover{border-color:#cba786;background:#fffaf4}.choice.selected{border-color:#9b5b34;box-shadow:0 0 0 2px rgba(137,79,45,.08);background:#fff8ef}.choice b{display:block;font-size:13px}.choice span{color:var(--muted);font-size:11px}.choice input{position:absolute;opacity:0;pointer-events:none}.choice-icon{width:34px;height:34px;border-radius:9px;background:#f5e4d2;display:grid;place-items:center;color:#8b4e2c;margin-bottom:8px}
.radio-row{display:flex;flex-wrap:wrap;gap:9px}.radio-pill input{display:none}.radio-pill span{display:block;border:1px solid var(--line);padding:9px 14px;border-radius:10px;background:#fffefa;cursor:pointer;transition:.13s}.radio-pill input:checked+span{border-color:#a9663b;color:#7d4528;background:#fff3e5;font-weight:800;box-shadow:0 0 0 2px rgba(153,88,47,.06)}
.toggle-tabs{display:flex;gap:5px;background:#f1e5d8;padding:4px;border-radius:11px;width:max-content;max-width:100%}.toggle-tabs a,.toggle-tabs button{border:0;background:transparent;text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:750;color:#7f6a5c;cursor:pointer}.toggle-tabs .active{background:#fffefa;color:#6f3e24;box-shadow:0 2px 8px rgba(80,43,23,.08)}

.stepper{display:flex;align-items:center;gap:8px;margin:0 0 22px;background:#fffefa;border:1px solid var(--line);padding:12px 14px;border-radius:14px;box-shadow:var(--shadow-sm)}.step{flex:1;display:flex;align-items:center;gap:8px;color:#a28f82;font-size:12px}.step:after{content:"";height:1px;background:#ddcfc2;flex:1}.step:last-child:after{display:none}.step i{font-style:normal;width:30px;height:30px;border:1px solid #d7c6b7;border-radius:50%;display:grid;place-items:center;background:#fff;font-weight:800}.step.active{color:#874b2a;font-weight:800}.step.active i,.step.done i{background:#95552f;border-color:#95552f;color:#fff}.step.done{color:#5e493d}.step small{display:block}

.wizard-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:18px}.wizard-card{background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow-sm)}.wizard-side{position:sticky;top:92px;align-self:start}.summary-list{display:grid;gap:11px}.summary-item{display:flex;gap:10px;align-items:flex-start;padding-bottom:10px;border-bottom:1px dashed #dfd0c3}.summary-item:last-child{border-bottom:0;padding-bottom:0}.summary-icon{width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:#f5e3d1;display:grid;place-items:center;color:#8c4f2e}.summary-item b{font-size:12px}.summary-item span{display:block;color:var(--muted);font-size:12px}
.tip-box{background:#fff7e9;border:1px solid #e9cc9f;border-radius:12px;padding:13px;color:#705238;font-size:12px}.tip-box b{color:#5f3c22}

.group-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px}.group-list{max-height:690px;overflow:auto}.group-item{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 12px;border-radius:10px;text-decoration:none;margin-bottom:3px}.group-item:hover,.group-item.active{background:#f5e4d2;color:#824928}.formula-list{display:grid;grid-template-columns:1fr;gap:6px}.formula-row{display:flex;align-items:center;gap:10px;padding:12px 8px;border-bottom:1px solid #eee3d9}.formula-row:last-child{border-bottom:0}.formula-row input{width:auto}.formula-row:hover{background:#fff9f2;border-radius:9px}
.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#f3e3d4;color:#7c492c;font-size:11px;font-weight:780}.badge.green{background:var(--green-bg);color:#26724b}.badge.orange{background:#fff4e5;color:#aa641b}.badge.pink{background:#fff0f1;color:#a94d59}.badge.blue{background:var(--blue-bg);color:var(--blue)}

.script-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:15px;align-items:center;position:relative}.script-card.recommended{border-color:#d8ad7f;background:linear-gradient(110deg,#fffdf9,#fff6e9)}.script-no{width:50px;height:50px;border-radius:14px;background:#f2dfca;color:#8e512e;display:grid;place-items:center;font-size:22px;font-weight:900}.script-card p{color:var(--muted);margin:6px 0 0;font-size:13px}.recommended-flag{position:absolute;right:14px;top:-9px;background:#c97a2b;color:#fff;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:850;box-shadow:0 4px 10px rgba(151,84,34,.14)}
.story-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.story-card{padding:0;overflow:hidden;text-decoration:none;transition:.15s ease}.story-card:hover{transform:translateY(-2px);border-color:#d0ac8b}.story-preview{height:150px;background:linear-gradient(145deg,#f7eadc,#efe0d1);display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-weight:800;color:#68402b;position:relative}.story-preview:after{content:"Chưa tạo ảnh";position:absolute;right:8px;bottom:7px;font-size:9px;background:rgba(255,255,255,.72);padding:3px 6px;border-radius:999px;color:#94715a}.story-body{padding:12px}.story-body small{color:var(--muted)}

.scene-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:16px}.scene-ref{background:linear-gradient(145deg,#f7eadc,#f6f0e9);border-radius:12px;min-height:280px;display:grid;place-items:center;text-align:center;padding:30px;color:#7e695a;border:1px dashed #d6c1ad}.scene-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.scene-meta div{background:#fbf5ee;border:1px solid var(--line);padding:9px;border-radius:9px;font-size:12px}.scene-meta b{display:block;font-size:10px;color:#99877a;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.prompt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.prompt-box{background:#fffdf9;border:1px solid #ddc7b4;border-radius:14px;padding:16px;position:relative;box-shadow:var(--shadow-sm)}.prompt-box.image{border-top:4px solid #b77a4e}.prompt-box.video{border-top:4px solid #d79031}.prompt-box h3{color:#744328;margin-bottom:8px;padding-right:90px}.prompt-box pre{white-space:pre-wrap;word-break:break-word;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;margin:0;color:#47382f;background:#fbf6ef;border-radius:9px;padding:11px}.copy-btn{position:absolute;right:10px;top:10px}.prompt-textarea{min-height:260px!important;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace!important;background:#fbf7f1!important}
.prompt-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}

.image-strip{display:flex;flex-wrap:wrap;gap:10px}.thumb{width:110px;height:90px;border-radius:10px;border:1px solid var(--line);object-fit:cover;background:#f1ebe4}.image-thumb-wrap{position:relative}.image-thumb-wrap .thumb{width:120px;height:96px}.image-thumb-label{font-size:10px;color:#8d7868;margin-top:4px}.image-delete{position:absolute;right:5px;top:5px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(45,27,19,.82);color:white;cursor:pointer;font-size:11px}
.product-list{display:grid;gap:10px}.product-item{display:grid;grid-template-columns:54px 1fr auto;gap:11px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fffdf9}.product-item:hover{border-color:#cfab8a}.product-avatar{width:54px;height:54px;border-radius:10px;background:#f1e3d4;display:grid;place-items:center;color:#8c5534;font-size:20px;overflow:hidden}.product-avatar img{width:100%;height:100%;object-fit:cover}.product-item small{display:block;color:var(--muted);margin-top:2px}

.flash{padding:12px 14px;border-radius:11px;margin-bottom:14px;border:1px solid #d8c3af;background:#fff9f1;color:#765238;box-shadow:var(--shadow-sm)}.flash.success{background:var(--green-bg);border-color:#badfc8;color:#27724c}.flash.warning{background:#fff7e7;border-color:#edd19d;color:#855b20}.flash.danger{background:var(--red-bg);border-color:#efc3bd;color:#a54135}
.notice{border:1px solid #e1c3a4;background:#fff5e8;color:#704b31;border-radius:12px;padding:13px 14px}.notice strong,.notice b{color:#5f3921}.info-box{border:1px solid #c9d9e8;background:#f2f7fb;color:#42627e;border-radius:12px;padding:13px 14px}
.empty{padding:38px;text-align:center;color:#836f62}.empty-icon{font-size:30px;display:block;margin-bottom:8px}.empty .btn{margin-top:10px}

.kv{display:grid;grid-template-columns:175px 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden}.kv div{padding:12px;border-bottom:1px solid var(--line)}.kv div:nth-child(odd){font-weight:800;background:#faf4ed;border-right:1px solid var(--line);color:#624938}
.pager{display:flex;justify-content:center;gap:5px;margin-top:16px}.pager a{min-width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:#fffefa}.pager a.active{background:#8f512e;color:#fff;border-color:#8f512e}

.auth-page{display:grid;place-items:center;padding:20px;background:
 radial-gradient(circle at 15% 20%,rgba(221,155,85,.18),transparent 26%),
 linear-gradient(135deg,#efe1d1,#f8f0e7 48%,#f4e8db);min-height:100vh}.auth-card{width:min(460px,100%);background:#fffdf9;border:1px solid #dcc8b4;border-radius:20px;padding:30px;box-shadow:0 24px 70px rgba(72,39,21,.12)}.brand-auth{color:#35251d;padding-left:0}.brand-auth small{color:#917a6b}.auth-card p,.auth-note{color:#806d60}.auth-note{font-size:12px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.auth-card .btn.primary{min-height:46px}

.install-shell{min-height:100vh;padding:34px 18px;background:linear-gradient(135deg,#ede0d2,#faf5ef)}.install-wrap{max-width:1040px;margin:0 auto}.install-brand{text-align:center;margin-bottom:18px}.install-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:18px}.install-card{background:#fffdf9;border:1px solid #dcc8b5;border-radius:18px;padding:24px;box-shadow:var(--shadow)}.install-steps{display:grid;gap:10px}.install-step{display:flex;gap:10px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fbf5ee}.install-step i{font-style:normal;width:27px;height:27px;border-radius:50%;background:#8d502d;color:#fff;display:grid;place-items:center;font-weight:800;font-size:11px;flex:0 0 27px}.install-step b{font-size:12px}.install-step span{display:block;color:var(--muted);font-size:11px}

.split-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.split-title h2,.split-title h3{margin:0}.section-title{display:flex;align-items:center;gap:9px}.section-title .dot{width:28px;height:28px;border-radius:8px;background:#f4e2cf;display:grid;place-items:center;color:#8e4f2c}
.progress-line{height:7px;background:#efe2d5;border-radius:999px;overflow:hidden}.progress-line span{display:block;height:100%;background:linear-gradient(90deg,#a45e32,#db9035);border-radius:999px}

@media(max-width:1220px){.grid-5{grid-template-columns:repeat(3,1fr)}.grid-4,.quick{grid-template-columns:repeat(2,1fr)}.choice-grid{grid-template-columns:repeat(3,1fr)}.story-cards{grid-template-columns:repeat(3,1fr)}.process{grid-template-columns:repeat(2,1fr)}.wizard-layout{grid-template-columns:1fr}.wizard-side{position:static}.prompt-grid{grid-template-columns:1fr}}
@media(max-width:940px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;width:270px;transition:.22s ease}.sidebar.open{left:0}.menu-btn{display:block}.topbar{padding:0 14px}.top-search{width:46%}.content{padding:18px}.group-layout,.scene-layout,.grid-2,.install-grid{grid-template-columns:1fr}.choice-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.step span{display:none}.card.sticky{position:static}}
@media(max-width:640px){body{font-size:14px}.topbar{height:62px}.top-search{display:none}.top-user div{display:none}.top-action{margin-left:auto}.top-action .btn span{display:none}.content{padding:12px}.grid-5,.grid-4,.grid-3,.quick,.choice-grid,.story-cards,.process{grid-template-columns:1fr}.page-head{flex-direction:column}.hero{padding:21px}.hero h1{font-size:27px}.script-card{grid-template-columns:44px 1fr}.script-card>.table-actions{grid-column:1/-1;white-space:normal}.kv{grid-template-columns:1fr}.kv div:nth-child(odd){border-right:0;background:#f9f1e8}.scene-ref{min-height:200px}.stats .card{min-height:88px}.group-list{max-height:380px}.prompt-grid{grid-template-columns:1fr}.top-action .btn{padding:8px 9px}.product-item{grid-template-columns:48px 1fr}.product-item>.table-actions{grid-column:1/-1}.stepper{padding:9px}.step{gap:4px}.step i{width:26px;height:26px}.install-shell{padding:16px 10px}}
.story-preview img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.story-preview:has(img):after{content:"Ảnh đã tạo";background:rgba(45,27,19,.74);color:#fff}.generated-scene-image{width:100%;max-height:640px;object-fit:contain;border-radius:14px;border:1px solid var(--line);background:#f4eadf;margin:10px 0 14px}.scene-image-empty{min-height:320px;border:1px dashed #d2b89f;border-radius:14px;background:linear-gradient(145deg,#f7eadc,#fbf6ef);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#7b6657;gap:7px;margin:10px 0 14px}.scene-image-empty b{font-size:20px;color:#5d3f2c}.check-row{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:11px!important;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fffaf3}.check-row input{width:18px;height:18px;margin-top:2px;flex:0 0 18px}.check-row span{display:block}.check-row small{display:block;margin-top:3px}.story-preview:has(img){padding:0}

/* ===== V4.1 ADMIN CENTER ===== */
.admin-head{padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fffdf9,#f4e4d3);box-shadow:var(--shadow-sm)}
.admin-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.admin-stat-grid.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-stat-card{background:#fffefa;border:1px solid var(--line);border-radius:15px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm);min-width:0}.admin-stat-card.warning{background:#fff8ec;border-color:#efd2a5}.admin-stat-card.danger{background:#fff4f1;border-color:#efc6be}.admin-stat-icon{width:42px;height:42px;border-radius:12px;background:#f1dfcb;color:#8d522e;display:grid;place-items:center;font-weight:900;flex:0 0 42px}.admin-stat-card b{font-size:24px;line-height:1.05;display:block}.admin-stat-card small{display:block;color:var(--muted);margin-top:4px;white-space:normal}.admin-grid .card{min-height:310px}.admin-list{display:grid;gap:9px}.admin-list-row{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fffdf9}.admin-list-row .grow{min-width:0}.admin-list-row b,.admin-list-row small{display:block}.admin-list-row small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini-avatar{width:39px;height:39px;border-radius:11px;background:linear-gradient(145deg,#ead5bf,#d9b58f);display:grid;place-items:center;color:#5b3824;font-weight:900;flex:0 0 39px;text-transform:uppercase}.expiry-chip{padding:5px 9px;border-radius:999px;background:#f6eee5;color:#76523a;font-size:11px;font-weight:800;white-space:nowrap}.expiry-chip.warning{background:#fff0d6;color:#9a5d17}.expiry-chip.danger{background:#ffe7e3;color:#a44237}.status-dot{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:850;white-space:nowrap}.status-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-active{background:#eaf7ef;color:#2d7c52}.status-expired{background:#fff0ed;color:#b2473b}.status-locked{background:#f1ece8;color:#6c5546}.status-pending{background:#fff6df;color:#9b6c22}.admin-auto-lock{display:flex;align-items:flex-start;gap:16px;background:linear-gradient(120deg,#fffdf9,#f7eadc)}.admin-lock-icon{width:52px;height:52px;border-radius:15px;background:#ead6c0;display:grid;place-items:center;font-size:24px;flex:0 0 52px}.admin-auto-lock h2{margin-bottom:5px}.admin-auto-lock p{margin:0;color:var(--muted)}
.admin-filter-card{padding:15px 18px}.admin-filter-grid{display:grid;grid-template-columns:2fr repeat(4,minmax(130px,1fr)) auto;gap:10px;align-items:end}.admin-filter-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:#735a49}.admin-filter-actions{display:flex;gap:8px}.admin-user-table table{min-width:1180px}.user-cell{display:flex;align-items:center;gap:9px;min-width:210px}.user-cell small{display:block;color:var(--muted);margin-top:2px}.role-chip{display:inline-flex;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:900;letter-spacing:.04em}.role-admin{background:#f7e2c7;color:#8a4f28}.role-manager{background:#edf3fb;color:#3b6389}.role-user{background:#edf7f1;color:#397052}.expiry-meter{height:5px;background:#eee3d8;border-radius:999px;margin-top:8px;overflow:hidden;max-width:130px}.expiry-meter span{display:block;height:100%;background:linear-gradient(90deg,#a95d31,#e3a044);border-radius:999px}.auto-note{display:block;margin-top:5px;color:#a44e42;font-weight:700}.quick-actions{display:flex;flex-wrap:wrap;gap:5px;min-width:210px}.quick-actions form{display:inline}.user-edit-details{margin-top:8px;border-top:1px dashed var(--line);padding-top:7px}.user-edit-details summary{cursor:pointer;color:#865231;font-weight:800;font-size:11px;list-style:none}.user-edit-details summary::-webkit-details-marker{display:none}.user-edit-details[open] summary{margin-bottom:8px}.user-edit-form{min-width:240px}.inline-password-form{display:flex;gap:6px;margin-top:8px}.inline-password-form input{min-width:150px}.pagination-modern{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:16px;flex-wrap:wrap}.pagination-info{font-size:12px;color:var(--muted)}.pagination-pages{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.pagination-pages a,.pagination-pages span{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:#fffefa;display:grid;place-items:center;text-decoration:none;font-size:12px;font-weight:800}.pagination-pages a:hover{border-color:#b9845e;background:#fff8ef}.pagination-pages a.active{background:linear-gradient(135deg,#8c4e2c,#b16937);border-color:#8c4e2c;color:#fff}.pagination-pages .disabled{opacity:.38}.pagination-pages .ellipsis{border-color:transparent;background:transparent}.empty.compact{padding:24px}
.auth-card-wide{width:min(560px,100%)}

@media(max-width:1320px){.admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-filter-actions{grid-column:span 3}.admin-stat-grid.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.admin-stat-grid,.admin-stat-grid.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-grid{grid-template-columns:1fr 1fr}.admin-filter-actions{grid-column:1/-1}.admin-auto-lock{flex-direction:column}.pagination-modern{align-items:flex-start}}
@media(max-width:520px){.admin-stat-grid,.admin-stat-grid.compact-stats{grid-template-columns:1fr}.admin-filter-grid{grid-template-columns:1fr}.admin-filter-actions{grid-column:auto;flex-wrap:wrap}.admin-filter-actions .btn{flex:1}.pagination-pages a,.pagination-pages span{min-width:31px;height:31px}.admin-head{padding:16px}}

/* ===== V4.4 SCALE & ADMIN POLISH ===== */
.admin-stat-grid-v44{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.admin-stat-card.success{background:linear-gradient(145deg,#f1faf4,#fffefa);border-color:#cce8d6}
.admin-stat-card.success .admin-stat-icon{background:#e3f4e9;color:#28704a}
.admin-stat-card{position:relative;overflow:hidden}
.admin-stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-44px;top:-48px;background:radial-gradient(circle,rgba(216,135,40,.12),transparent 70%);pointer-events:none}
.admin-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);transition:.18s ease}
.admin-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.admin-action-card{display:grid;grid-template-columns:46px 1fr 22px;gap:12px;align-items:center;padding:16px;border-radius:15px;border:1px solid var(--line);background:linear-gradient(145deg,#fffefa,#fbf3e9);text-decoration:none;box-shadow:var(--shadow-sm);transition:.16s ease}
.admin-action-card>span{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#efdcc7,#e5c3a0);color:#81502f;font-weight:900;font-size:17px}
.admin-action-card b{display:block;font-size:14px}.admin-action-card small{display:block;color:var(--muted);line-height:1.35;margin-top:3px}.admin-action-card i{font-style:normal;color:#9d6038;font-size:19px}.admin-action-card:hover{transform:translateY(-2px);border-color:#d1aa88;box-shadow:var(--shadow)}
.bulk-export-bar{display:flex;align-items:center;gap:12px;background:linear-gradient(110deg,#fffdf9,#f1dfcc);border-color:#dcc2a7;padding:14px 16px}.bulk-export-bar>div{min-width:220px}.bulk-export-bar b,.bulk-export-bar small{display:block}.bulk-export-bar small{color:var(--muted);margin-top:2px}.bulk-export-bar select{min-width:240px;margin-left:auto}
.prompt-filter-grid,.usage-filter-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.prompt-filter-grid .admin-filter-actions,.usage-filter-grid .admin-filter-actions{grid-column:auto}
.prompt-warehouse-card{position:relative;background:linear-gradient(180deg,#fffefa,#fffaf4);border-color:#e1cfbd}
.prompt-warehouse-card.video{background:linear-gradient(180deg,#fffefa,#f8f3ed)}
.prompt-meta-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}
.prompt-warehouse-card pre{max-height:250px;overflow:auto;border-radius:11px}
.mini-pagination{padding-top:12px;margin-top:4px;border-top:1px dashed var(--line)}
.pagination-bar{margin-top:15px;padding:12px 2px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pagination{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.page-link{min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:#fffefa;display:grid;place-items:center;text-decoration:none;font-size:12px;font-weight:800}.page-link:hover{border-color:#b9845e;background:#fff8ef}.page-link.active{background:linear-gradient(135deg,#8c4e2c,#b16937);border-color:#8c4e2c;color:#fff}.page-link.disabled{opacity:.4;pointer-events:none}
.admin-filter-card{background:linear-gradient(180deg,#fffefa,#fcf7f0)}
.admin-filter-grid input,.admin-filter-grid select{background:#fffefb}
.admin-user-table tbody tr:nth-child(even),.table-wrap tbody tr:nth-child(even){background:rgba(250,244,236,.35)}
.sidebar-section{position:relative;padding-left:2px}.sidebar-section:after{content:"";display:inline-block;width:28px;height:1px;background:rgba(235,191,145,.2);margin-left:7px;vertical-align:middle}
.nav a{border:1px solid transparent}.nav a.active{border-color:rgba(255,255,255,.1)}
.content{padding-bottom:50px}

@media(max-width:1320px){.admin-stat-grid-v44,.admin-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prompt-filter-grid,.usage-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bulk-export-bar{flex-wrap:wrap}.bulk-export-bar select{margin-left:0}}
@media(max-width:800px){.admin-stat-grid-v44,.admin-action-grid{grid-template-columns:1fr}.prompt-filter-grid,.usage-filter-grid{grid-template-columns:1fr 1fr}.bulk-export-bar{align-items:stretch}.bulk-export-bar>div,.bulk-export-bar select,.bulk-export-bar .btn{width:100%;min-width:0}.pagination-bar{align-items:flex-start}}
@media(max-width:540px){.prompt-filter-grid,.usage-filter-grid{grid-template-columns:1fr}.admin-action-card{grid-template-columns:42px 1fr 18px}.admin-action-card>span{width:42px;height:42px}.bulk-export-bar{padding:12px}}

/* ===== V4.5 SHORT FILM / DIALOGUE ===== */
.dialogue-card{border-color:#e2b78e;background:linear-gradient(180deg,#fffaf4 0%,#fff 100%)}
.dialogue-card .page-eyebrow{color:#9a572d}
.dialogue-textarea{min-height:170px!important;line-height:1.65}
.dialogue-snippet{margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff5e8;border:1px solid #efd7bd;color:#6b3b20;font-size:12px;line-height:1.45}
@media(max-width:720px){.dialogue-card .form-grid{grid-template-columns:1fr!important}.dialogue-card .span-2{grid-column:auto!important}}

/* V4.6 Drama Engine */
.drama-card{border:1px solid #e8c29f;background:linear-gradient(180deg,#fffaf4 0%,#fff4e7 100%)}
.drama-card .page-eyebrow{color:#a94718}
.drama-card .badge.orange{background:#fff0df;color:#9c461e;border-color:#efc9a7}
.drama-score-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#fff0df;color:#9c461e;font-size:12px;font-weight:800;border:1px solid #efc9a7}
@media (max-width:900px){.choice-grid[style*="repeat(3"]{grid-template-columns:1fr!important}}

/* V4.7 PER-USER VIDEO GENERATION */
.video-generation-card{border:1px solid #d9b58f;background:linear-gradient(180deg,#fffdfa 0%,#f8eee4 100%)}
.generated-scene-video{display:block;box-shadow:0 12px 30px rgba(45,27,19,.12)}
.video-job-box{padding:16px;border:1px solid #e2c4a6;border-radius:14px;background:#fff8ef}
.video-progress-track{height:10px;border-radius:999px;background:#eadbcf;overflow:hidden;margin:10px 0}
.video-progress-track i{display:block;height:100%;min-width:2%;border-radius:999px;background:linear-gradient(90deg,#8c4e2c,#d8882f);transition:width .3s ease}

/* ===== V4.8.3 DOWNLOAD / TABLE ACTION / RESPONSIVE SIDEBAR ===== */
html,body{max-width:100%;overflow-x:hidden}
.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(235,191,145,.32) transparent}
.sidebar-close{display:none;position:absolute;right:10px;top:10px;width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.07);color:#fff;font-size:24px;line-height:1;cursor:pointer;z-index:3}
.sidebar-backdrop{display:none;position:fixed;inset:0;border:0;background:rgba(25,14,9,.48);backdrop-filter:blur(2px);z-index:890;padding:0;margin:0}
.sidebar-backdrop.show{display:block}
body.sidebar-open{overflow:hidden}
.inline-form{display:inline-flex;margin:0}
.table-actions,.list-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.btn:disabled{opacity:.46;cursor:not-allowed;box-shadow:none!important;transform:none!important}
.row-download-menu{position:relative;display:inline-block}
.row-download-menu>summary{list-style:none;cursor:pointer;user-select:none}
.row-download-menu>summary::-webkit-details-marker{display:none}
.row-download-pop{position:absolute;right:0;top:calc(100% + 7px);z-index:80;min-width:160px;padding:7px;border:1px solid var(--line);border-radius:11px;background:#fffefa;box-shadow:0 14px 35px rgba(54,31,19,.18);display:grid;gap:3px}
.row-download-pop a{padding:8px 10px;border-radius:8px;text-decoration:none;font-size:12px;font-weight:750;white-space:nowrap}
.row-download-pop a:hover{background:#f7eadc;color:#7e4527}
.table-wrap,.products-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;outline:none}
.table-wrap:focus,.products-table-wrap:focus{box-shadow:inset 0 0 0 2px rgba(216,135,40,.18)}
.table-wrap table,.products-table-wrap table{min-width:860px}

@media(max-width:1080px){
  .app-shell{display:block;min-height:100vh}
  .sidebar{position:fixed!important;left:0!important;top:0;width:min(86vw,300px);max-width:300px;height:100dvh;transform:translateX(-104%);transition:transform .22s ease;z-index:900;box-shadow:18px 0 45px rgba(34,18,10,.26);padding-top:18px}
  .sidebar.open{transform:translateX(0)!important}
  .sidebar-close{display:grid;place-items:center}
  .brand{padding-right:40px}
  .menu-btn{display:grid!important;place-items:center;flex:0 0 40px}
  .main{width:100%;min-width:0}
  .topbar{padding:0 16px;gap:10px}
  .top-search{width:min(44vw,420px)}
  .content{padding:18px 16px 42px;max-width:100%}
  .page-head{gap:12px}
}

@media(max-width:760px){
  .topbar{height:62px;padding:0 10px;gap:8px}
  .top-search{display:none}
  .top-action{margin-left:auto}
  .top-user>div{display:none}
  .top-user{gap:0}
  .content{padding:13px 10px 36px}
  .page-head{flex-direction:column;align-items:stretch;margin-bottom:14px}
  .page-head>div:last-child.toolbar,.page-head>.toolbar{width:100%}
  .page-head .toolbar .btn{flex:1 1 auto;text-align:center;justify-content:center}
  h1{font-size:25px}
  h2{font-size:19px}
  .card{border-radius:13px}
  .bulk-export-bar{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .bulk-export-bar>div,.bulk-export-bar select,.bulk-export-bar button{width:100%!important;min-width:0!important;margin:0!important}
  .admin-filter-grid,.prompt-filter-grid,.usage-filter-grid{grid-template-columns:1fr!important}
  .admin-filter-actions{grid-column:auto!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .table-wrap table,.products-table-wrap table{min-width:760px}
  .pagination-bar,.pagination-modern{align-items:flex-start!important}
  .row-download-pop{left:0;right:auto}
}

@media(max-width:520px){
  .sidebar{width:min(91vw,296px)}
  .brand b{font-size:16px}.brand small{font-size:10px}
  .nav a{padding:10px 11px;font-size:13px}
  .top-action .btn{padding:9px 11px}
  .top-action .btn span{display:none}
  .avatar{width:34px;height:34px}
  .content{padding-left:8px;padding-right:8px}
  .hero{padding:20px 16px}
  .hero h1{font-size:26px}
  .toolbar{gap:7px}
  .toolbar .btn{white-space:normal}
  .admin-filter-actions{grid-template-columns:1fr}
  .pagination,.pagination-pages{gap:4px}
  .page-link,.pagination-pages a,.pagination-pages span{min-width:31px;height:31px;padding:0 7px}
  .table-actions,.list-actions{align-items:stretch}
  .table-actions .btn,.list-actions .btn,.table-actions form,.list-actions form,.row-download-menu{flex:0 0 auto}
  .app-toast{right:10px!important;bottom:10px!important}
}

/* ===== V4.8.5 DYNAMIC SCRIPT LIBRARY ===== */
.formula-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.formula-filter-tabs .btn{display:inline-flex;align-items:center;gap:8px}
.formula-filter-tabs .badge{margin-left:2px}
.group-item-shell{display:flex;align-items:stretch;border-radius:12px;margin:4px 0;position:relative;transition:.2s ease}
.group-item-shell:hover{background:#fbf1e4}
.group-item-shell.active{background:#f5e2cf;box-shadow:inset 3px 0 0 #b4652e}
.group-item-main{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;flex:1;padding:11px 8px 11px 12px;text-decoration:none;color:inherit}
.group-item-main>span{min-width:0;line-height:1.35}
.group-item-main>span>b{margin-right:4px}
.favorite-form{display:flex;align-items:center;padding-right:6px}
.favorite-btn{width:34px;height:34px;border:1px solid #e6cbb4;background:#fffaf5;color:#b7a391;border-radius:10px;cursor:pointer;font-size:17px;line-height:1;transition:.18s ease}
.favorite-btn:hover,.favorite-btn.active{background:#fff0d9;color:#c2781f;border-color:#d8a66e;transform:translateY(-1px)}
.favorite-tag{display:inline-block;font-style:normal;font-size:10px;font-weight:800;color:#995410;background:#fff0d5;border:1px solid #f0d2a7;border-radius:999px;padding:2px 7px;margin-left:6px;vertical-align:1px;white-space:nowrap}
.formula-manager-card{border-top:3px solid #b4652e}
.formula-main-card{min-width:0}
.formula-row-content{flex:1;min-width:0}
.formula-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.formula-desc{font-size:11px;margin-top:5px;line-height:1.45}
.group-header-actions{align-items:flex-start;gap:18px}
.group-header-actions>.toolbar{justify-content:flex-end;flex-wrap:wrap}
.formula-searchbar{align-items:center}

@media (max-width:1100px){
  .formula-library-layout{grid-template-columns:300px minmax(0,1fr)!important}
  .formula-row{align-items:flex-start}
  .formula-row-actions{max-width:240px}
}
@media (max-width:820px){
  .formula-library-layout{display:block!important}
  .formula-library-layout>.group-list{position:static!important;max-height:none!important;margin-bottom:14px}
  .group-list{max-height:none!important}
  .group-header-actions{display:block}
  .group-header-actions>.toolbar{justify-content:flex-start;margin-top:12px!important}
  .formula-row{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:8px 10px}
  .formula-row-actions{grid-column:1/-1;max-width:none;justify-content:flex-start;padding-left:0}
  .formula-row-actions .btn{flex:0 0 auto}
}
@media (max-width:560px){
  .formula-filter-tabs{display:grid;grid-template-columns:1fr 1fr}
  .formula-filter-tabs .btn{justify-content:center;padding-left:8px;padding-right:8px}
  .formula-searchbar{display:grid!important;grid-template-columns:1fr 105px;gap:8px}
  .formula-searchbar .grow{grid-column:1/-1;width:100%}
  .formula-searchbar .btn{width:100%;justify-content:center}
  .group-item-main{padding-left:9px}
  .favorite-btn{width:32px;height:32px}
  .formula-manager-card .form-grid{display:block!important}
  .formula-manager-card .field{display:block;margin-bottom:12px}
  .formula-manager-card .toolbar{display:flex;flex-direction:column;align-items:stretch}
  .formula-manager-card .toolbar .btn{width:100%;text-align:center;justify-content:center}
  .formula-row-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .formula-row-actions .btn,.formula-row-actions form,.formula-row-actions form button{width:100%;justify-content:center}
}
