:root{color-scheme:dark;--bg:#0e1012;--panel:#17191c;--panel-2:#1e2023;--line:#303238;--text:#f3f0e9;--muted:#a3a4a8;--gold:#c9a466;--gold-dark:#1f1a12;--red:#ea8179;--green:#8bc9a8;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--gold)}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow{letter-spacing:.16em;font-size:.69rem;font-weight:750;color:var(--gold)}.logo-mark{font-family:Georgia,'Times New Roman',serif;font-size:2.45rem;letter-spacing:.02em;color:#f3eee4;line-height:1}.logo-mark span{font-size:.7em;color:var(--gold)}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-weight:700;gap:9px;padding:12px 18px;transition:background .15s,transform .15s;white-space:nowrap}.button:disabled{opacity:.55;cursor:wait}.button:active:not(:disabled){transform:translateY(1px)}.button-primary{background:var(--gold);color:#17130f}.button-primary:hover{background:#d8b97f}.button-outline{border-color:#45474c;background:transparent;color:var(--text)}.button-outline:hover{background:#24262a}.login-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;background:radial-gradient(ellipse at 52% 3%,#332819 0,transparent 60%),var(--bg)}.login-card{width:min(100%,415px);padding:40px;background:var(--panel);border:1px solid #3b352a;border-radius:18px;box-shadow:0 24px 70px #0007}.login-card .logo-mark{margin-bottom:13px}.login-card h1{font:normal 2rem Georgia,serif;margin:25px 0 9px}.login-card p{color:var(--muted);line-height:1.55;margin:0 0 26px}.login-card label,.form-fields label{display:block;margin-bottom:8px;font-weight:650;font-size:.85rem}.login-card input,.form-fields input,.filter-bar input,.filter-bar select{border:1px solid #3d4045;background:#111316;color:var(--text);border-radius:8px;min-height:43px;padding:10px 12px;outline:none}.login-card input:focus,.form-fields input:focus,.filter-bar input:focus{border-color:var(--gold)}.login-card input{display:block;width:100%;margin-bottom:14px}.login-card .button{width:100%}.form-message{color:var(--red);min-height:19px;font-size:.85rem;margin-top:9px}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;min-width:250px;border-right:1px solid var(--line);background:#151719;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-brand{padding:32px 25px 38px;border-bottom:1px solid var(--line)}.sidebar-brand .logo-mark{font-size:2.2rem}.sidebar-brand small{display:block;font-size:.63rem;letter-spacing:.17em;color:var(--gold);margin-top:10px}.sidebar-nav{padding:22px 12px;display:flex;flex-direction:column;gap:8px}.nav-link{display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:14px 15px;text-align:left;color:#b9b8b5;border-radius:9px;font-weight:650;width:100%}.nav-link span{font-size:1.4rem;line-height:1}.nav-link:hover{background:#24272a}.nav-link.is-active{background:#30291e;color:#e9c590}.sidebar-bottom{margin-top:auto;padding:20px 15px;border-top:1px solid var(--line)}.sidebar-account{display:flex;align-items:center;gap:10px}.account-dot{width:29px;height:29px;border:2px solid var(--gold);border-radius:50%;background:#40321f}.sidebar-account strong{display:block;font-size:.79rem}.sidebar-account small{display:block;font-size:.7rem;color:var(--muted);margin-top:5px}.logout{margin-top:20px;padding:6px 0;background:transparent;border:0;color:var(--muted);font-size:.8rem}.main-content{padding:40px 45px 22px;max-width:1660px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar h1{font:normal 2.15rem Georgia,serif;margin:11px 0 7px}.topbar-subtitle{color:var(--muted);margin:0}.topbar-actions{display:flex;align-items:center;gap:13px}.status-pill{font-size:.78rem;color:var(--muted);padding:8px 11px;border:1px solid var(--line);border-radius:30px;white-space:nowrap}.status-pill.good{color:var(--green);border-color:#375944;background:#16241c}.status-pill.bad{color:var(--red);border-color:#603b38}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:30px 0 38px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px 22px}.stat-card>span{color:#b9b4ac;font-size:.81rem}.stat-card strong{display:block;font:normal 2.25rem Georgia,serif;margin:10px 0 7px}.stat-card small{color:var(--muted);font-size:.74rem}.view-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}.view-header h2{font:normal 1.48rem Georgia,serif;margin:0 0 8px}.view-header p{color:var(--muted);margin:0;font-size:.86rem}.filter-bar{display:flex;gap:10px}.filter-bar input{min-width:235px}.filter-bar select{min-width:140px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(207px,1fr));gap:17px}.media-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:310px}.media-photo{width:100%;height:215px;object-fit:cover;background:#272727}.media-placeholder{height:215px;display:grid;place-items:center;background:#2a2b2c;color:#b9b6ad;font-size:2.2rem}.media-info{padding:13px;display:flex;flex-direction:column;gap:7px;flex:1}.media-label{display:flex;justify-content:space-between;align-items:center;color:var(--gold);font-size:.68rem;font-weight:750;letter-spacing:.08em}.media-date{color:var(--muted);font-size:.68rem;letter-spacing:0;font-weight:500}.media-caption{font-size:.82rem;line-height:1.4;min-height:35px;color:#e4e1db;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 5px}.media-info .button{margin-top:auto;width:100%;padding:9px 12px;font-size:.77rem}.empty-state{padding:60px 20px;border:1px dashed #4a4540;background:#181818;border-radius:14px;text-align:center;color:var(--muted)}.empty-icon{font-size:2.8rem;color:var(--gold)}.empty-state h3{font:normal 1.45rem Georgia,serif;color:var(--text);margin:14px 0 8px}.empty-state p{margin:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{border-collapse:collapse;width:100%;min-width:760px;font-size:.85rem}th{text-align:left;color:var(--muted);font-size:.74rem;letter-spacing:.02em;font-weight:650;background:#202225;padding:15px}td{border-top:1px solid var(--line);padding:15px;vertical-align:middle}td:first-child{max-width:275px}.row-caption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:260px;display:block}.minor{font-size:.71rem;color:var(--muted);margin-top:5px}.status-tag{display:inline-block;padding:6px 9px;border-radius:6px;background:#373533;color:#d8c6a9;font-size:.72rem;font-weight:650}.status-tag.published,.status-tag.confirmed{background:#21372a;color:#9ed0ac}.status-tag.failed,.status-tag.needs_review{background:#462824;color:#f1a59a}.status-tag.scheduled{background:#283543;color:#add0f5}.tiny-button{background:transparent;border:1px solid #57524a;color:#e3c28e;border-radius:6px;padding:7px 9px;font-size:.72rem}.tiny-button:hover{background:#33302b}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.details-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px}.details-card h3{margin:0 0 22px;font:normal 1.25rem Georgia,serif}.details-card p{line-height:1.6;font-size:.86rem;color:#bdbbb7}.details-card code{font-size:.76rem;word-break:break-all}.detail-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line);font-size:.82rem}.detail-row span{color:var(--muted)}.settings-note{margin-bottom:0}footer{color:#797a7c;font-size:.7rem;margin:35px 0 0}.schedule-dialog{background:#17191c;border:1px solid #4d473d;border-radius:16px;color:var(--text);width:min(100% - 32px,590px);max-height:min(95vh,850px);padding:0;box-shadow:0 30px 100px #000b}.schedule-dialog::backdrop{background:#000b}.dialog-content{padding:25px;overflow:auto}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.dialog-heading h2{font:normal 1.6rem Georgia,serif;margin:7px 0 20px}.icon-button{font-size:1.8rem;line-height:1;background:transparent;border:0;color:var(--muted)}.dialog-preview{display:grid;grid-template-columns:110px 1fr;gap:17px;padding:12px;background:#202226;border-radius:11px}.dialog-preview img{width:110px;height:120px;object-fit:cover;background:#333;border-radius:7px}.dialog-preview p{line-height:1.4;max-height:65px;overflow:hidden;font-size:.85rem}.dialog-preview a{font-size:.76rem}.mode-options{border:0;margin:22px 0 18px;padding:0}.mode-options legend{margin-bottom:10px;font-weight:700;font-size:.88rem}.mode-card{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #3c3f43;border-radius:9px;margin-bottom:9px;cursor:pointer}.mode-card:has(input:checked){background:#332b1d;border-color:#856b46}.mode-card input{accent-color:var(--gold);margin-top:4px}.mode-card strong{display:block;font-size:.84rem}.mode-card small{display:block;color:var(--muted);margin-top:4px;line-height:1.35;font-size:.72rem}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-fields input{width:100%}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:13px}.toast{position:fixed;right:24px;bottom:24px;background:#252921;border:1px solid #65734c;box-shadow:0 15px 40px #0008;border-radius:9px;color:#edf5e9;padding:14px 18px;max-width:min(92vw,440px);z-index:20;font-size:.85rem;line-height:1.4}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.main-content{padding:30px 26px}}@media(max-width:740px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto;min-width:0}.sidebar-brand{padding:18px}.sidebar-brand .logo-mark{font-size:1.75rem}.sidebar-nav{flex-direction:row;padding:9px;overflow:auto}.nav-link{white-space:nowrap;padding:10px 12px;font-size:.77rem}.sidebar-bottom{display:none}.main-content{padding:25px 16px}.topbar,.view-header{align-items:stretch;flex-direction:column}.topbar h1{font-size:1.8rem}.topbar-actions{justify-content:space-between}.topbar-actions .button{font-size:.78rem;padding:10px}.stats{gap:9px;margin:23px 0}.stat-card{padding:15px}.stat-card strong{font-size:1.8rem}.filter-bar input{flex:1;min-width:0}.filter-bar select{min-width:110px}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.media-photo,.media-placeholder{height:160px}.media-info{padding:10px}.settings-grid{grid-template-columns:1fr}.dialog-content{padding:17px}}@media(max-width:380px){.media-grid{grid-template-columns:1fr}.form-fields{grid-template-columns:1fr}}

/* SOCA Scheduler v1.1 — diagnóstico e auditoria */
.settings-actions,.media-check-panel{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.event-list{display:grid;gap:10px;max-height:55vh;overflow:auto;margin-top:14px}
.event-entry{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;padding:12px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}
.event-entry p{flex-basis:100%;margin:0;color:var(--muted)}

/* SOCA Scheduler 1.2 */
.brand-logo{display:flex;align-items:center;justify-content:flex-start;min-height:58px}
.brand-logo>img{display:block;max-width:185px;max-height:76px;width:auto;height:auto;object-fit:contain}
.login-card .brand-logo{justify-content:center;margin-bottom:8px}
.login-card .brand-logo>img{max-width:230px;max-height:95px}
.brand-logo>img[hidden],.brand-logo>.logo-mark[hidden]{display:none!important}
.show-archived-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.83rem;white-space:nowrap}
.show-archived-label input{accent-color:var(--gold)}
.tiny-danger{border-color:#754d46;color:#efb4ac}
.tiny-danger:hover{background:#4e2c28}
.edit-media-picker{display:flex;flex-direction:column;gap:8px;margin-top:17px}
.edit-media-picker.hidden{display:none}
.edit-media-picker label{font-size:.8rem;color:var(--muted);font-weight:650}
.edit-media-picker select{background:#111316;color:var(--text);border:1px solid #3d4045;border-radius:8px;min-height:43px;padding:10px}

/* SOCA Scheduler v1.3: prévia de texto e proporção vertical */
.brand-logo>img,.login-card .brand-logo>img{width:115px;height:115px;max-width:115px;max-height:115px;border-radius:50%;object-fit:cover;object-position:center}
.story-composer{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#202226}
.story-editor-heading{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.story-editor-heading small{color:var(--muted);font-size:.75rem;line-height:1.5}
.story-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:15px;align-items:start}
.story-editor-grid textarea{display:block;margin-top:8px;width:100%;box-sizing:border-box;min-height:90px;resize:vertical;color:var(--text);background:#111316;border:1px solid #454648;border-radius:8px;padding:11px;font:inherit;font-size:.85rem}
.story-canvas{aspect-ratio:9/16;width:125px;position:relative;overflow:hidden;background:#080809;border:1px solid #56514b;border-radius:9px}
.story-canvas img{width:100%;height:100%;object-fit:contain}.story-overlay{position:absolute;top:69%;left:5%;width:90%;min-height:13%;background:#000b;color:white;display:flex;align-items:center;justify-content:center;text-align:center;font-size:9px;line-height:1.3;padding:4px;box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere}
.composer-disabled textarea{opacity:.45}.story-editor-grid label{font-size:.82rem}
@media(max-width:440px){.story-editor-grid{grid-template-columns:minmax(0,1fr) 100px}.story-canvas{width:100px}}

/* v1.4 story controls */
.story-style-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
.story-style-controls label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:#cfb581}
.story-style-controls select,.story-style-controls input{width:100%;min-width:0;padding:10px;background:#171717;border:1px solid #474747;border-radius:7px;color:#eee}
.story-canvas{position:relative;overflow:hidden}.story-overlay{box-sizing:border-box;line-height:1.25;white-space:pre-wrap;text-align:center}
@media(max-width:700px){.story-style-controls{grid-template-columns:1fr}}

/* v1.5: editor visual ampliado e drag and drop */
.schedule-dialog{width:min(96vw,1120px);max-width:1120px;max-height:96dvh}
.schedule-dialog.editor-expanded{width:99vw;max-width:99vw;height:98dvh;max-height:98dvh}
.schedule-dialog .dialog-content{max-height:96dvh;overflow:auto}
.schedule-dialog.editor-expanded .dialog-content{max-height:98dvh}
.editor-window-actions{display:flex;gap:12px;align-items:center}
.story-editor-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1fr) minmax(235px,360px);gap:20px;align-items:start}
.story-preview-panel{display:flex;flex-direction:column;align-items:center;gap:8px}
.story-canvas{width:min(100%,320px);aspect-ratio:9/16;touch-action:none;position:relative;user-select:none}
.editor-expanded .story-canvas{width:min(100%,390px)}
.story-canvas img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.story-safe-area{position:absolute;left:12%;right:12%;top:19%;bottom:19%;border:1px dashed #ffe5a07a;pointer-events:none}
.story-axis{display:none;position:absolute;pointer-events:none;background:#e5c9829e;z-index:3}
.story-axis-h{height:1px;left:0;right:0;top:50%}.story-axis-v{width:1px;top:0;bottom:0;left:50%}
.story-canvas.snap-x .story-axis-v,.story-canvas.snap-y .story-axis-h{display:block}
.story-overlay{z-index:4;min-height:0;max-width:84%;width:max-content;cursor:grab;touch-action:none;user-select:none;text-align:center;line-height:1.22;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:4px}
.story-canvas.is-dragging .story-overlay{cursor:grabbing;outline:1px dashed #ead19b}
.story-overlay:focus-visible{outline:2px solid #f2d78b}
.story-position-info{display:flex;justify-content:space-between;align-items:center;gap:6px;width:100%;font-size:.75rem;color:#ddd}
.story-preview-panel>small{color:var(--muted);font-size:.7rem;text-align:center}
@media(max-width:950px){.story-editor-grid{grid-template-columns:minmax(0,1fr) minmax(215px,1fr)}.story-preview-panel{grid-column:1 / -1;grid-row:1}}
@media(max-width:620px){.story-editor-grid{grid-template-columns:1fr}.story-preview-panel{grid-column:auto;grid-row:auto}.story-canvas{width:min(100%,280px)}.schedule-dialog{width:98vw}}
