/* RLabs Studio: final visual layer, shared by the local app and portal. */
:root,html[data-theme="light"] {
 --system-font:'Manrope',system-ui,sans-serif;--display-font:'Sora','Manrope',sans-serif;
 --paper:#f2f3f7;--surface:#fff;--card:#fff;--surface-muted:#e9ecf3;--field:#f8f9fc;
 --ink:#202737;--muted:#606c80;--ink-soft:#606c80;--line:#d8deea;
 --accent:#a94420;--orange:#a94420;--action-ink:#a94420;--green:#ffae80;--green-dark:#843717;--green-soft:#fae9de;
 --blue:#626ba6;--yellow:#c28928;--sidebar-surface:#e9ecf3;--sidebar-ink:#647086;--sidebar-strong:#202737;
 --topbar-surface:#f2f3f7ed;--calendar-outside:#edf0f6;--calendar-current:#fff6ee;
 --studio-glow:#d8dcef70;--studio-shadow:0 12px 36px #17213b08;--shadow:0 24px 80px #10131b26;
 color-scheme:light;
}
html[data-theme="dark"] {
 --paper:#10131b;--surface:#191f2b;--card:#191f2b;--surface-muted:#242c3c;--field:#141a25;
 --ink:#f3f2ed;--muted:#a5afc2;--ink-soft:#a5afc2;--line:#343d50;
 --accent:#ffae80;--orange:#ffc3a1;--action-ink:#ffae80;--green:#ffae80;--green-dark:#ffae80;--green-soft:#382b29;
 --blue:#b4b8f2;--yellow:#e9bb73;--sidebar-surface:#151a24;--sidebar-ink:#a5afc2;--sidebar-strong:#f3f2ed;
 --topbar-surface:#10131bed;--calendar-outside:#131925;--calendar-current:#29262a;
 --studio-glow:#4e567526;--studio-shadow:0 12px 36px #00000012;--shadow:0 24px 80px #0006;
 color-scheme:dark;
}
body,input,select,textarea,button { font-family:var(--system-font); }
body { background:var(--paper);-webkit-font-smoothing:antialiased; }
h1,h2,h3,.brand strong,.portal-brand b { font-family:var(--display-font); }
button,input,select,textarea { font-size:13px; }
.studio-icon { width:20px;height:20px;flex-shrink:0;vertical-align:middle; }
[data-icon] { display:inline-flex;align-items:center;justify-content:center; }
.app-shell .sidebar { width:216px;padding:24px 12px 14px;border-right:1px solid var(--line);background:var(--sidebar-surface); }
.app-shell .main { margin-left:216px; }
.app-shell.sidebar-collapsed .sidebar { width:76px;padding:24px 10px 14px; }
.app-shell.sidebar-collapsed .main { margin-left:76px; }
.brand { gap:10px;padding:0 7px 28px;min-height:62px; }
.brand-mark { width:36px;height:36px;flex:none;border-radius:12px;background:var(--green);border:0; }
.brand-mark span { transform:none;font-family:var(--display-font);font-size:21px;font-weight:700; }
.brand strong { font-family:var(--display-font);font-size:22px;font-weight:600;letter-spacing:-1.1px;color:var(--ink); }
.brand-dot { color:var(--accent); }.brand small { font-size:9px;letter-spacing:0;text-transform:none;color:var(--muted); }
.app-shell .create-button { min-height:42px;margin:0 0 20px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;font-size:12px; }
.app-shell.sidebar-collapsed .create-button { width:42px;height:42px;min-height:42px;margin:0 auto 24px;border-radius:14px; }
.app-shell.sidebar-collapsed .create-button .nav-text,.app-shell.sidebar-collapsed .nav-text { display:none; }
.nav { overflow-y:auto;scrollbar-width:thin;min-height:0;flex:1; }
.nav-label { color:var(--muted);font-size:9px;letter-spacing:1.6px;margin:22px 10px 10px; }
.nav-label:first-child { margin-top:0; }
.app-shell .nav-item { min-height:42px;padding:10px 12px;gap:12px;border-radius:11px;color:var(--sidebar-ink);font-size:12px;margin:3px 0; }
.app-shell .nav-item .icon { width:20px;color:inherit; }
.app-shell .nav-item:hover { color:var(--ink);background:var(--surface-muted); }
html .app-shell .nav-item.active { color:var(--accent);background:var(--green-soft);box-shadow:none; }
.app-shell .nav-item.active:before { content:'';position:absolute;left:-7px;top:15px;width:3px;height:12px;border-radius:3px;background:var(--accent); }
.app-shell.sidebar-collapsed .nav-item { width:44px;margin:5px auto;min-height:44px;padding:10px; }
.app-shell.sidebar-collapsed .nav-item[data-view="analytics"],.app-shell.sidebar-collapsed .nav-item[data-view="users"] { margin-top:22px; }
.sidebar-footer { padding-top:12px;margin-top:16px;border-top:1px solid var(--line); }
#studioCloseMenu { display:none; }
.studio-nav-tooltip { position:fixed;left:84px;z-index:100;background:var(--ink);color:var(--paper);padding:9px 12px;border-radius:8px;font-size:11px;pointer-events:none;box-shadow:var(--shadow); }
.studio-nav-tooltip[hidden] { display:none; }
.profile-card { border:0;padding:8px 4px;font-size:11px; }.profile-card .avatar { width:32px;height:32px;border-radius:11px;background:var(--surface-muted);color:var(--ink);font-size:10px; }
.profile-card b { font-size:11px; }.profile-card small { font-size:10px;color:var(--muted); }
.app-shell .topbar,.app-shell.header-compact .topbar { position:sticky;top:0;z-index:15;height:68px;padding:0 38px;background:var(--topbar-surface);box-shadow:none;gap:18px; }
.topbar .breadcrumb { margin-right:auto;gap:14px;font-size:12px; }.breadcrumb strong { font-weight:600;color:var(--ink); }
.topbar .mobile-menu,.topbar .icon-button,.topbar .theme-toggle { width:36px;height:36px;min-width:36px;padding:7px;border:0;background:transparent;color:var(--muted);border-radius:10px;box-shadow:none;display:grid;place-items:center; }
.topbar button:hover { background:var(--surface-muted);color:var(--ink); }
.top-actions { gap:10px; }.topbar .client-context,.topbar .period-button { background:var(--surface);border-color:var(--line);box-shadow:none;border-radius:9px;height:36px; }
.topbar .client-context select { max-width:175px;background:transparent; }.topbar .client-context>span { font-size:9px;letter-spacing:1px; }
.app-shell[data-view="dashboard"] .client-context,.app-shell:not([data-view="analytics"]) #periodButton { display:none; }
.notification i { background:var(--accent);border:2px solid var(--paper);width:7px;height:7px; }
.view { padding:38px 42px;max-width:1600px; }
.primary-button,.create-button { background:var(--green);color:#29201e;font-weight:700;border:1px solid transparent;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 5px 16px #ffae8010; }
.primary-button:hover,.create-button:hover { background:#ffc3a1;color:#29201e; }
.secondary-button,.text-button,.v2-home .secondary { border-radius:10px;font-size:12px;font-weight:600; }
.text-button { display:inline-flex;align-items:center;gap:8px;color:var(--muted); }.text-button:hover { color:var(--accent); }.text-button .studio-icon { width:16px;height:16px; }
input,select,textarea { border:1px solid var(--line);background:var(--field);color:var(--ink);box-shadow:none; }
input:focus,textarea:focus,select:focus { border-color:var(--accent); }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid var(--accent);outline-offset:3px; }
.modal input:focus,.modal select:focus,.modal textarea:focus,.login-card input:focus { border-color:var(--accent);box-shadow:none; }
.page-heading h1 { font-family:var(--display-font);font-size:28px;font-weight:500;letter-spacing:-1.1px; }
.page-heading p { font-size:13px; }.page-heading .eyebrow { display:block;font-size:9px;letter-spacing:1.6px;color:var(--muted);margin-bottom:12px; }
.card,.module-card,.integration-card,.stat-card { background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--studio-shadow); }
.card-header h2,.module-card h3,.integration-card h3 { font-weight:500;font-size:16px;letter-spacing:-.4px; }
.module-card:hover,.integration-card:hover { border-color:var(--muted);transform:none; }
.stat-value { font-family:var(--display-font);font-size:30px;font-weight:500;letter-spacing:-1px; }
.content-row { border-radius:13px;padding:18px; }.content-row:hover { border-color:var(--muted); }
.modal,.detail-modal,.report-modal,.portal-modal-card { border-radius:20px;box-shadow:var(--shadow); }
.modal h2,.detail-modal h2,.report-modal h2 { font-family:var(--display-font);font-weight:500;letter-spacing:-.7px; }
.modal-backdrop { backdrop-filter:blur(7px); }
/* Home: the clients' work is the central visual element. */
.studio-home { max-width:1280px;margin:auto; }
.studio-welcome { position:relative;isolation:isolate;padding:4px 0 26px;border-bottom:1px solid var(--line);margin-bottom:34px; }
.studio-welcome:before { content:'';position:absolute;z-index:-1;inset:-38px -42px -1px;background:radial-gradient(ellipse at 72% 0,var(--studio-glow),transparent 65%);pointer-events:none; }
.studio-kicker { display:block;font-size:9px;font-weight:700;letter-spacing:2px;color:var(--muted); }
.v2-home .heading { margin-bottom:22px;align-items:center; }
.v2-home .heading .date-label { margin:18px 0 10px;font-size:11px;letter-spacing:.1px;color:var(--muted); }
.v2-home .heading h1 { font-family:var(--display-font);font-size:clamp(30px,3.8vw,49px);font-weight:400;line-height:1.16;letter-spacing:-2px;margin:0 0 12px; }
.v2-home .heading h1 span { color:var(--accent); }
.v2-home .heading p:last-child { margin:0;font-size:13px; }
.v2-home .heading .primary-button { min-height:46px;padding:12px 20px;font-size:12px;flex-shrink:0; }
.v2-home .weather { border:0;background:transparent;padding:0;border-radius:0;max-width:700px; }
.weather summary { display:flex;align-items:center;gap:10px;cursor:pointer;font-size:11px;color:var(--muted);list-style:none; }
.weather summary::-webkit-details-marker { display:none; }.weather summary .studio-icon { width:16px;height:16px;color:var(--blue); }
.weather-edit { color:var(--accent);font-size:10px;white-space:nowrap; }.weather-body { padding:16px;margin-top:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);max-width:400px; }
.v2-home .section-heading { align-items:end;margin-bottom:18px; }.v2-home .section-heading h2 { font-family:var(--display-font);font-size:20px;letter-spacing:-.7px;font-weight:500;margin:8px 0 0; }
.studio-dot { color:var(--accent); }
.v2-home .profile-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.profile-section { margin-bottom:36px; }
.v2-home .profile-tile { text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:6px;overflow:hidden;box-shadow:var(--studio-shadow); }
.profile-tile:hover { border-color:var(--muted); }
.v2-home .profile-select { display:block;padding:0;text-align:left; }
.profile-art { position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;height:158px;overflow:hidden;border-radius:11px;color:#e8d8cc;background:#383b49; }
.profile-tile[data-tone="1"] .profile-art { background:#303e44;color:#c1d9d7; }.profile-tile[data-tone="2"] .profile-art { background:#3d3547;color:#dbd0ea; }.profile-tile[data-tone="3"] .profile-art { background:#4b403b;color:#ead6ba; }
.profile-art:before { content:'';position:absolute;width:175px;height:175px;border:1px solid currentColor;opacity:.16;border-radius:50%;right:-36px;top:-72px;box-shadow:0 0 0 25px #ffffff05,0 0 0 50px #ffffff04,0 0 0 75px #ffffff03;z-index:-1; }
.profile-art:after { content:'';position:absolute;inset:auto 0 0;height:50%;background:linear-gradient(0deg,#10131b35,transparent);pointer-events:none; }
.profile-monogram { font-family:var(--display-font);font-size:62px;font-weight:400;letter-spacing:-5px;line-height:1;transform:translateY(-6px); }
.profile-art-label { position:absolute;bottom:15px;left:16px;font-size:9px;letter-spacing:.3px;z-index:1; }
.profile-open { position:absolute;top:12px;right:12px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;width:27px;height:27px;z-index:2; }.profile-open .studio-icon { width:14px;height:14px;transform:rotate(-35deg); }
.profile-select .profile-content-preview { position:absolute;inset:0;width:100%;height:100%;border-radius:0;object-fit:cover;border:0;z-index:1; }
.profile-info { display:flex;align-items:center;gap:10px;padding:16px 10px 10px; }.profile-info>span:last-child { min-width:0; }
.profile-select .profile-avatar { width:32px;height:32px;border-radius:11px;display:grid;place-items:center;flex:none;font-size:10px;letter-spacing:0;background:var(--surface-muted);color:var(--ink);border:1px solid var(--line);object-fit:cover; }
.profile-select strong { font-size:13px;font-weight:700;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.profile-select small { display:block;font-size:10px;color:var(--muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.profile-latest { display:block;font-size:11px;line-height:1.6;color:var(--muted);padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.photo-upload { margin:5px 3px 2px;padding:7px;font-size:10px; }.photo-upload:hover { color:var(--accent); }
.studio-desk { display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin:0 0 30px; }
.studio-desk .section-heading h2 { font-size:17px;margin-top:8px; }.studio-desk .section-heading .text-button { font-size:10px;padding:0; }
.studio-opportunities { min-width:0;padding-right:32px;border-right:1px solid var(--line); }
.v2-home .v2-next { margin:0;padding:0;border:0;background:none;box-shadow:none; }
.v2-home .v2-next>div#v2Actions { display:flex;flex-direction:column;gap:0;margin-top:0; }
#v2Actions button { display:flex;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:14px 0;color:var(--ink);width:100%; }
#v2Actions button:last-child { border-bottom:0; }#v2Actions button>span:nth-child(2) { flex:1; }#v2Actions strong { font-size:12px;display:block;font-weight:600; }#v2Actions small { display:block;font-size:10px;color:var(--muted);margin-top:5px; }#v2Actions button>.studio-icon { width:15px;color:var(--muted); }#v2Actions button:hover strong { color:var(--accent); }
.studio-action-icon { display:grid;place-items:center;width:36px;height:36px;background:var(--surface-muted);color:var(--blue);border-radius:11px;flex:none; }.studio-action-icon svg { width:17px;height:17px; }
.radar-event { display:flex;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid var(--line); }.radar-event:last-child { border-bottom:0; }.radar-event time { width:48px;text-align:center;flex:none; }.radar-event time b { display:block;font-family:var(--display-font);font-size:29px;font-weight:400;letter-spacing:-1px;color:var(--accent); }.radar-event time span { font-size:10px;text-transform:uppercase;color:var(--muted); }.radar-event strong { font-size:13px;font-weight:600; }.radar-event small { display:block;margin-top:7px;color:var(--muted);font-size:11px; }
.radar-empty { display:flex;gap:18px;padding:28px 0; }.radar-empty>span { color:var(--blue); }.radar-empty strong { font-size:13px;font-weight:500; }.v2-home .radar-empty p { font-size:12px;line-height:1.8;max-width:340px; }
.v2-home .season-calendar { padding:0;border-radius:14px;background:var(--surface);overflow:hidden; }
.season-calendar>summary { padding:19px 22px;font-size:12px;font-weight:600;cursor:pointer;color:var(--ink); }.season-calendar>summary>span { float:right;font-size:11px;font-weight:400;color:var(--muted); }.season-expanded { padding:22px;border-top:1px solid var(--line); }.season-expanded .section-heading h2 { margin:0; }
.studio-footer { display:flex;justify-content:space-between;margin-top:24px;font-size:10px;color:var(--muted); }.studio-footer b { font-weight:400;opacity:.8;margin-left:6px; }
/* Client workspace and operational modules retain their established structure. */
.client-workspace-header { border-bottom:1px solid var(--line);padding:8px 0 28px; }.client-portrait { border-radius:20px;background:var(--surface-muted);border:1px solid var(--line);font-family:var(--display-font);font-weight:400; }
.client-identity h1 { font-family:var(--display-font);font-size:32px;font-weight:500;letter-spacing:-1.2px; }.client-identity p { font-size:12px; }.client-workspace-tabs { gap:28px;padding-top:8px;margin-bottom:32px; }.client-workspace-tabs button { font-size:12px;padding:18px 0; }
.client-operation-counts button { border-radius:14px;padding:22px;background:var(--surface); }.client-operation-counts strong { font-family:var(--display-font);font-size:30px;font-weight:400; }.client-operation-counts button:hover { border-color:var(--accent); }.client-shortcuts button { border:1px solid var(--line);border-radius:14px; }.client-shortcuts button:hover { border-color:var(--muted); }
.editorial-toolbar { gap:10px;margin-bottom:20px; }.editorial-toolbar select { font-family:var(--system-font);font-size:12px; }.editorial-calendar { padding:0;border-radius:16px;box-shadow:none; }.editorial-calendar .card-header { padding:22px; }.editorial-calendar .calendar-title h2 { font-family:var(--display-font);font-weight:500; }.editorial-day { background:var(--surface); }.editorial-day.outside { background:var(--calendar-outside); }.day-number { font-family:var(--system-font);font-variant-numeric:tabular-nums; }.editorial-week-toggle { font-family:var(--system-font); }.editorial-post { border-radius:9px;box-shadow:none; }.editorial-title { font-family:var(--system-font);font-weight:600; }.scorecard { border-radius:12px;box-shadow:none; }
.app-shell[data-view="calendar"] .page-heading>[data-create] { display:none; }
.calendar-display { padding:3px;border-radius:11px;margin-bottom:14px; }.calendar-display button { min-height:34px;padding:7px 17px;font-size:12px; }.hide-completed { font-size:12px;min-height:42px; }
.weekly-scoreboard { background:transparent;box-shadow:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:14px 0;margin-bottom:20px; }
.weekly-scoreboard .section-label { margin-bottom:10px; }.weekly-scoreboard .section-label>span { font-size:9px;letter-spacing:1.4px; }.weekly-scoreboard .section-label small { font-size:11px; }
.scorecard { padding:9px 13px;min-width:175px;display:grid;grid-template-columns:1fr auto;column-gap:16px;border-left-width:2px; }.scorecard b { font-size:12px;grid-column:1/-1; }.scorecard span,.scorecard small { font-size:10px;margin:4px 0 0;font-weight:400; }.scoreboard-empty { font-size:12px; }
.kanban-column { background:var(--surface);border:1px solid var(--line);border-radius:15px; }.kanban-head { background:transparent;border-bottom:1px solid var(--line);font-family:var(--system-font); }.kanban-card { background:var(--field);border:1px solid var(--line);border-radius:11px; }.kanban-card:hover { border-color:var(--muted); }.kanban-card h3 { font-family:var(--system-font);font-weight:600;line-height:1.6; }
.ai-hero { border-radius:18px;background:radial-gradient(ellipse at 90% 0,var(--studio-glow),transparent 60%),var(--surface); }.ai-hero h2 { font-family:var(--display-font);font-weight:500; }
.report-preview-widget,.widget-catalog,.report-column,.report-canvas { border-color:var(--line); }.report-preview-heading h1 { font-family:var(--display-font);font-weight:500; }
.portal-shell { background:var(--paper); }.portal-shell .portal-brand b { font-family:var(--display-font);font-weight:500;letter-spacing:-1px; }.portal-shell .portal-brand>span { border-radius:12px;color:#29201e; }.portal-shell .portal-brand small { color:var(--muted); }.portal-shell .login-panel { background:radial-gradient(ellipse at 15% 0,var(--studio-glow),transparent 60%),var(--paper); }.portal-shell .login-card { border-radius:22px;padding:36px;box-shadow:var(--studio-shadow); }.portal-shell .login-card h1,.portal-shell .welcome h1 { font-family:var(--display-font);font-weight:500;letter-spacing:-1px; }.portal-shell .portal-card h2 { font-family:var(--display-font);font-size:17px;font-weight:500; }.portal-shell .portal-stats b { font-family:var(--display-font);font-weight:400; }.portal-shell .portal-card,.portal-shell .portal-content-card { border-radius:16px; }.portal-shell .client-workflow-column { border-radius:13px; }.portal-shell .login-card button { background:var(--green);color:#29201e;border-radius:11px; }
.portal-shell .login-panel { display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 66px);padding:80px 24px 50px; }
.portal-shell .login-card { max-width:460px;margin:0; }.portal-shell .login-card p,.portal-shell .welcome p { color:var(--muted);font-size:13px;line-height:1.8; }
.portal-shell .login-card button,.portal-shell .portal-brand>span { box-shadow:none; }.portal-shell .eyebrow { color:var(--accent);font-size:9px;letter-spacing:1.6px; }
.portal-shell .portal-message { color:var(--accent);font-size:11px; }.portal-shell .login-card input:focus { outline:2px solid var(--accent);outline-offset:3px;border-color:var(--accent);box-shadow:none; }
.portal-shell .portal-content-card:hover { border-color:var(--muted);box-shadow:none;transform:none; }.portal-shell .portal-content-card:focus-visible { outline:2px solid var(--accent);outline-offset:3px; }
@media(min-width:1500px) { .view { padding:46px 56px; }.profile-art { height:185px; } }
@media(max-width:1100px) { .view { padding:30px 26px; }.app-shell .topbar { padding:0 26px; }.profile-art { height:135px; }.profile-monogram { font-size:50px; }.studio-desk { gap:24px; }.studio-opportunities { padding-right:22px; }.studio-desk .section-heading { flex-wrap:wrap;align-items:start;gap:12px; }.studio-welcome:before { left:-26px;right:-26px; } }
@media(max-width:900px) { .v2-home .profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.profile-art { height:155px; }.studio-desk { grid-template-columns:1fr;gap:26px; }.studio-opportunities { padding-right:0;border-right:0;border-bottom:1px solid var(--line);padding-bottom:10px; }.topbar .client-context>span { display:none; }.topbar .client-context select { max-width:140px; }.topbar .breadcrumb { gap:8px; }.v2-home .heading h1 { font-size:36px; } }
@media(max-width:720px) {
 #studioCloseMenu { display:block;position:absolute;right:10px;top:9px;width:28px;height:28px;border:0;background:transparent;color:var(--muted);font-size:23px; }
 .app-shell .sidebar { width:236px;transform:translateX(-100%);visibility:hidden;box-shadow:var(--shadow);padding:22px 14px; }.app-shell .sidebar.open { transform:translateX(0);visibility:visible; }.app-shell .main,.app-shell.sidebar-collapsed .main { margin-left:0; }
 .app-shell .topbar,.app-shell.header-compact .topbar { height:62px;padding:0 14px;gap:9px; }.topbar .breadcrumb>span,.topbar .breadcrumb>b { display:none; }.topbar .breadcrumb { font-size:11px;min-width:0; }.topbar .breadcrumb strong { max-width:110px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap; }.top-actions { gap:2px; }.topbar .client-context { max-width:112px; }.topbar .client-context select { max-width:100px;font-size:10px; }.topbar .theme-toggle,.topbar .icon-button,.topbar .mobile-menu { width:32px;min-width:32px;height:34px; }.topbar #periodButton { display:none; }
 .view { padding:26px 18px; }.studio-welcome { padding-top:0;margin-bottom:27px; }.studio-welcome:before { inset:-26px -18px 0; }.v2-home .heading { align-items:start;gap:18px; }.v2-home .heading h1 { font-size:34px;letter-spacing:-1.7px; }.v2-home .heading .date-label { font-size:10px;line-height:1.7; }.v2-home .heading .primary-button { min-height:42px;padding:10px 15px; }.studio-kicker { font-size:8px;letter-spacing:1.6px; }.v2-home .section-heading h2 { font-size:18px; }.v2-home .section-heading { gap:12px; }.v2-home .section-heading .text-button { font-size:10px;padding:0; }.v2-home .profile-grid { gap:10px; }.profile-art { height:128px; }.profile-art-label { font-size:8px;left:10px;right:8px;bottom:12px; }.profile-monogram { font-size:46px;letter-spacing:-3px; }.profile-info { padding:12px 6px 8px;gap:7px; }.profile-select strong { font-size:11px; }.profile-select small { font-size:9px; }.profile-select .profile-avatar { width:27px;height:27px;border-radius:9px;font-size:8px; }.profile-latest { padding:0 6px;font-size:10px; }.photo-upload { font-size:9px; }.profile-section { margin-bottom:28px; }
 .weather summary { font-size:10px;align-items:start; }.weather-edit { display:none; }.weather summary .studio-icon { flex:none; }.studio-desk { margin-bottom:24px; }.season-calendar>summary { padding:17px;font-size:11px; }.season-calendar>summary>span { display:none; }.season-expanded { padding:16px; }.season-layout { grid-template-columns:1fr; }.studio-footer { font-size:9px; }
 .page-heading h1 { font-size:25px; }.page-heading p { font-size:12px; }.page-heading { flex-wrap:wrap; }.client-workspace-header { gap:18px; }.client-identity h1 { font-size:27px; }.client-workspace-tabs { gap:24px; }.client-workspace-tabs button { font-size:12px; }.client-workspace-header .heading-actions { flex-wrap:wrap; }.editorial-calendar .card-header { padding:16px; }.portal-shell .login-card { padding:25px; }.portal-shell .welcome h1 { font-size:27px; }
}
@media(prefers-reduced-motion:no-preference) { .profile-tile { transition:border-color .18s,box-shadow .18s; }.profile-tile:hover { box-shadow:0 8px 22px #00000012; }.profile-open { transition:background .18s; }.profile-select:hover .profile-open { background:#ffffff18; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
@media print { .studio-footer,.weather,.photo-upload { display:none; }.app-shell .main { margin:0; } }

/* Signature composition: a little editorial tension keeps the studio from reading as a card template. */
.studio-welcome { position:relative; overflow:visible; }
.welcome-orbit { position:absolute; right:2%; top:-70px; width:190px; height:190px; color:var(--accent); pointer-events:none; transform:rotate(-12deg); }
.orbit-core { position:absolute; inset:59px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font:500 28px/1 var(--display-font); letter-spacing:-3px; background:var(--surface); z-index:2; }
.orbit-ring { position:absolute; border:1px solid currentColor; border-radius:50%; opacity:.5; }
.orbit-ring-a { inset:20px 2px 28px 28px; transform:rotate(32deg); }.orbit-ring-b { inset:4px 30px 42px 2px; transform:rotate(-42deg); opacity:.25; }
.welcome-orbit small { position:absolute; right:-20px; bottom:7px; font-size:8px; letter-spacing:1.5px; line-height:1.45; color:var(--muted); }
.v2-home .profile-grid { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; }
.v2-home .profile-tile:first-child { grid-column:span 2; }.v2-home .profile-tile:first-child .profile-art { height:210px; }
.reveal-on-scroll { opacity:0; transform:translateY(16px); transition:opacity .6s ease var(--reveal-delay),transform .6s cubic-bezier(.2,.7,.2,1) var(--reveal-delay); }
.reveal-on-scroll.is-visible { opacity:1; transform:none; }
@media(max-width:900px){.welcome-orbit{right:0;top:-20px;transform:scale(.78) rotate(-12deg);transform-origin:top right}.v2-home .profile-tile:first-child{grid-column:span 2}.v2-home .profile-tile:first-child .profile-art{height:180px}}
@media(max-width:560px){.welcome-orbit{opacity:.72;right:-18px;top:-14px;transform:scale(.58) rotate(-12deg)}.v2-home .profile-tile:first-child .profile-art{height:128px}.reveal-on-scroll{transform:translateY(10px)}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none}}


@media(max-width:900px){.v2-home .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

.studio-home{overflow-x:hidden;}

/* Área de trabalho: navegação de produto e foco operacional. */
.client-workspace { max-width:1420px; }
.client-workspace-header { position:relative; padding:14px 0 30px; border-bottom:0; }
.client-workspace-header:after { content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,var(--accent),var(--line) 32%,transparent); }
.client-identity { gap:18px; }.client-portrait { width:72px; height:72px; display:grid; place-items:center; font-size:25px; }
.client-connection { display:inline-flex; margin-top:9px; padding:5px 9px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:10px; }
.client-workspace-tabs { display:flex; gap:4px; padding:7px; margin:20px 0 34px; border:1px solid var(--line); border-radius:14px; background:var(--surface-muted); overflow:auto; }
.client-workspace-tabs button { position:relative; padding:11px 15px; border-radius:9px; color:var(--muted); white-space:nowrap; font-size:11px; }
.client-workspace-tabs button[aria-current="page"] { color:var(--ink); background:var(--surface); box-shadow:0 4px 14px #00000012; }
.client-workspace-tabs button[aria-current="page"]:after { content:''; position:absolute; left:15px; right:15px; bottom:4px; height:2px; border-radius:2px; background:var(--accent); }
.client-overview { display:grid; grid-template-columns:minmax(260px,.78fr) minmax(0,1.4fr); gap:18px; align-items:start; }
.client-brief,.client-operation { border:1px solid var(--line); border-radius:18px; background:var(--surface); padding:24px; }
.client-operation { background:linear-gradient(135deg,var(--surface),var(--surface-muted)); }
.client-brief h2,.client-operation h2,.client-shortcuts h2 { font-family:var(--display-font); font-weight:500; letter-spacing:-.6px; }
.client-operation-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:22px 0 12px; }
.client-operation-counts button { min-height:100px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; border:1px solid var(--line); border-radius:13px; padding:14px; }
.client-operation-counts button span { font-size:10px; color:var(--muted); }
.client-shortcuts { margin-top:18px; padding:22px 0; border-top:1px solid var(--line); }
.client-shortcuts>div { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.client-shortcuts button { min-height:88px; padding:17px; text-align:left; background:transparent; }
.client-shortcuts button strong { font-size:12px; }.client-shortcuts button span { display:block; margin-top:9px; color:var(--muted); font-size:10px; }
.editorial-toolbar,.toolbar { padding:10px; border:1px solid var(--line); border-radius:13px; background:var(--surface-muted); }
.editorial-calendar,.kanban-column { box-shadow:0 12px 30px #0000000b; }
.kanban { align-items:start; }.kanban-column { border-radius:18px; overflow:hidden; }.kanban-head { padding:16px 17px; letter-spacing:.2px; }.kanban-body { padding:12px; min-height:280px; }.kanban-card { transition:transform .18s,border-color .18s; }.kanban-card:hover { transform:translateY(-2px); }
@media(max-width:900px){.client-overview{grid-template-columns:1fr}.client-operation-counts{grid-template-columns:repeat(2,1fr)}.client-shortcuts>div{grid-template-columns:1fr}.client-workspace-tabs{margin-bottom:24px}.client-workspace-header{padding-bottom:22px}}

/* RLabs Signal — the operation becomes the visual signature. */
.signal-panel { position:relative; display:grid; grid-template-columns:minmax(220px,.85fr) minmax(320px,1.4fr) minmax(170px,.65fr); gap:26px; align-items:center; margin:-4px 0 44px; padding:25px 28px; border:1px solid var(--line); border-radius:20px; overflow:hidden; background-image:linear-gradient(105deg,var(--surface) 0%,#171d28e8 42%,#171d2800 78%),url("signal-art.png"); background-position:center, right center; background-size:auto, 59% auto; background-repeat:no-repeat; background-color:var(--surface); }
.signal-panel:before { content:''; position:absolute; width:260px; height:260px; right:-95px; top:-160px; border:1px solid var(--accent); border-radius:50%; opacity:.28; box-shadow:0 0 0 35px #ff9f7210,0 0 0 70px #ff9f7208; }
.signal-copy,.signal-next,.signal-rail{ position:relative; z-index:1; }.signal-copy h2 { max-width:300px; margin:9px 0 8px; font:500 23px/1.1 var(--display-font); letter-spacing:-1.1px; }.signal-copy p { max-width:280px; margin:0; font-size:11px; line-height:1.6; color:var(--muted); }.signal-current { display:flex; gap:8px; align-items:center; margin-top:20px; color:var(--accent); font-size:10px; }.signal-pulse { width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #ff9f7220; }
.signal-rail { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; position:relative; padding:18px 0 6px; }.signal-line { position:absolute; left:8%; right:8%; top:32px; height:1px; background:linear-gradient(90deg,var(--accent),var(--blue),var(--line)); opacity:.7; }.signal-step { position:relative; display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }.signal-step b { display:grid; place-items:center; width:28px;height:28px; border:1px solid var(--line); border-radius:50%; background:var(--surface); font:500 9px var(--system-font); color:var(--muted); z-index:1; }.signal-step.is-done b { color:var(--ink); border-color:var(--accent); background:var(--accent); }.signal-step.is-current b { color:var(--ink); border-color:var(--blue); box-shadow:0 0 0 5px #b9b7ff18; }.signal-step span { font-size:10px; }.signal-step small { color:var(--muted); font-size:9px; }.signal-next { display:flex; flex-direction:column; align-items:flex-start; gap:9px; padding-left:20px; border-left:1px solid var(--line); }.signal-next strong { max-width:170px; font:500 13px/1.35 var(--display-font); }.signal-next .text-button { padding:0; font-size:10px; color:var(--accent); }
@media(max-width:1050px){.signal-panel{grid-template-columns:1fr 1.4fr}.signal-next{grid-column:1/-1; padding:16px 0 0; border-left:0;border-top:1px solid var(--line); flex-direction:row;align-items:center;justify-content:space-between}.signal-next strong{max-width:340px}}
@media(max-width:720px){.signal-panel{grid-template-columns:1fr;gap:18px;margin-bottom:30px;padding:21px 18px}.signal-copy h2{font-size:20px}.signal-rail{padding-top:7px}.signal-line{top:21px}.signal-next{display:grid;grid-template-columns:1fr auto;gap:8px}.signal-next .studio-kicker{grid-column:1/-1}.signal-next strong{font-size:12px}}

@media(max-width:720px){.signal-panel{background-image:linear-gradient(180deg,var(--surface) 0%,#171d28e8 60%,#171d2800),url("signal-art.png");background-size:auto,100% auto;background-position:center,center bottom;}}

/* Signal palette and type scale — replace the template-orange reading with a cooler product voice. */
:root,html[data-theme="light"] { --accent:#5856D6; --orange:#5856D6; --action-ink:#3D3AA6; --green:#B9F36C; --green-dark:#52731D; --green-soft:#EDF8D8; --blue:#27B8C4; --yellow:#8D7AF2; --studio-glow:#C9D9FF80; }
html[data-theme="dark"] { --accent:#8B86FF; --orange:#8B86FF; --action-ink:#A9A5FF; --green:#C7F36B; --green-dark:#C7F36B; --green-soft:#2B3B20; --blue:#5BDCE4; --yellow:#B8B1FF; --studio-glow:#5651B833; }
.v2-home .heading h1 { font-size:clamp(3rem,5.2vw,5.4rem); line-height:.98; letter-spacing:-.075em; text-wrap:balance; }
.v2-home .heading>div:first-child>p:last-child { font-size:15px; color:var(--muted); }
.v2-home .section-heading h2 { font-size:clamp(1.45rem,2.2vw,2rem); text-wrap:balance; }
.v2-home .profile-select strong { font-size:15px; }.v2-home .profile-select small,.profile-latest { font-size:12px; }
.signal-copy h2 { font-size:clamp(1.65rem,2.4vw,2.55rem); }.signal-copy p { font-size:13px; }.signal-step span { font-size:12px; }.signal-step small { font-size:11px; }.signal-next strong { font-size:15px; }
.studio-kicker,.eyebrow { letter-spacing:2px; }
.primary-button,.secondary-button,.text-button,.toolbar button,.calendar-display button { min-height:44px; }
.welcome-orbit { display:none; }
.view-reveal { opacity:0; transform:translateY(22px); transition:opacity .72s ease var(--reveal-delay), transform .72s cubic-bezier(.2,.8,.2,1) var(--reveal-delay); }
.view-reveal.is-visible { opacity:1; transform:none; }
.app-shell .view { font-size:14px; }.page-heading h1 { font-size:clamp(2rem,3.5vw,3.25rem); line-height:1; text-wrap:balance; }.page-heading p { font-size:15px; line-height:1.6; }.client-identity h1 { font-size:clamp(2rem,3vw,3rem); }.client-brief p,.client-operation p { font-size:14px; line-height:1.75; }.client-operation-counts strong { font-size:36px; }
.editorial-calendar .calendar-title h2 { font-size:24px; }.editorial-weekdays,.editorial-weekdays span { font-size:13px; }.editorial-title { font-size:14px; }.kanban-head { font-size:14px; }.kanban-card h3,.kanban-card b { font-size:14px; }.kanban-card small,.kanban-card-footer { font-size:12px; }
@media(max-width:720px){.v2-home .heading h1{font-size:clamp(2.6rem,12vw,3.5rem)}.v2-home .heading>div:first-child>p:last-child{font-size:13px}.v2-home .section-heading h2{font-size:1.45rem}.view-reveal{transform:translateY(13px)}.page-heading h1{font-size:2.1rem}.page-heading p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.view-reveal{opacity:1;transform:none}}

html[data-theme="light"] .signal-panel{background-image:linear-gradient(110deg,#eef0ff,#f7fbff 58%,#eafcf5);background-color:#f4f7fb;}

/* Technical phase: keep creation contextual and remove repeated promotional chrome. */
.app-shell > .sidebar > .brand { display:none; }
.app-shell > .sidebar { padding-top:18px; }
#quickCreate,.view button[data-create],.v2-home button[data-create] { display:none !important; }
html[data-theme="light"] { --green:#e6eaf2; --green-dark:#4b5568; --green-soft:#edf0f6; }
html[data-theme="dark"] { --green:#293143; --green-dark:#d9deea; --green-soft:#222a39; }
.brand-mark { background:var(--surface-muted) !important; color:var(--muted) !important; }
/* Calendar views: functional layout only, shared with the existing theme. */
.calendar-display { flex-wrap:wrap; }
.calendar-agenda { padding:20px; }
.agenda-day { padding:18px 0;border-bottom:1px solid var(--line); }
.agenda-day>header { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.agenda-day h3 { font-size:16px;margin:0; }
.agenda-posts { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px; }
.agenda-posts .editorial-post { width:100%;margin:0; }
.agenda-seasonal { color:var(--muted);font-size:14px; }
.agenda-add { display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:24px 0 12px; }
.calendar-agenda .empty-state { padding:28px 0; }
@media(max-width:720px){.calendar-agenda{padding:14px}.agenda-posts{grid-template-columns:minmax(0,1fr)}.agenda-day h3{font-size:14px}.agenda-day>header button{min-width:44px}}

/* Temporary agency artwork, supplied by the owner; originals preserved. */
.agency-brand {display:flex;align-items:center;justify-content:center;min-height:58px;margin:0 0 20px;padding:6px;text-decoration:none;}
.agency-brand img {display:block;width:100%;max-width:180px;height:48px;object-fit:contain;}
.agency-brand .agency-logo-dark {display:none;}
html[data-theme="dark"] .agency-brand .agency-logo-light {display:none;}
html[data-theme="dark"] .agency-brand .agency-logo-dark {display:block;}
.app-shell.sidebar-collapsed .agency-brand {padding:0;margin-bottom:12px;}
.app-shell.sidebar-collapsed .agency-brand img {height:32px;}
.profile-art .profile-content-preview {object-position:center 30%;}
.v2-home .photo-upload {font-size:12px;min-height:44px;display:flex;align-items:center;cursor:pointer;}
.agency-brand:focus-visible,.photo-upload:focus-within {outline:2px solid var(--accent);outline-offset:3px;}
