:root{--espresso:#432d1b;--walnut:#774f27;--sand:#d8be98;--olive:#a4aa64;--gold:#ecae37;--paper:#fffaf2;--ink:#281b12;--muted:#7d6a58;--line:#432d1b24;--brand-color:var(--gold);--brand-soft:#ecae3724;--brand-muted:var(--walnut);--brand-contrast:var(--espresso);color:var(--ink);background:var(--paper);font-family:Parkinsans,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:88px minmax(0,1fr);min-height:100vh;display:grid}.app-shell.no-nav{display:block}.side-nav{background:var(--espresso);flex-direction:column;align-items:center;gap:34px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.brand-mark img{filter:brightness(1.8);width:58px;height:auto;display:block}.side-nav nav{gap:14px;display:grid}.side-nav a:not(.brand-mark){color:#fff8ec;border-radius:8px;place-items:center;width:46px;height:46px;display:grid}.side-nav a.router-link-active:not(.brand-mark),.side-nav a:hover{color:var(--gold);background:#ecae3738}.nav-logout{color:#fff8ec;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:46px;height:46px;margin-top:auto;display:grid}.nav-logout:hover{color:var(--gold);background:#ecae3738}.workspace,.public-report{padding:28px clamp(18px,4vw,54px) 44px}.topbar,.report-hero{justify-content:space-between;align-items:center;gap:22px;margin-bottom:24px;display:flex}.report-hero{justify-content:flex-start}.report-hero img{width:148px}.eyebrow{color:var(--walnut);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:800}h1,h2{color:var(--espresso);margin:0;font-family:Croissant One,serif;line-height:1.08}h1{font-size:clamp(2rem,4vw,3.8rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}.top-actions{flex-wrap:wrap;gap:12px;display:flex}.primary-button,.icon-text-button,.floating-add{cursor:pointer;white-space:nowrap;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:42px;padding:0 16px;font-weight:750;display:inline-flex}.primary-button,.floating-add{background:var(--gold);color:var(--espresso);box-shadow:0 12px 28px #ecae3747}.icon-text-button{color:var(--espresso);border:1px solid var(--line);background:#fff}.icon-text-button.full-width{justify-content:center;width:100%}button:disabled{cursor:not-allowed;opacity:.62;box-shadow:none}.filters-band{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:18px;padding:16px;display:flex}label,.filter-field{color:var(--muted);gap:7px;font-size:.82rem;font-weight:750;display:grid}select,input,textarea{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fffaf8;border-radius:7px;min-width:150px;padding:8px 10px}textarea{resize:vertical;min-width:260px}.month-controls{align-items:center;gap:12px;margin-left:auto;display:flex}.month-controls button,.modal-panel header>button,.actions-cell button:not(.table-action),.segmented button{border:1px solid var(--line);width:38px;height:38px;color:var(--espresso);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:grid}.summary-strip{grid-template-columns:minmax(130px,1.2fr) repeat(auto-fit,minmax(118px,1fr));gap:12px;margin-bottom:18px;display:grid}.summary-total,.summary-pill{border:1px solid var(--line);background:#fff;border-radius:8px;gap:4px;padding:15px;display:grid}.summary-total{background:var(--espresso);color:#fffaf2}.summary-total strong,.summary-pill strong{font-size:2rem;line-height:1}.summary-total span,.summary-pill span{color:inherit;opacity:.76;font-weight:750}.company-breakdown{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:18px;display:grid}.company-breakdown article{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:9px;padding:12px;display:flex}.company-dot{border-radius:50%;flex:none;width:12px;height:12px}.company-breakdown img{object-fit:contain;border:1px solid var(--line);background:#fffaf8;border-radius:8px;flex:none;width:38px;height:38px;padding:5px}.company-summary-copy{gap:3px;min-width:0;display:grid}.company-summary-copy>span{color:var(--muted);font-weight:650}.company-format-summary{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.company-format-summary span{color:var(--walnut);background:#ecae3729;border-radius:999px;padding:3px 7px;font-size:.74rem;font-weight:800}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.weekday{color:var(--muted);padding:0 8px 4px;font-size:.78rem;font-weight:800}.calendar-day{aspect-ratio:1/.82;border:1px solid var(--line);min-height:112px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:8px;align-content:start;gap:6px;padding:10px;display:grid;overflow:hidden}.calendar-day:hover{border-color:var(--gold);box-shadow:0 10px 24px #432d1b17}.calendar-day.empty{cursor:default;background:#fff6}.day-number{color:var(--espresso);font-weight:850}.day-total{width:fit-content;color:var(--walnut);background:#ecae372e;border-radius:999px;padding:3px 8px;font-size:.78rem;font-weight:800}.day-formats{color:var(--muted);gap:3px;font-size:.72rem;display:grid}.modal-backdrop{z-index:10;background:#281b126b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-panel{background:var(--paper);border-radius:8px;width:min(1080px,100%);max-height:88vh;padding:20px;overflow:auto;box-shadow:0 30px 70px #281b1238}.modal-panel header{justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px;display:flex}.mockup-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.post-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px;display:grid}.social-mockup{--platform:var(--gold);border:2px solid color-mix(in srgb, var(--platform), white 45%);background:#fff;border-radius:8px;align-content:start;display:grid;overflow:hidden;box-shadow:0 14px 30px #432d1b14}.social-mockup header{border-bottom:3px solid var(--platform);justify-content:flex-start;align-items:center;gap:9px;padding:10px 12px;display:flex}.social-mockup small{color:var(--muted);display:block}.company-logo-avatar{object-fit:contain;border:1px solid color-mix(in srgb, var(--platform), white 42%);background:#fffaf8;border-radius:50%;flex:none;width:42px;height:42px;padding:5px}.mockup-meta{gap:2px;min-width:0;display:grid}.mockup-meta strong,.mockup-meta small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mock-media{background:#eee5d8;min-height:180px;transition:height .18s;position:relative;overflow:hidden}.mock-media img,.mock-media video{object-fit:contain;background:#0f0c09;width:100%;height:100%;display:block}.media-count{color:#fff;background:#000000a3;border-radius:999px;padding:4px 8px;font-weight:800;position:absolute;top:10px;right:10px}.media-placeholder{width:100%;height:100%;color:var(--muted);place-items:center;font-weight:800;display:grid}.carousel-control{color:#fff;cursor:pointer;background:#432d1bc2;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.carousel-control.prev{left:8px}.carousel-control.next{right:8px}.social-mockup.instagram{--platform:#d62976}.social-mockup.facebook{--platform:#1877f2}.social-mockup.linkedin{--platform:#0a66c2}.social-mockup.tiktok{--platform:#00f2ea;color:#fff;background:#111}.social-mockup.tiktok small,.social-mockup.tiktok p{color:#ffffffc7}.social-mockup p{color:var(--ink);margin:12px}.social-mockup a{color:var(--walnut);align-items:center;gap:7px;margin:0 12px 12px;font-weight:800;display:inline-flex}.social-mockup.compact{width:220px;box-shadow:none}.social-mockup.compact header{padding:8px}.social-mockup.compact .company-logo-avatar{width:30px;height:30px;padding:3px}.social-mockup.compact .mock-media{min-height:140px}.social-mockup.compact p,.social-mockup.compact a{display:none}.table-shell{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}th{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.78rem}td select,td input,td textarea{width:100%;min-width:0}.actions-cell{white-space:nowrap}.actions-cell button:not(.table-action){margin-right:6px;display:inline-grid}.floating-add{z-index:8;position:fixed;bottom:26px;right:26px}.empty-state{color:var(--muted);padding:24px}.empty-panel{border:1px solid var(--line);background:#fff;border-radius:8px;justify-items:start;gap:14px;max-width:680px;padding:28px;display:grid}.empty-panel p{color:var(--muted);margin:0;line-height:1.6}.auth-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:18px;display:grid}.auth-page{align-content:center;justify-items:center;gap:22px;min-height:100vh;display:grid}.auth-header{text-align:center;justify-items:center;gap:12px;display:grid}.auth-header img{width:min(210px,72vw)}.auth-card{width:min(440px,100%)}.auth-switch{color:var(--muted);text-align:center;margin:0}.auth-switch a{color:var(--walnut);text-underline-offset:3px;font-weight:850;text-decoration:underline}.auth-inline-link{text-underline-offset:3px;justify-self:end;font-size:.86rem;text-decoration:underline}.form-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;padding:18px;display:grid}.form-panel h2{font-size:1.6rem}.notice{border-radius:8px;margin:18px 0 0;padding:12px 14px;font-weight:750}.notice.success{color:#4c521f;background:#a4aa642e}.notice.error{color:var(--walnut);background:#774f2729}.portfolio-list{margin-top:18px}.file-upload{border:1px solid var(--line);min-height:42px;color:var(--espresso);cursor:pointer;background:#fffaf8;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex;position:relative;overflow:hidden}.file-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.logo-preview{grid-template-columns:76px minmax(0,1fr);align-items:center;gap:12px;display:grid}.logo-preview img{object-fit:contain;border:1px solid var(--line);background:#fffaf8;border-radius:8px;width:76px;height:76px;padding:8px}.portfolio-table table{min-width:820px}.brand-cell{align-items:center;gap:9px;display:flex}.brand-cell img{object-fit:contain;border:1px solid var(--line);background:#fffaf8;border-radius:8px;width:42px;height:42px;padding:5px}.muted-text{color:var(--muted)}.form-modal{width:min(760px,100%)}.form-modal .form-panel .primary-button{width:100%}.tabs{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;margin-bottom:16px;padding:4px;display:grid}.tabs button{min-height:42px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:0 14px;font-weight:850}.tabs button.active{background:var(--espresso);color:#fffaf2}.table-action{width:auto;min-width:94px;min-height:36px;box-shadow:none;justify-content:center;align-items:center;margin:0 6px 6px 0;padding:0 11px;font-size:.84rem;line-height:1;display:inline-flex}.table-action.danger{color:#7c2f1d;border-color:#7c2f1d38}.rotated{transform:rotate(180deg)}.companies-collapse-row>td{background:#fffaf8;padding:0}.companies-collapse{border-top:1px solid var(--line);gap:12px;padding:16px;display:grid}.companies-collapse header{justify-content:space-between;align-items:center;gap:12px;display:flex}.small-button{min-height:36px;padding-inline:12px;font-size:.84rem}.nested-table{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:680px;overflow:hidden}.nested-table th,.nested-table td{padding:10px 12px}.media-dropzone{min-width:220px;min-height:112px;color:var(--walnut);text-align:center;cursor:pointer;background:#fffaf8;border:1px dashed #774f2759;border-radius:8px;align-content:center;place-items:center;gap:5px;padding:12px;display:grid;position:relative}.media-dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.media-dropzone span{font-weight:850}.media-dropzone small{color:var(--muted)}.media-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.media-list article{border:1px solid var(--line);background:#fff;border-radius:8px;width:64px;height:64px;position:relative;overflow:hidden}.media-list img,.media-list video{object-fit:cover;width:100%;height:100%;display:block}.media-list button{color:#fff;cursor:pointer;background:#432d1bdb;border:0;border-radius:6px;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:3px;right:3px}.posts-visual-table table{min-width:1120px}.visual-content-cell{width:250px}.inline-link{color:var(--walnut);align-items:center;gap:6px;font-weight:850;display:inline-flex}.public-report{--brand-color:var(--gold);--brand-soft:#ecae3724;--brand-muted:var(--walnut);--brand-contrast:var(--espresso)}.report-hero{border-bottom:4px solid var(--brand-color);padding-bottom:18px}.report-hero img{object-fit:contain;width:148px;max-height:86px}.report-hero h1{color:var(--brand-muted)}.report-filters{border-color:var(--brand-color);background:var(--brand-soft)}.report-filters select{border-color:color-mix(in srgb, var(--brand-color), white 58%)}.year-popover-picker{min-width:150px;position:relative}.year-trigger{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);cursor:pointer;background:#fffaf8;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-weight:850;display:flex}.year-trigger.active{border-color:var(--brand-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-color), transparent 82%)}.year-popover{z-index:20;border:1px solid color-mix(in srgb, var(--brand-color), white 58%);width:224px;box-shadow:0 18px 42px color-mix(in srgb, var(--brand-color), transparent 76%);background:#fff;border-radius:8px;padding:8px;position:absolute;top:calc(100% + 8px);left:0}.year-nav-button{border:1px solid color-mix(in srgb, var(--brand-color), white 62%);background:color-mix(in srgb, var(--brand-color), white 90%);width:100%;min-height:34px;color:var(--brand-muted);cursor:pointer;border-radius:7px;place-items:center;display:grid}.year-grid{gap:6px;margin:7px 0;display:grid}.year-grid-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.year-cell{border:1px solid color-mix(in srgb, var(--brand-color), white 70%);min-height:42px;color:var(--brand-muted);cursor:pointer;background:#fffaf8;border-radius:7px;font-weight:850}.year-cell.center:not(.selected){background:color-mix(in srgb, var(--brand-color), white 92%)}.year-cell.selected{background:var(--brand-color);color:var(--brand-contrast);border-color:var(--brand-color)}.public-report .eyebrow,.public-report label,.public-report .filter-field,.public-report .weekday,.public-report th,.public-report .day-formats,.public-report .empty-state,.public-report .muted-text{color:var(--brand-muted)}.public-report .summary-total{background:var(--brand-color);color:var(--brand-contrast);box-shadow:0 14px 30px color-mix(in srgb, var(--brand-color), transparent 72%)}.public-report .summary-pill{border-color:color-mix(in srgb, var(--brand-color), white 55%);background:color-mix(in srgb, var(--brand-color), white 88%)}.public-report .summary-pill strong,.public-report .day-number{color:var(--brand-muted)}.public-report .calendar-day{border-color:color-mix(in srgb, var(--brand-color), white 64%);background:color-mix(in srgb, var(--brand-color), white 95%)}.public-report .calendar-day:hover{border-color:var(--brand-color);box-shadow:0 10px 24px color-mix(in srgb, var(--brand-color), transparent 78%)}.public-report .calendar-day.empty{background:color-mix(in srgb, var(--brand-color), white 92%);opacity:.48}.public-report .day-total{background:color-mix(in srgb, var(--brand-color), white 78%);color:var(--brand-muted)}.public-report .report-company-breakdown article{border-color:color-mix(in srgb, var(--brand-color), white 58%);background:color-mix(in srgb, var(--brand-color), white 94%)}.public-report .report-company-breakdown img{border-color:color-mix(in srgb, var(--brand-color), white 62%)}.public-report .company-summary-copy>span{color:var(--brand-muted)}.public-report .company-format-summary span{background:color-mix(in srgb, var(--brand-color), white 80%);color:var(--brand-muted)}.public-report .social-mockup a,.public-report .inline-link{color:var(--brand-muted)}.public-report .social-mockup a{border:1px solid color-mix(in srgb, var(--brand-color), white 58%);background:color-mix(in srgb, var(--brand-color), white 88%);border-radius:8px;width:fit-content;padding:8px 10px}.public-report .table-shell{border-color:color-mix(in srgb, var(--brand-color), white 58%);box-shadow:0 14px 30px color-mix(in srgb, var(--brand-color), transparent 86%)}.public-report th{background:color-mix(in srgb, var(--brand-color), white 88%)}.public-report th,.public-report td{border-bottom-color:color-mix(in srgb, var(--brand-color), white 72%)}.segmented{gap:6px;margin-left:auto;display:flex}.segmented button.active{background:var(--brand-color);color:var(--brand-contrast)}.year-range-actions{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.year-range-actions button{border:1px solid color-mix(in srgb, var(--brand-color), white 58%);min-height:40px;color:var(--brand-muted);cursor:pointer;background:#fff;border-radius:8px;padding:0 12px;font-weight:800}@media (width<=860px){.app-shell{grid-template-columns:1fr}.side-nav{flex-direction:row;justify-content:space-between;height:auto;padding:12px 16px;position:static}.side-nav nav{display:flex}.topbar{flex-direction:column;align-items:start}.month-controls,.segmented{margin-left:0}.calendar-grid{gap:5px}.calendar-day{min-height:92px;padding:8px}.day-formats{display:none}.mockup-row,.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.workspace,.public-report{padding:18px 12px 34px}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekday,.calendar-day.empty{display:none}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-total{grid-column:1/-1}.mockup-row,.post-grid{grid-template-columns:1fr}}
