:root{--roxo:#3E1470;--roxo2:#52208F;--roxo3:#2E0E55;--ouro:#F5B915;--creme:#F4EEE2;--card:#FFFDF8;--ink:#1B1426;--muted:#5E566B;--line:#E2D8C6;--line2:#EAE1D1;--danger:#A3141F}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--creme);font-family:Archivo,system-ui,sans-serif;color:var(--ink);font-size:15px}
button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--roxo)}
.boot{padding:40px;font-size:18px}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:.04em;text-transform:uppercase;font-size:11px;color:var(--muted)}
.display{font-family:'Archivo Black',Archivo,sans-serif;font-weight:400}
h1{margin:4px 0 0;font-family:'Archivo Black',Archivo,sans-serif;font-weight:400;font-size:32px}
.shell{display:flex;min-height:100vh}
.side{width:232px;flex-shrink:0;background:var(--roxo);color:#fff;display:flex;flex-direction:column;gap:6px;padding:28px 16px;position:sticky;top:0;height:100vh}
.brand{padding:0 10px 22px}
.brand .display{font-size:26px;line-height:1}
.brand .mono{color:var(--ouro);margin-top:6px}
.nav{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:#E9DFF7;font-weight:600;text-align:left}
.nav:hover{background:var(--roxo2)}
.nav.on{background:var(--ouro);color:var(--ink)}
.side .grow{flex-grow:1}
.me{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:var(--roxo3);font-size:13px;color:#E9DFF7}
.me img{width:32px;height:32px;border-radius:50%}
.me button{background:none;border:0;color:var(--ouro);padding:0;font-size:12px;text-decoration:underline}
.main{flex-grow:1;min-width:0;padding:28px 32px;display:flex;flex-direction:column;gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px}
.pill{border:1px solid #CFC3AE;background:var(--card);border-radius:999px;min-height:38px;padding:0 14px;font-weight:600}
.pill:hover{border-color:var(--roxo)}
.pill.on{background:var(--roxo);border-color:var(--roxo);color:#fff}
.chip{border:1px solid #CFC3AE;background:var(--card);border-radius:8px;min-height:34px;padding:0 10px;font-size:13px;font-weight:600}
.chip.on{background:var(--ouro);border-color:#C99400}
.ghost{border:1px solid #CFC3AE;background:transparent;border-radius:10px;min-height:40px;padding:0 14px;font-size:14px;font-weight:600}
.ghost:hover{border-color:var(--roxo)}
.danger{border:0;background:var(--danger);color:#fff;border-radius:10px;min-height:40px;padding:0 16px;font-size:14px;font-weight:700}
.danger:hover{background:#7F0E17}
.danger:disabled,.cta:disabled{background:var(--line);color:#6B6275;cursor:not-allowed}
.cta{border:0;border-radius:12px;min-height:52px;background:var(--ouro);color:var(--ink);font-size:17px;font-weight:800;width:100%}
.cta:hover{background:#FFC934}
.field{border:1px solid #CFC3AE;border-radius:10px;min-height:44px;padding:0 12px;background:#fff;width:100%}
textarea.field{padding:10px 12px;line-height:1.45;resize:vertical;min-height:130px}
.field:focus{outline:2px solid var(--roxo);outline-offset:1px}
label.lbl{display:block;font-weight:700;font-size:14px;margin-bottom:8px}
.tog{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:600;cursor:pointer}
input[type=checkbox]{width:18px;height:18px;accent-color:var(--roxo);flex-shrink:0}
.cols{display:grid;grid-template-columns:340px minmax(0,1fr) 300px;gap:18px;align-items:start}
.pad{padding:20px}
.stack{display:flex;flex-direction:column;gap:14px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.drop{border:2px dashed #CFC3AE;border-radius:14px;padding:20px 14px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:#FBF7EF}
.drop.over{border-color:var(--roxo);background:#F1EAFB}
.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.thumb{position:relative;border-radius:8px;overflow:hidden;background:#000;aspect-ratio:4/5}
.thumb img,.thumb video{width:100%;height:100%;object-fit:cover}
.thumb button{position:absolute;top:4px;right:4px;border:0;border-radius:6px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;padding:3px 6px}
.thumb .bar{position:absolute;left:0;bottom:0;height:4px;background:var(--ouro)}
.thumb .n{position:absolute;left:4px;top:4px;background:var(--ouro);color:var(--ink);border-radius:6px;font-size:11px;font-weight:800;padding:2px 6px}
.preview{border-radius:14px;background:var(--ink);color:#fff;padding:14px}
.preview .mono{color:var(--ouro);margin-bottom:8px}
.preview div.t{font-size:14px;line-height:1.5;white-space:pre-line}
.clients{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.client{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);min-height:52px}
.client.focus{border-color:var(--roxo);box-shadow:0 0 0 2px var(--roxo) inset}
.client button{flex-grow:1;border:0;background:transparent;text-align:left;padding:0}
.client b{display:block;font-size:14px;line-height:1.2}
.client small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.units{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;max-height:420px;overflow:auto;align-content:start;padding-right:4px}
.unit{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid #EAE1D1;background:#fff;min-height:48px;cursor:pointer}
.unit.on{background:#F1EAFB;border-color:#B9A2DD}
.unit span{min-width:0}
.unit b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unit small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unit small.no{color:#8A5A00;font-weight:600}
.sum{font-size:14px;line-height:1.6}
.big{font-family:'Archivo Black',Archivo,sans-serif;font-size:44px;line-height:1}
.warn{font-size:13px;line-height:1.45;background:#FFF4D6;border:1px solid #E9C45A;border-radius:10px;padding:10px 12px;color:#4A3700}
.err{font-size:13px;line-height:1.45;background:#FBE7E8;border:1px solid #E0A2A7;border-radius:10px;padding:10px 12px;color:#5C0B11}
.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:var(--ink);color:#fff}
.toast span{flex-grow:1}
.toast .ghost{color:#fff;border-color:#6B5A86}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.day{padding:12px;display:flex;flex-direction:column;gap:8px;min-height:260px}
.day .d{display:flex;justify-content:space-between;align-items:baseline}
.day .d b{font-size:20px}
.day.today{box-shadow:0 0 0 2px var(--ouro) inset}
.calcard{display:block;width:100%;text-align:left;border:0;border-radius:10px;padding:10px;background:var(--roxo);color:#fff}
.calcard:hover{background:var(--roxo2)}
.calcard .mono{color:var(--ouro)}
.calcard b{display:block;font-size:14px;margin-top:4px;line-height:1.3}
.calcard small{display:block;font-size:12px;color:#D9CCEE;margin-top:4px}
.lotwrap{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}
.lotlist{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 170px);overflow:auto}
.lot{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px 14px}
.lot:hover{border-color:var(--roxo)}
.lot.on{border-color:var(--roxo);box-shadow:0 0 0 2px var(--roxo) inset}
.lot b{display:block;font-size:15px;margin-top:4px;line-height:1.3}
.lot small{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.tbl .tr{display:grid;grid-template-columns:32px minmax(0,1fr) 150px 130px 130px;align-items:center;gap:8px;padding:0 14px;min-height:46px;border-bottom:1px solid #EFE7D8;font-size:14px}
.tbl .th{min-height:36px;background:#FBF7EF}
.tbl .body{max-height:calc(100vh - 360px);overflow:auto}
.st{display:inline-flex;align-items:center;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}
.st-agendado,.st-publicando{background:#E6DDF5;color:var(--roxo)}
.st-publicado{background:#D7EEDB;color:#1D5B2A}
.st-apagado{background:#F6D9DB;color:#8A1119}
.st-erro{background:#8A1119;color:#fff}
.st-cancelado,.st-off{background:#ECE6DA;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.stats .card{padding:18px 20px}
.stats .display{font-size:40px}
.list-row{display:flex;align-items:center;gap:12px;min-height:46px;border-bottom:1px solid #EFE7D8}
.list-row b{flex-grow:1}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--roxo);padding:16px}
.login .card{max-width:420px;width:100%;padding:36px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.muted{color:var(--muted)}
.small{font-size:13px}
@media (max-width:1100px){.cols{grid-template-columns:1fr}.lotwrap{grid-template-columns:1fr}.week{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.shell{flex-direction:column}.side{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;padding:12px}.brand{padding:0 10px}.side .grow,.me{display:none}.nav{width:auto}.main{padding:16px}.tbl .tr{grid-template-columns:28px minmax(0,1fr) 90px 90px;}.tbl .tr .c-brand{display:none}}
