/* Content Engine Live: app-specific styles on top of lusso.css */
.balance{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:rgba(25,25,25,.8);border-radius:999px;padding:7px 14px;font-weight:600;font-size:14px;white-space:nowrap}
.balance i{width:8px;height:8px;border-radius:50%;background:var(--violet-glow);box-shadow:0 0 10px var(--violet-glow)}
.balance.low i{background:var(--warn);box-shadow:0 0 10px var(--warn)}
.top .right{display:flex;align-items:center;gap:10px}
.app{padding-top:32px;padding-bottom:80px}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:28px;overflow-x:auto;scrollbar-width:none}
.tabs button{background:none;border:0;color:var(--muted);font:600 15px Inter,sans-serif;padding:12px 16px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--text);border-bottom-color:var(--violet)}
.types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}
.type{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;color:var(--text);font:inherit;transition:border-color .15s}
.type:hover{border-color:var(--line-2)}
.type[aria-pressed="true"]{border-color:var(--violet);box-shadow:0 0 0 1px var(--violet) inset,0 0 24px rgba(216,40,255,.18)}
.type b{display:block;font-size:15px}
.type span{display:block;font-size:13px;color:var(--muted);margin-top:4px;line-height:1.45}
.type em{font-style:normal;font-size:12px;color:var(--violet-glow);font-weight:600;display:block;margin-top:8px}
label.f{display:block;font-weight:600;font-size:14px;margin:0 0 6px}
.hint{font-size:13px;color:var(--dim);margin:6px 0 0}
input.t,textarea.t,select.t{width:100%;background:var(--bg);border:1px solid var(--line-2);border-radius:12px;color:var(--text);font:400 15px/1.5 Inter,sans-serif;padding:12px 14px}
textarea.t{min-height:110px;resize:vertical}
input.t:focus,textarea.t:focus{outline:2px solid var(--violet);outline-offset:1px;border-color:transparent}
.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;padding:3px;background:var(--bg)}
.seg button{border:0;background:none;color:var(--muted);font:600 13px Inter,sans-serif;padding:8px 14px;border-radius:999px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--panel-2);color:var(--text);box-shadow:0 0 0 1px var(--line-2) inset}
.genbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
.cost{font-size:14px;color:var(--muted)}
.cost b{color:var(--text)}
.out{margin-top:26px}
.variant{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 18px 14px;margin-bottom:12px;white-space:pre-wrap;line-height:1.6}
.variant .vh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;white-space:normal}
.variant .vh span{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--violet-glow);text-transform:uppercase}
.testnote{font-size:13px;color:var(--warn);background:rgba(255,181,71,.08);border:1px solid rgba(255,181,71,.3);border-radius:10px;padding:10px 12px;margin-bottom:12px}
.notice{border-radius:12px;padding:12px 14px;font-size:14px;margin:14px 0}
.notice.err{background:rgba(255,107,129,.1);border:1px solid rgba(255,107,129,.35);color:#FFB3C0}
.notice.ok{background:rgba(61,220,151,.1);border:1px solid rgba(61,220,151,.35);color:var(--ok)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.plancard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:6px}
.plancard.hot{border-color:var(--violet);box-shadow:0 0 30px rgba(216,40,255,.18)}
.plancard .pp{font:500 34px/1.15 var(--head)}
.plancard .pp small{font-size:14px;font-weight:500;color:var(--muted)}
.plancard .per{font-size:13px;color:var(--violet-glow);font-weight:600}
.plancard ul{margin:8px 0 14px;padding-left:18px;color:var(--muted);font-size:14px}
.plancard .btn{margin-top:auto}
table.ledger{width:100%;border-collapse:collapse;font-size:14px}
table.ledger th{text-align:left;color:var(--dim);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px;border-bottom:1px solid var(--line)}
table.ledger td{padding:10px 8px;border-bottom:1px solid var(--line)}
td.plus{color:var(--ok);font-weight:600} td.minus{color:var(--muted)}
.hist{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:10px}
.hist summary{padding:14px 16px;font-size:15px}
.hist summary small{color:var(--dim);font-weight:400;margin-left:8px}
.hist .body{padding:0 16px 16px;white-space:pre-wrap;color:var(--muted);font-size:14px}
.signin{max-width:440px;margin:40px auto;text-align:center}
.signin .panel{text-align:left;margin-top:22px}
.spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(21,21,21,.3);border-top-color:#151515;border-radius:50%;animation:sp 0.8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.calc{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.calc div{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}
.calc b{display:block;font-size:22px}
.calc span{font-size:12px;color:var(--muted)}
@media (max-width:900px){.types,.plans{grid-template-columns:1fr 1fr}.calc{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.types,.plans,.grid2{grid-template-columns:1fr}.top .right .btn{display:none}}
/* round 2: wizard, week planner, history tools */
.steps3{display:flex;gap:8px;list-style:none;padding:0;margin:0 0 16px;counter-reset:s}
.steps3 li{flex:1;counter-increment:s;font-size:13px;font-weight:600;color:var(--dim);border-top:3px solid var(--line-2);padding-top:8px}
.steps3 li::before{content:counter(s) " · "}
.steps3 li.on{color:var(--text);border-top-color:var(--violet)}
.steps3 li.done{color:var(--muted);border-top-color:var(--peri-3)}
.weekgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:20px}
.wcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}
.wcard .wd{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.wcard .wd b{font-size:15px}
.wcard .wd span{font-size:12px;color:var(--dim)}
.chip.sm{font-size:11px;padding:3px 10px;align-self:flex-start}
.wcard .topic{font-size:13px;color:var(--muted)}
.wcard textarea{min-height:150px;font-size:14px}
.wcard .acts{display:flex;gap:8px;flex-wrap:wrap}
.star{background:none;border:0;cursor:pointer;font-size:20px;color:var(--dim);line-height:1;padding:2px 6px}
.star[aria-pressed="true"]{color:#FFC94D}
.hist summary{display:flex;align-items:center;gap:8px}
.hist summary .ttl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hist .tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px;white-space:normal}
.hist .tools select{width:auto;padding:8px 10px;font-size:13px}
.badge{font-size:11px;font-weight:600;color:var(--violet-glow);border:1px solid var(--line-2);border-radius:999px;padding:2px 8px;white-space:nowrap}
