:root { --ink:#172b30; --muted:#61747a; --line:#dfe8e8; --soft:#f5f8f8; --brand:#0f626b; --brand-light:#e5f4f2; --brand-dark:#0a4b52; --danger:#b42318; --success:#027a48; --warning:#b54708; --sidebar:250px; font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); background:var(--soft); }
* { box-sizing:border-box; } body { margin:0; min-width:320px; } button,input,select,textarea { font:inherit; } button { cursor:pointer; } select,.platform-option,.platform-option span { cursor:pointer; }
.login { min-height:100vh; display:grid; place-items:center; background:#f2f3f7; padding:24px; }.login-card { width:min(430px,100%); background:#fff; border:1px solid var(--line); border-radius:14px; padding:38px; box-shadow:0 16px 40px #10182812; }.mark { width:42px; height:42px; display:grid; place-items:center; background:var(--brand); color:white; border-radius:10px; font-weight:800; letter-spacing:-1px; }.login h1 { font-size:25px; margin:24px 0 8px; }.login p { color:var(--muted); margin:0 0 26px; line-height:1.5; }.login-error { margin:16px 0 4px; padding:10px 12px; border:1px solid #fecdca; border-radius:7px; background:#fef3f2; color:#b42318; font-size:12px; line-height:1.45; }.field { display:grid; gap:7px; margin:14px 0; font-size:13px; font-weight:600; }.field input,.field select,.field textarea { width:100%; border:1px solid #d0d5dd; border-radius:7px; padding:10px 11px; background:white; color:var(--ink); font-weight:400; }.field textarea { min-height:80px; resize:vertical; }.password-input { position:relative; }.password-input input { padding-right:42px; }.password-toggle { position:absolute; right:5px; top:5px; border:0; color:#667085; background:transparent; width:31px; height:31px; border-radius:5px; }.password-toggle:hover { background:#f2f4f7; }.forgot-link { background:none; border:0; padding:2px 0; color:var(--brand); font-size:13px; font-weight:600; }.hint { margin:18px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.shell { min-height:100vh; display:grid; grid-template-columns:var(--sidebar) 1fr; }.sidebar { background:#123b41; color:#d9eeee; padding:22px 12px; display:flex; flex-direction:column; position:sticky; top:0; height:100vh; }.brand { display:flex; align-items:center; gap:10px; padding:0 9px 25px; color:#fff; font-weight:700; }.brand .mark { width:31px; height:31px; font-size:12px; background:#fff; color:var(--brand); border-radius:7px; }.brand small { display:block; color:#a9c8ca; font-size:10px; font-weight:500; margin-top:1px; }.nav-label { font-size:10px; font-weight:700; letter-spacing:.08em; color:#8fb5b8; padding:15px 10px 6px; }.nav-item { width:100%; border:0; background:transparent; color:#d9eeee; display:flex; align-items:center; gap:10px; text-align:left; padding:9px 10px; border-radius:6px; font-size:14px; transition:background .16s ease, transform .16s ease; }.nav-item:hover { background:#1b5057; transform:translateX(2px); }.nav-item.active { background:#1e5e66; color:white; font-weight:600; }.nav-sub { padding-left:31px; font-size:13px; }.nav-icon { width:15px; opacity:.85; }.sidebar-footer { margin-top:auto; border-top:1px solid #326168; padding-top:12px; }.user-chip { display:flex; gap:9px; align-items:center; padding:9px; font-size:12px; }.avatar { background:#d8f0ed; color:#0a5962; width:29px; height:29px; border-radius:50%; display:grid; place-items:center; font-weight:700; }.user-chip small { color:#a9c8ca; display:block; margin-top:2px; }
.main { min-width:0; }.topbar { height:70px; background:white; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 31px; }.crumb { font-size:14px; color:var(--muted); }.top-actions { display:flex; gap:10px; align-items:center; }.role-switch { border:1px solid var(--line); background:#fff; color:var(--muted); padding:7px 9px; border-radius:6px; font-size:12px; }.page { padding:28px 31px 42px; max-width:1600px; }.page-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:24px; }.page-head h1 { font-size:24px; margin:0 0 5px; letter-spacing:-.025em; }.page-head p { margin:0; font-size:14px; color:var(--muted); }.btn { border:1px solid #d0d5dd; background:white; color:#344054; border-radius:6px; padding:9px 12px; font-size:13px; font-weight:600; }.btn:hover { background:#f9fafb; }.btn:disabled { cursor:not-allowed; opacity:.45; }.btn.primary { background:var(--brand); color:white; border-color:var(--brand); }.btn.primary:hover { background:#222d61; }.btn.danger { color:var(--danger); }.btn.small { font-size:12px; padding:6px 9px; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.card { background:white; border:1px solid var(--line); border-radius:9px; }.stat { padding:18px; }.stat span { color:var(--muted); font-size:13px; }.stat strong { font-size:25px; display:block; margin:8px 0 3px; letter-spacing:-.03em; }.stat small { color:var(--muted); }.dashboard-grid { display:grid; grid-template-columns:1.55fr 1fr; gap:18px; margin-top:20px; }.card-head { padding:17px 18px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }.card-head h2 { margin:0; font-size:15px; }.link-button { border:0; background:none; color:var(--brand); font-size:12px; font-weight:600; }.activity { padding:0 18px; }.activity-item { display:flex; gap:11px; padding:14px 0; border-bottom:1px solid var(--line); font-size:13px; }.activity-item:last-child { border:0; }.activity-dot { width:8px; height:8px; border-radius:50%; background:#8098f9; margin-top:5px; flex:0 0 auto; }.activity-item p { margin:2px 0 0; color:var(--muted); font-size:12px; }.upcoming { padding:0 18px; }.upcoming-row { padding:13px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:10px; font-size:13px; }.upcoming-row:last-child { border:0; }.upcoming-row small { color:var(--muted); display:block; margin-top:3px; }
.toolbar { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:16px; flex-wrap:wrap; }.toolbar-group { display:flex; gap:8px; align-items:center; }.month-title { font-size:16px; min-width:160px; text-align:center; }.calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); grid-template-rows:auto repeat(6,86px); background:white; border:1px solid var(--line); border-right:0; border-bottom:0; overflow:hidden; }.cal-dayname { font-size:11px; text-transform:uppercase; letter-spacing:.05em; font-weight:700; color:var(--muted); padding:10px 12px; background:#fafafa; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.cal-cell { min-height:0; padding:7px; overflow:hidden; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.cal-cell.muted { background:#fbfbfc; color:#a4aab5; }.cal-date { font-size:12px; font-weight:600; margin-bottom:5px; }.cal-date.today { width:21px; height:21px; display:grid; place-items:center; background:var(--brand); color:white; border-radius:50%; }.event { width:100%; border:0; text-align:left; padding:3px 5px; margin:2px 0; border-radius:4px; font-size:10px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#273776; background:#eef0fb; border-left:3px solid #6577d5; }.event[data-client="ALB"] { background:#edf8f2; color:#05603a; border-color:#38a169; }.event[data-client="VIVA"] { background:#fff3e8; color:#9c4300; border-color:#f79009; }.event[data-client="KOS"] { background:#f8effe; color:#7a299b; border-color:#9d5bd2; }.event[data-client="LUM"] { background:#edf8fb; color:#0b6578; border-color:#36b5d3; }.event:hover { filter:brightness(.97); }
.table-wrap { overflow:auto; }.table { width:100%; border-collapse:collapse; font-size:13px; }.table th { text-align:left; color:var(--muted); background:#fafafa; font-size:11px; text-transform:uppercase; letter-spacing:.04em; }.table th,.table td { padding:13px 16px; border-bottom:1px solid var(--line); white-space:nowrap; }.table td.title-cell { font-weight:600; color:#29356f; }.badge { display:inline-flex; align-items:center; border-radius:999px; padding:3px 8px; font-size:11px; font-weight:600; }.badge.active,.badge.published { color:#05603a; background:#ecfdf3; }.badge.inactive,.badge.idea { color:#667085; background:#f2f4f7; }.badge.progress { color:#9c4300; background:#fff7ed; }.badge.ready,.badge.scheduled { color:#363f72; background:#eef4ff; }.tag { background:#f2f4f7; border-radius:4px; padding:3px 6px; font-weight:700; font-size:11px; letter-spacing:.02em; }.client-meta { display:flex; align-items:center; gap:9px; }.client-logo { width:30px; height:30px; border-radius:7px; color:white; background:#6476d3; display:grid; place-items:center; font-size:11px; font-weight:700; }.actions { display:flex; gap:6px; }.icon-btn { border:1px solid var(--line); background:#fff; color:#667085; border-radius:5px; padding:5px 7px; font-size:11px; }.empty { padding:34px; text-align:center; color:var(--muted); font-size:13px; }
.task-layout { max-width:790px; }.task-list { padding:0 18px; }.task { display:flex; align-items:flex-start; gap:12px; padding:15px 0; border-bottom:1px solid var(--line); }.task:last-child { border:0; }.task input { width:17px; height:17px; accent-color:var(--brand); margin-top:2px; }.task-content { flex:1; }.task-content strong { display:block; font-size:14px; }.task-content p { margin:4px 0 0; color:var(--muted); font-size:12px; }.task.done strong,.task.done p { text-decoration:line-through; color:#98a2b3; }.deadline { font-size:12px; color:var(--muted); white-space:nowrap; }.deadline.soon { color:var(--danger); font-weight:600; }.privacy-note { background:#eef4ff; border:1px solid #c7d7fe; color:#29356f; padding:11px 13px; border-radius:7px; font-size:12px; margin-bottom:16px; }
.details-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.detail { font-size:12px; }.detail label { display:block; color:var(--muted); margin-bottom:4px; }.detail strong { font-weight:600; }.detail-value { display:block; }.list-row { cursor:pointer; }.list-row:hover td { background:#f1f8f7; }.cal-cell[data-date] { cursor:pointer; }.modal-backdrop { position:fixed; inset:0; background:#102a2e66; display:grid; place-items:center; padding:20px; z-index:10; animation:fade-in .18s ease-out; }.modal { max-height:calc(100vh - 40px); overflow:auto; width:min(570px,100%); background:white; border-radius:10px; box-shadow:0 20px 60px #102a2e40; animation:modal-in .22s cubic-bezier(.2,.8,.2,1); }.modal-head { padding:18px 20px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; }.modal-head h2 { margin:0; font-size:17px; }.close { background:none; border:0; font-size:22px; color:var(--muted); line-height:1; }.modal-body { padding:18px 20px; }.credential-copy { margin:0 0 16px; color:var(--muted); font-size:13px; line-height:1.5; }.credential-row { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--line); font-size:13px; }.credential-row span { color:var(--muted); }.credential-password { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; padding:12px; border-radius:7px; background:#eef8f7; border:1px solid #c6e4e1; }.credential-password code { font-size:16px; color:var(--brand); font-weight:700; letter-spacing:.03em; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }.form-grid .wide { grid-column:1/-1; }.modal-foot { padding:15px 20px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; gap:9px; }.platform-picker { display:flex; flex-wrap:wrap; gap:7px; }.platform-option input { position:absolute; opacity:0; }.platform-option span { display:block; padding:7px 9px; border:1px solid #d0d5dd; border-radius:6px; color:#475467; font-size:12px; font-weight:500; transition:background .16s ease,border-color .16s ease,color .16s ease; }.platform-option input:checked + span { background:var(--brand-light); border-color:#83c7c0; color:var(--brand); font-weight:700; }.hidden { display:none!important; }
@keyframes fade-in { from { opacity:0; } to { opacity:1; } } @keyframes modal-in { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } } @keyframes page-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } } .page { animation:page-in .22s ease-out; }.card { transition:box-shadow .18s ease, transform .18s ease; }.card:hover { box-shadow:0 8px 20px #15383d0d; }.btn { transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease; }.btn:not(:disabled):active { transform:translateY(1px); }.btn.primary:hover { background:var(--brand-dark); box-shadow:0 4px 10px #0f626b2b; }.event { transition:filter .16s ease, transform .16s ease; }.event:hover { transform:translateX(1px); }
@media (prefers-reduced-motion:reduce){ *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
@media(max-width:900px){ :root{--sidebar:64px}.brand span,.sidebar .nav-label,.nav-text,.nav-sub{display:none}.brand{padding-left:5px}.nav-item{justify-content:center;padding:11px}.sidebar{padding-left:8px;padding-right:8px}.user-chip div:not(.avatar){display:none}.user-chip{justify-content:center}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.page,.topbar{padding-left:20px;padding-right:20px} }
@media(max-width:600px){ .shell{display:block}.sidebar{position:fixed; bottom:0; top:auto; height:58px; width:100%; z-index:5; flex-direction:row; padding:5px; overflow:auto}.brand,.nav-label,.sidebar-footer{display:none}.sidebar nav{display:flex;width:100%;justify-content:space-around}.nav-item{min-width:48px}.nav-item:nth-of-type(n+6){display:none}.main{padding-bottom:58px}.topbar{height:59px}.top-actions .role-switch{max-width:120px}.page{padding:20px 14px}.page-head{margin-bottom:18px}.page-head h1{font-size:21px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:13px}.calendar{grid-template-columns:repeat(7,110px)}.form-grid,.details-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.toolbar-group{flex-wrap:wrap}.month-title{min-width:130px}.top-actions .btn{display:none} }

/* Fixed right-hand metadata column keeps dashboard dates and statuses aligned. */
.upcoming-meta { flex:0 0 68px; min-width:68px; align-self:center; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.upcoming-meta > span { display:block; line-height:1.25; }
.upcoming-meta small { line-height:1.25; }

/* Energetic lime / violet dashboard theme */
:root { --ink:#19212d; --muted:#667085; --line:#e3e6eb; --soft:#f7f8fb; --brand:#8ebc00; --brand-dark:#5f8200; --brand-light:#f1f8d7; }
body { background:radial-gradient(circle at 88% -10%,#ddff88 0,transparent 25%),linear-gradient(135deg,#f9fbff 0%,#f4f0ff 55%,#f8fbeb 100%); }
.sidebar { background:linear-gradient(180deg,#171e36 0%,#26315a 52%,#141a31 100%); }
.nav-item:hover { background:#354271; }.nav-item.active { background:linear-gradient(100deg,#91c400,#b7e53a); color:#14202c; box-shadow:0 5px 15px #00000022; }.nav-label { color:#aeb8e8; }.sidebar-footer { border-color:#44527d; }.user-chip small,.brand small { color:#b7c1ef; }
.topbar { background:linear-gradient(90deg,#ffffffed,#fbfaffed); backdrop-filter:blur(10px); }.page-head h1 { letter-spacing:-.035em; }.card { border-color:#e1e4ed; background:#ffffffef; }.card:hover { box-shadow:0 14px 28px #25245f12; transform:translateY(-1px); }
.btn.primary { background:linear-gradient(120deg,#80ae00,#b4df25); border-color:#80ae00; color:#19212d; box-shadow:0 4px 12px #7fad002e; }.btn.primary:hover { background:linear-gradient(120deg,#6f9800,#a9d318); box-shadow:0 7px 16px #7fad003b; }.btn.primary:active { box-shadow:none; }.cal-date.today { background:linear-gradient(135deg,#7856e7,#a477ee); }.event { background:#f1edff; color:#4d318f; border-color:#8b6ce8; }.event[data-client="ALB"] { background:#f3fad8; color:#557400; border-color:#9ac400; }.event[data-client="VIVA"] { background:#fff0dc; color:#a75500; border-color:#ff9e3d; }.event[data-client="KOS"] { background:#f4ecff; color:#7336a1; border-color:#a85bd4; }.event[data-client="LUM"] { background:#e7f7ff; color:#0b6680; border-color:#3dbddd; }.platform-option input:checked + span { background:#eff8cd; border-color:#9bc700; color:#526f00; }.credential-password { background:linear-gradient(135deg,#f1f9d9,#f6f0ff); border-color:#dce5ad; }.credential-password code { color:#5f8200; }.privacy-note { background:#f3f0ff; border-color:#d9cff9; color:#58408c; }.list-row:hover td { background:#f7f4ff; }
.btn:not(:disabled),.icon-btn,.link-button { transition:transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease, color .18s ease; }.btn:not(:disabled):hover { transform:translateY(-2px); filter:brightness(1.05); }.btn.primary:not(:disabled):hover { box-shadow:0 0 0 3px #caff4a55,0 10px 20px #6f98004d; }.btn:not(.primary):not(:disabled):hover,.icon-btn:hover { background:#f0edff; border-color:#a68cf1; color:#513b98; box-shadow:0 6px 15px #6b4cc51c; }.link-button:hover { color:#749e00; text-shadow:0 0 12px #caff4a99; }.nav-item.active:hover { filter:brightness(1.08); box-shadow:0 0 0 2px #d8ff6b28,0 8px 18px #0000002e; }.event:hover { filter:brightness(1.03) saturate(1.15); box-shadow:0 3px 10px #765bd32d; }
.nav-calendar { display:flex; align-items:stretch; gap:2px; }.nav-calendar .nav-item { flex:1; }.nav-expand { width:35px; border:0; border-radius:6px; background:transparent; color:#d9eeee; font-size:17px; transition:background .16s ease,transform .16s ease; }.nav-expand:hover,.nav-expand.active { background:#354271; }.nav-expand.active { color:#d7ff55; }.client-submenu { animation:fade-in .18s ease-out; }
.cal-cell.live-week { background:linear-gradient(135deg,#f4f0ff 0%,#f8fce8 100%); box-shadow:inset 0 2px 0 #aacd2e; }.cal-cell.live-week.muted { background:linear-gradient(135deg,#f5f3fb 0%,#f8faef 100%); }.cal-cell.live-week .cal-date { color:#5f8200; }
button[data-action="export-client-calendar"] { font-size:0; } button[data-action="export-client-calendar"]::after { content:"Export PDF"; font-size:13px; }

/* Productivity-first dashboard refinement */
:root { --sidebar:280px; --ink:#111b32; --muted:#66738b; --line:#dfe4ee; --soft:#f7f8fc; }
body { background:#f7f8fc; }
.sidebar { padding:22px 14px 16px; background:linear-gradient(180deg,#141d36 0%,#202d55 55%,#151d35 100%); box-shadow:10px 0 28px #18234612; }
.brand { padding:1px 8px 27px; font-size:20px; }.brand .mark { width:36px; height:36px; border-radius:9px; }.nav-label { padding:17px 10px 8px; color:#aab8ec; }.nav-item { min-height:43px; padding:10px 11px; border-radius:8px; font-size:15px; }.nav-sub { min-height:38px; padding-left:35px; font-size:14px; }.nav-item.active { background:linear-gradient(100deg,#a8e813,#d0f15f); color:#101d2f; box-shadow:0 7px 18px #0000001f; }.nav-expand { border-radius:8px; }.sidebar-footer { padding:15px 7px 2px; }.user-chip { padding:8px 2px; }
.topbar { height:80px; padding:0 38px; background:#ffffff; border-bottom:1px solid #e4e7ef; }.crumb { font-size:15px; color:#65718a; }.page { max-width:1540px; padding:34px 38px 54px; }.page-head { margin-bottom:27px; }.page-head h1 { font-size:29px; letter-spacing:-.04em; }.page-head p { margin-top:7px; font-size:15px; color:#61708b; }.page-head .top-actions { gap:10px; }
.btn { min-height:37px; border-radius:7px; padding:8px 13px; font-weight:650; }.btn.primary { min-height:43px; padding:10px 15px; }.card { border:1px solid #e0e5ef; border-radius:12px; box-shadow:0 1px 2px #17214b08; overflow:hidden; }.card:hover { transform:none; box-shadow:0 5px 18px #17214b0c; }.stats { gap:14px; }.stat { position:relative; min-height:148px; padding:22px 23px; }.stat::before { content:""; position:absolute; top:0; left:22px; width:34px; height:3px; border-radius:99px; background:linear-gradient(90deg,#91c800,#b267ff); }.stat span { font-weight:650; color:#61708b; }.stat strong { margin:12px 0 7px; font-size:31px; color:#111b32; }.stat small { color:#758198; font-size:12px; }
.dashboard-grid { grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr); gap:16px; align-items:start; margin-top:22px; }.card-head { min-height:63px; padding:18px 22px; background:#fff; }.card-head h2 { font-size:17px; color:#16213a; }.upcoming { padding:0 22px; }.upcoming-row { min-height:72px; align-items:center; padding:13px 0; }.upcoming-row strong { color:#152039; }.upcoming-row small { color:#69758b; line-height:1.45; }.activity { padding:0 22px; }.activity-item { padding:16px 0; }.privacy-note { border-radius:9px; }
.calendar { border-radius:12px; overflow:hidden; border:1px solid #dfe4ee; }.cal-dayname { background:#f8f9fc; padding:12px; color:#63708a; }.cal-cell { transition:background .15s ease; }.cal-cell:hover { background:#f6f8ff; }.toolbar { padding:12px; background:#fff; border:1px solid #e0e5ef; border-radius:10px; }.toolbar + .calendar { margin-top:16px; }.table th { background:#f8f9fc; }.table th,.table td { padding:14px 16px; }.task-list { padding:0 20px; }.task { padding:17px 0; }
@media(max-width:900px){ :root{--sidebar:64px}.topbar{padding:0 20px}.page{padding:24px 20px 42px}.dashboard-grid{grid-template-columns:1fr}.stat{min-height:125px} }

/* Calendar workspace, refined */
body { background:linear-gradient(135deg,#f8f9fc 0%,#f5f3ff 58%,#f8faed 100%); }
.page { max-width:none; }.page-head { min-height:76px; padding:4px 0; }.page-head h1 { font-size:31px; }.page-head p { max-width:680px; }
.page-actions { display:flex; align-items:center; gap:10px; margin-left:auto; }.page-actions .btn { min-height:42px; }.page-actions .btn:not(.primary) { background:#fff; }
.nav-calendar .nav-item:not(.active) { background:transparent; color:#d9eeee; box-shadow:none; }.nav-calendar .nav-item:not(.active):hover { background:#2d3d67; color:#fff; }.client-submenu { margin:2px 0 7px; padding-left:4px; border-left:1px solid #4a5b84; }.client-submenu .nav-item { margin:1px 0; }.client-submenu .nav-item.active { color:#fff; background:#384b75; box-shadow:inset 3px 0 0 #c8f24d; }.nav-expand.active { background:#34466f; color:#d9ff55; }
.toolbar { justify-content:space-between; padding:9px 12px; border-radius:12px; background:#ffffffd9; box-shadow:0 1px 2px #17214b08; }.toolbar .btn { min-height:38px; }.toolbar .field select { min-height:40px; background:#fff; }.month-title { min-width:184px; font-size:17px; color:#17213a; }
.calendar { background:#fff; border-radius:12px; box-shadow:0 8px 22px #16234b0b; }.cal-dayname { padding:14px; background:#fafbfe; }.cal-cell { background:#fff; }.cal-cell.muted { background:#fafbfc; }.cal-cell.live-week { background:linear-gradient(135deg,#f7f8ff,#f9fced); box-shadow:inset 0 3px 0 #a9d817; }.cal-cell.live-week .cal-date { color:#516a00; }.event { padding:4px 6px; font-size:10px; }
.topbar { box-shadow:0 1px 0 #dfe4ee; }.sidebar { background:linear-gradient(180deg,#151e38,#202c53 55%,#131b33); }.btn.primary { background:linear-gradient(130deg,#8abe00,#a9dc12); color:#152035; box-shadow:0 6px 15px #718f0030; }.btn.primary:hover { background:linear-gradient(130deg,#9ccf00,#b9e82a); }.btn:not(.primary):not(:disabled):hover { background:#f3f0ff; border-color:#a18de3; color:#463285; }
.calendar .event { cursor:grab; user-select:none; touch-action:none; }.calendar .event.dragging { opacity:.45; cursor:grabbing; }.collaboration-panel { margin-top:18px; padding-top:14px; }.collaboration-panel hr { border:0; border-top:1px solid #dfe4ee; margin:0 0 14px; }.comment-list,.activity-list { max-height:130px; overflow:auto; margin:8px 0 12px; }.comment-list p,.activity-list p { font-size:12px; padding:7px 0; margin:0; border-bottom:1px solid #eef1f5; }.comment-form { display:flex; gap:8px; margin:8px 0 16px; }.comment-form input { flex:1; min-width:0; }
.cal-cell.drop-target { background:#eff8cf!important; box-shadow:inset 0 0 0 2px #96c900; }.notification-actions { display:flex; justify-content:flex-end; gap:8px; margin:0 0 14px; }.notification-item { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:11px 0; border-bottom:1px solid #edf0f4; }.notification-item.read { color:#78849a; }.close-note { border:0; background:transparent; color:#69758c; font-size:20px; line-height:1; cursor:pointer; }.close-note:hover { color:#b42318; }
.calendar .event { cursor:pointer; }
.event.published-event { text-decoration:line-through; text-decoration-thickness:1px; }
.event.published-event b,
.day-event-row.published-event .day-event-title strong,
.list-row.published-row .title-cell,
.published-task-row .title-cell,
.published-task-row td:first-child { text-decoration:line-through; text-decoration-thickness:1px; }
.event.is-published,
.day-event-row.is-published,
.list-row.is-published { opacity:.58; filter:grayscale(1); }
.more-events { width:100%; border:0; background:transparent; color:#6171a3; font-size:11px; font-weight:700; text-align:left; padding:4px 2px; cursor:pointer; }.more-events:hover { color:#628900; text-decoration:underline; }.day-event-row { display:block; width:100%; text-align:left; border:0; border-bottom:1px solid #e5e9f1; background:#fff; padding:12px 0; cursor:pointer; color:#14213a; }.day-event-title { display:flex; align-items:center; gap:8px; min-width:0; }.day-event-title strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.day-event-row strong,.day-event-row small { display:block; }.day-event-row small { color:#68758b; margin-top:4px; }.day-event-row:hover strong { color:#648c00; }.day-client-tag { flex:0 0 auto; border-radius:999px; padding:3px 7px; background:#f0edff; border:1px solid #ddd2ff; color:#5e43aa; font-size:10px; font-weight:800; letter-spacing:.04em; }.day-content-type { flex:0 0 auto; color:#69758b; font-size:12px; font-weight:650; }.day-content-type::before { content:"· "; color:#a0a9b9; }.day-client-tag[data-client="ALB"] { background:#f2f9d7; border-color:#d3e995; color:#5d7900; }.day-client-tag[data-client="VIVA"] { background:#fff0dd; border-color:#ffd2a1; color:#a85a00; }.day-client-tag[data-client="KOS"] { background:#f5ecff; border-color:#e0c6fb; color:#7d3aa7; }.day-client-tag[data-client="LUM"] { background:#e5f7ff; border-color:#bdeafb; color:#0a6983; }
.main.calendar-focus .topbar { display:none; }.main.calendar-focus .page { padding-top:24px; padding-bottom:16px; }.main.calendar-focus .calendar { height:calc(100vh - 245px); grid-template-rows:48px repeat(6,minmax(0,1fr)); }.main.calendar-focus .cal-cell { min-height:0; }
.timezone-field { position:relative; z-index:1; }.timezone-field select { cursor:pointer; }
.cal-cell.past-date { background:#fbfbfc; }.cal-cell.past-date:not(.muted) .cal-date { color:#9aa4b4; }.cal-cell.past-date:hover { background:#fbfbfc; cursor:not-allowed; }

/* Keep a growing client list contained in the sidebar. */
.sidebar nav { min-height:0; overflow:hidden; }
.client-submenu { max-height:190px; overflow-y:auto; overscroll-behavior:contain; padding-right:3px; scrollbar-width:thin; scrollbar-color:#6072a0 transparent; }
.client-submenu::-webkit-scrollbar { width:6px; }.client-submenu::-webkit-scrollbar-thumb { background:#6072a0; border-radius:999px; }
.logo-mark { overflow:hidden; padding:0; background:#fff; }.logo-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.brand .logo-mark { width:36px; height:36px; border-radius:9px; }
.brand .logo-mark img { transform:scale(.54); filter:drop-shadow(0 2px 3px #78a00066); }

/* Keep password visibility controls centred and aligned inside their fields. */
.password-input { display:flex; align-items:center; }
.password-input input { padding-right:68px; }
.password-toggle { top:50%; right:7px; width:auto; min-width:46px; height:30px; transform:translateY(-50%); display:inline-flex; align-items:center; justify-content:center; padding:0 4px; line-height:1; }
.password-error { margin:0 0 12px; color:#b42318; font-size:13px; font-weight:600; }
