:root{
    --bg:#f4f7fb;
    --ink:#111827;
    --muted:#667085;
    --panel:#ffffff;
    --line:#e6eaf2;
    --primary:#4f46e5;
    --primary-dark:#3730a3;
    --accent:#06b6d4;
    --sidebar:#090b1a;
    --sidebar-soft:#11142a;
    --success:#039855;
    --danger:#d92d20;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(135deg,#f6f8fc 0%,#eef3ff 100%);color:var(--ink);font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
a{text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:285px;background:radial-gradient(circle at top left,#1f2a60 0%,var(--sidebar) 44%,#050611 100%);color:#fff;padding:28px;display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0}.brand-mark{display:flex;gap:13px;align-items:center;margin-bottom:34px}.brand-icon{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:-.05em;box-shadow:0 18px 45px rgba(79,70,229,.45)}.brand-mark strong{display:block;font-size:1.05rem}.brand-mark span{display:block;color:#aeb7d7;font-size:.82rem}.sidebar .nav-link{color:#d8ddf5;border-radius:14px;padding:12px 14px;font-weight:650}.sidebar .nav-link:hover{background:rgba(255,255,255,.09);color:#fff}.sidebar-footer{margin-top:auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:16px}.main-panel{margin-left:285px;width:calc(100% - 285px);padding:30px 36px 60px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{font-size:2rem;letter-spacing:-.04em;margin:0;font-weight:800}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--primary)}.panel-card,.kpi-card,.subpanel{background:rgba(255,255,255,.93);border:1px solid rgba(230,234,242,.95);box-shadow:0 18px 50px rgba(28,39,76,.08);border-radius:26px;padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-head h3,.panel-card h3,.subpanel h4{font-weight:800;letter-spacing:-.035em;margin:0}.panel-head p,.panel-card p{color:var(--muted);margin:.25rem 0 0}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}.kpi-card{position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;right:-32px;top:-42px;width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,rgba(79,70,229,.16),rgba(6,182,212,.14))}.kpi-card span{display:block;color:var(--muted);font-size:.82rem;font-weight:700}.kpi-card strong{display:block;font-size:1.75rem;letter-spacing:-.05em;margin-top:6px}.kpi-card small{color:#98a2b3}.premium-table{--bs-table-bg:transparent}.premium-table thead th{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:#667085;border-bottom:1px solid var(--line);padding:14px 12px}.premium-table td{padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.btn{border-radius:13px;font-weight:750}.btn-primary{background:linear-gradient(135deg,var(--primary),#7c3aed);border:0;box-shadow:0 14px 30px rgba(79,70,229,.28)}.btn-outline-primary{border-color:#c7d2fe;color:#3730a3}.btn-outline-primary:hover{background:#3730a3;border-color:#3730a3}.form-control,.form-select{border-radius:14px;border:1px solid #d8deea;padding:.78rem .95rem}.form-control:focus,.form-select:focus{border-color:#9ba7ff;box-shadow:0 0 0 .25rem rgba(79,70,229,.1)}.status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.76rem;text-transform:capitalize;font-weight:800}.status.active{background:#ecfdf3;color:#027a48}.status.paused{background:#fffaeb;color:#b54708}.status.ended{background:#fef3f2;color:#b42318}.accent-card{background:linear-gradient(135deg,#111827,#312e81);color:#fff}.accent-card p{color:#dbe1ff}.client-header{display:flex;justify-content:space-between;align-items:center}.secure-note{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:16px}.login-body{display:flex;align-items:center;justify-content:center;padding:30px;background:radial-gradient(circle at top left,#4338ca,#0f172a 48%,#020617 100%)}.login-card{width:min(1100px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:34px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.35)}.login-art{padding:52px;background:linear-gradient(135deg,#111827,#3730a3);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;min-height:600px}.login-art h1{font-size:3.1rem;letter-spacing:-.07em;line-height:.95;font-weight:900;margin:24px 0}.login-art p{font-size:1.08rem;color:#d9defd;max-width:520px}.pill{display:inline-flex;width:max-content;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);padding:8px 12px;border-radius:999px;font-size:.8rem;font-weight:800}.login-form{padding:52px;display:flex;flex-direction:column;justify-content:center}.login-form h2{font-weight:900;letter-spacing:-.05em;margin-bottom:22px}.floating-alert{position:fixed;top:20px;right:20px;z-index:10}.list-group-item{border-color:var(--line)}@media (max-width: 1050px){.sidebar{position:static;width:100%;border-radius:0}.app-shell{display:block}.main-panel{margin-left:0;width:100%;padding:22px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-card{grid-template-columns:1fr}.login-art{min-height:360px}.login-art h1{font-size:2.25rem}}@media (max-width: 620px){.kpi-grid{grid-template-columns:1fr}.topbar,.client-header,.panel-head{align-items:flex-start;flex-direction:column}.main-panel{padding:16px}.login-form,.login-art{padding:28px}.sidebar{padding:20px}}
.analytics-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.mini-meta{display:flex;gap:8px;flex-wrap:wrap}.mini-meta span{display:inline-flex;align-items:center;border:1px solid var(--line);background:#f8fafc;color:#475467;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700}.compact-table td,.compact-table th{font-size:.88rem}.insight-list{display:flex;flex-direction:column;gap:12px}.insight-item{border:1px solid var(--line);background:#f8fafc;border-radius:18px;padding:14px 16px}.insight-item strong{display:block;font-weight:850;color:var(--ink)}.insight-item span{display:block;color:#475467;margin-top:3px}.insight-item small{display:block;color:#98a2b3;margin-top:3px}.danger-soft{background:#fff7f6;border-color:#fecdc9}.warning-soft{background:#fffbeb;border-color:#fedf89}.accent-card .form-text,.accent-card .text-muted{color:#dbe1ff!important}.accent-card .panel-head p{color:#dbe1ff}.accent-card h3{color:#fff}@media (max-width: 1350px){.analytics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 720px){.analytics-grid{grid-template-columns:1fr}.mini-meta{display:block}.mini-meta span{margin:3px 4px 3px 0}.compact-table{min-width:720px}}
.success-soft{background:#ecfdf3;border-color:#abefc6}.report-chip{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:800;background:#eef4ff;color:#3538cd}.timeline-note-form textarea{min-height:120px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}

.brandwin-mark{align-items:flex-start;flex-direction:column;gap:14px}.brandwin-logo{max-width:180px;width:100%;height:auto;display:block;filter:drop-shadow(0 8px 22px rgba(0,0,0,.22))}.topbar-brand-logo{height:36px;width:auto;display:block}.login-brand-logo{max-width:220px;width:100%;height:auto;margin-bottom:18px;filter:drop-shadow(0 12px 28px rgba(0,0,0,.25))}.comparison-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.comparison-card{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:16px}.comparison-card strong{display:block;font-size:1.2rem;letter-spacing:-.03em}.comparison-card span{display:block;color:var(--muted);font-size:.8rem;font-weight:700;margin-bottom:6px}.delta-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:.74rem;font-weight:800}.delta-pill.up{background:#ecfdf3;color:#027a48}.delta-pill.down{background:#fef3f2;color:#b42318}.delta-pill.flat{background:#f2f4f7;color:#344054}.summary-panel{background:linear-gradient(135deg,#fff 0%,#f8fbff 100%)}@media (max-width: 950px){.comparison-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.comparison-strip{grid-template-columns:1fr}.topbar-brand-logo{display:none}.brandwin-logo{max-width:150px}.login-brand-logo{max-width:180px}}

/* v3.0.7 logo sizing fix */
.sidebar .brandwin-mark{
    align-items:flex-start !important;
    gap:10px !important;
    margin-bottom:26px !important;
}
.sidebar .brandwin-logo{
    width:150px !important;
    max-width:150px !important;
    height:auto !important;
    display:block !important;
    background:#fff !important;
    border-radius:8px !important;
    padding:6px !important;
}
.sidebar .brandwin-mark strong{font-size:.98rem !important;}
.sidebar .brandwin-mark span{font-size:.78rem !important;}
.topbar-brand-logo{display:none !important;}
.login-brand-logo{
    max-width:180px !important;
    width:180px !important;
    height:auto !important;
    background:#fff !important;
    border-radius:10px !important;
    padding:8px !important;
}
@media(max-width:620px){
    .sidebar .brandwin-logo{width:130px !important;max-width:130px !important;}
}
.date-filter-card{background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%)}
.date-filter-card .form-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#667085}

/* v3.0.21 time management module */
.time-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.time-breakdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.time-breakdown-grid.stacked{grid-template-columns:1fr}
.time-breakdown-card{border:1px solid var(--line);background:#f8fafc;border-radius:18px;padding:14px 16px}
.time-breakdown-card span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.time-breakdown-card strong{display:block;font-size:1.25rem;letter-spacing:-.03em;margin-top:5px}
.time-breakdown-card small{color:#98a2b3}
@media(max-width:1050px){.time-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.time-breakdown-grid,.time-kpi-grid{grid-template-columns:1fr}}

/* v3.0.22 calendar/list time management update */
.time-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.time-view-tabs{display:inline-flex;gap:8px;background:#eef2ff;border:1px solid #dbe4ff;border-radius:18px;padding:6px}
.time-view-tab{display:inline-flex;align-items:center;justify-content:center;border-radius:13px;padding:10px 15px;font-weight:800;color:#3730a3}
.time-view-tab.active{background:#fff;box-shadow:0 10px 30px rgba(28,39,76,.08);color:#111827}
.time-view-context{color:var(--muted);font-weight:750}
.time-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.time-calendar-weekdays{margin-bottom:10px;color:#667085;font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850;text-align:center}
.time-calendar-day{min-height:122px;border:1px solid var(--line);background:#f8fafc;border-radius:18px;padding:12px;text-align:left;color:#111827;display:flex;flex-direction:column;gap:5px;transition:.18s ease;cursor:pointer}
.time-calendar-day:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(28,39,76,.12);border-color:#c7d2fe;background:#fff}
.time-calendar-day.blank{background:transparent;border:0;box-shadow:none;cursor:default}
.time-calendar-day.has-entries{background:linear-gradient(180deg,#fff,#eef4ff);border-color:#c7d2fe}
.calendar-day-number{font-weight:900;font-size:1rem;color:#111827}
.time-calendar-day strong{font-size:1.05rem;letter-spacing:-.03em}
.time-calendar-day small{color:#667085;font-weight:750}
.time-calendar-day em{font-style:normal;display:block;width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#eef4ff;color:#3538cd;border-radius:999px;padding:3px 7px;font-size:.68rem;font-weight:800}
.full-month-export{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px;margin:0}
@media(max-width:900px){.time-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-calendar-weekdays{display:none}.time-calendar-day.blank{display:none}}
@media(max-width:620px){.time-view-toolbar{align-items:flex-start;flex-direction:column}.time-view-tabs{width:100%}.time-view-tab{flex:1}.time-calendar-grid{grid-template-columns:1fr}.time-calendar-day{min-height:auto}}


.time-module-banner{background:linear-gradient(135deg,#ffffff,#f3f6ff);border-color:#dbe4ff}
.time-module-banner .panel-head{align-items:flex-start}
.full-month-export{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px}

/* v3.0.24 client time snapshot module */
.client-time-snapshot-hero,.client-time-focus-panel{background:linear-gradient(135deg,#ffffff 0%,#f3f6ff 100%);border-color:#dbe4ff}
.client-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.client-snapshot-card{display:flex;flex-direction:column;gap:16px}
.snapshot-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.snapshot-card-head h3{font-size:1.2rem;margin:0}.snapshot-card-head p{font-size:.85rem;margin:.2rem 0 0;color:var(--muted)}
.snapshot-hours-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.snapshot-hours-row strong{font-size:2rem;letter-spacing:-.06em}.snapshot-hours-row span{font-weight:800;color:#667085}
.snapshot-progress{height:10px;background:#eef2ff;border-radius:999px;overflow:hidden}.snapshot-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(135deg,var(--primary),#06b6d4)}
.snapshot-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.snapshot-type-grid div{border:1px solid var(--line);background:#f8fafc;border-radius:16px;padding:12px}.snapshot-type-grid span{display:block;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.snapshot-type-grid strong{display:block;font-size:1.05rem;margin-top:4px;letter-spacing:-.03em}.snapshot-footer small{color:#667085;font-weight:650}.client-time-focus-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:stretch}.client-time-main-stat{background:#111827;color:#fff;border-radius:22px;padding:24px}.client-time-main-stat span{display:block;color:#c7d2fe;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.client-time-main-stat strong{display:block;font-size:3rem;letter-spacing:-.08em;line-height:1;margin-top:10px}.client-time-main-stat small{display:block;color:#dbe4ff;margin-top:10px}.client-page-snapshot-types div{background:#fff}
@media(max-width:1250px){.client-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-time-focus-grid{grid-template-columns:1fr}}
@media(max-width:720px){.client-snapshot-grid,.snapshot-type-grid{grid-template-columns:1fr}.snapshot-hours-row{align-items:flex-start;flex-direction:column}.client-time-main-stat strong{font-size:2.25rem}}

/* v3.0.25 simplified CRM interface */
.simple-crm-shell .sidebar .nav-link { font-weight: 700; }
.simple-hero-card { border: 1px solid rgba(255,0,119,.14); background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,247,251,.98)); }
.simple-hero-card h3 { font-size: 1.65rem; margin-bottom: .35rem; }
.simple-topbar h1 { letter-spacing: -0.03em; }
.focus-card { border: 2px solid rgba(255,0,119,.18); box-shadow: 0 18px 45px rgba(20, 20, 30, .08); }
.simple-kpi-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.focus-kpi { border: 2px solid rgba(255,0,119,.22); }
.simple-client-header { background: linear-gradient(135deg, #fff, #fff7fb); }
.compact-table td, .compact-table th { padding-top: .7rem; padding-bottom: .7rem; }
.client-time-focus-panel .snapshot-type-grid div { min-height: 110px; }
.time-view-tabs { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.time-view-tab { display: inline-flex; align-items: center; justify-content: center; padding: .65rem 1rem; border-radius: 999px; text-decoration: none; font-weight: 800; border: 1px solid rgba(255,0,119,.22); color: #151525; background: #fff; }
.time-view-tab.active, .time-view-tab:hover { background: #ff0077; color: #fff; border-color: #ff0077; }
@media (max-width: 900px) {
    .simple-crm-shell .topbar-actions { width: 100%; margin-top: 1rem; }
    .simple-crm-shell .topbar-actions .btn { flex: 1; }
}

/* v3.0.26 calendar-first CRM dashboard */
.calendar-dashboard-hero{background:linear-gradient(135deg,#fff,#f6f7ff);border-color:#dbe4ff}
.calendar-dashboard-hero h3{font-size:1.75rem}
.calendar-control-panel{background:#fff}
.day-calendar-shell{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;max-height:980px;overflow-y:auto}
.day-slot{display:grid;grid-template-columns:96px 1fr;gap:0;width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;padding:0;text-align:left;color:var(--ink);min-height:56px;cursor:pointer;transition:.14s ease}
.day-slot:hover{background:#f8fbff}.day-slot.has-entry{background:linear-gradient(135deg,#fff,#f3f6ff)}
.slot-time{display:flex;align-items:flex-start;justify-content:center;padding:16px 10px;background:#f8fafc;border-right:1px solid var(--line);font-weight:900;color:#344054;font-size:.86rem}
.slot-body{padding:10px 14px;display:flex;flex-direction:column;gap:7px;min-width:0}.empty-slot-text{color:#98a2b3;font-weight:750}
.slot-entry{display:block;border:1px solid #dbe4ff;background:#fff;border-radius:16px;padding:10px 12px;box-shadow:0 8px 20px rgba(28,39,76,.06)}
.slot-entry strong{display:block;font-weight:900;color:#111827}.slot-entry em{display:block;font-style:normal;color:#4f46e5;font-weight:800;font-size:.82rem;margin-top:2px}.slot-entry small{display:block;color:#667085;margin-top:3px;white-space:normal}
.week-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.week-day-card{display:flex;min-height:190px;flex-direction:column;gap:7px;border:1px solid var(--line);background:#f8fafc;border-radius:18px;padding:16px;color:var(--ink)}.week-day-card:hover{background:#fff;border-color:#c7d2fe;box-shadow:0 16px 35px rgba(28,39,76,.1)}.week-day-card strong{font-size:1rem}.week-day-card span{font-size:1.25rem;font-weight:900;letter-spacing:-.04em}.week-day-card small{color:#667085}.week-day-card em{font-style:normal;font-size:.78rem;color:#4f46e5;background:#eef4ff;border-radius:999px;padding:4px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.month-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.month-day-card{min-height:112px;border:1px solid var(--line);background:#f8fafc;border-radius:18px;padding:13px;color:var(--ink);display:flex;flex-direction:column;gap:6px}.month-day-card.has-entry{background:linear-gradient(135deg,#fff,#f3f6ff);border-color:#c7d2fe}.month-day-card:hover{background:#fff;box-shadow:0 14px 30px rgba(28,39,76,.1)}.month-day-card span{font-weight:900}.month-day-card strong{font-size:1.1rem;letter-spacing:-.03em}.month-day-card small{color:#667085}.calendar-entry-modal .modal-content,.calendar-entry-modal{border-radius:26px;overflow:hidden}.modal-header,.modal-footer{border-color:var(--line)}
.client-reporting-focus{background:linear-gradient(135deg,#fff,#f8fbff);border-color:#dbe4ff}.simple-client-task-table td{vertical-align:top}.client-report-note{border-left:4px solid #ff0077}
@media(max-width:1200px){.week-calendar-grid,.month-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.day-slot{grid-template-columns:74px 1fr}.slot-time{font-size:.78rem;padding:14px 6px}.week-calendar-grid,.month-calendar-grid{grid-template-columns:1fr}.day-calendar-shell{max-height:none}}


/* v3.0.27 Outlook-style calendar dashboard and Poppins UI */
html,body,button,input,select,textarea,.btn,.form-control,.form-select,.table{font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.main-panel{padding:24px 28px 54px}.simple-topbar{margin-bottom:18px}.simple-topbar .eyebrow{display:none}.simple-topbar h1{font-size:1.55rem;font-weight:800}
.brandwin-mark{align-items:center;gap:16px;margin-bottom:28px}.brandwin-logo{max-width:136px;height:auto;display:block}.brandwin-mark div{min-width:0}.brandwin-mark strong{font-size:1rem;line-height:1.15}.brandwin-mark span{font-size:.75rem}
.simplified-login-card{grid-template-columns:1fr .95fr}.simplified-login-art{justify-content:center;align-items:center;min-height:560px;padding:60px;background:radial-gradient(circle at top left,#1e293b,#111827 45%,#020617 100%)}.login-logo-panel{width:100%;max-width:440px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:34px;padding:42px;display:flex;flex-direction:column;align-items:center;gap:22px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.login-brand-logo-large{width:min(360px,100%);height:auto;max-height:180px;object-fit:contain;background:#fff;border-radius:24px;padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.2)}.simplified-login-art .pill{font-size:.95rem;padding:10px 16px;background:rgba(255,255,255,.12)}
.calendar-first-layout{max-width:100%}.outlook-calendar-card{background:#fff;border:1px solid #d9e2ef;border-radius:18px;overflow:hidden;box-shadow:0 18px 45px rgba(15,23,42,.08)}.calendar-ribbon{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:14px 16px;background:#f8fafc;border-bottom:1px solid #d9e2ef}.calendar-ribbon-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-ribbon-left h2{font-size:1.25rem;line-height:1.1;margin:0;font-weight:700;color:#344054;letter-spacing:-.02em}.calendar-ribbon-left p{margin:3px 0 0;color:#667085;font-size:.82rem}.calendar-arrow{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d0d7e2;border-radius:10px;background:#fff;color:#344054;font-size:1.4rem;font-weight:500}.calendar-arrow:hover{background:#edf4ff;color:#075a9a}.calendar-view-tabs{display:flex;align-items:center;gap:6px;padding:5px;background:#eef4ff;border:1px solid #d8e6fb;border-radius:14px}.calendar-view-tab{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:8px 13px;color:#344054;font-size:.82rem;font-weight:700}.calendar-view-tab.active,.calendar-view-tab:hover{background:#fff;color:#0b5cab;box-shadow:0 4px 15px rgba(15,23,42,.08)}.calendar-filter-bar{display:grid;grid-template-columns:1.3fr repeat(4,.8fr) auto;gap:12px;align-items:end;padding:14px 16px;background:#fff;border-bottom:1px solid #d9e2ef}.calendar-filter-bar label{display:block;margin-bottom:5px;color:#667085;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.calendar-filter-actions{display:flex;gap:8px;align-items:center;white-space:nowrap}.outlook-day-view{background:#fff}.outlook-day-header{display:grid;grid-template-columns:78px 1fr;border-bottom:3px solid #096dd9;background:#fff}.time-gutter-header{background:#fbfdff;border-right:1px solid #d9e2ef}.outlook-day-title{padding:10px 14px}.outlook-day-title span{display:block;font-size:1.75rem;line-height:1;color:#096dd9;font-weight:800}.outlook-day-title strong{display:block;color:#096dd9;font-size:.84rem;font-weight:600}.outlook-day-scroll{max-height:760px;overflow-y:auto;background:#fff}.outlook-time-row{display:grid;grid-template-columns:78px 1fr;width:100%;border:0;border-bottom:1px solid #e8eef6;background:#fff;min-height:42px;padding:0;text-align:left;color:#1f2937;cursor:pointer}.outlook-time-row.hour-start{border-top:1px solid #d9e2ef}.outlook-time-row.half-hour{border-bottom-style:dashed}.outlook-time-row:hover .outlook-slot-cell{background:#f2f8ff}.outlook-time-row.has-entry .outlook-slot-cell{background:#eef6ff}.outlook-time-label{display:flex;justify-content:center;align-items:flex-start;padding-top:7px;background:#fbfdff;border-right:1px solid #d9e2ef;color:#667085;font-size:.78rem;font-weight:500}.outlook-slot-cell{position:relative;display:flex;align-items:stretch;gap:8px;min-height:42px;padding:5px 12px}.outlook-add-hint{opacity:0;color:#0b5cab;font-size:.76rem;font-weight:600;align-self:center}.outlook-time-row:hover .outlook-add-hint{opacity:1}.outlook-entry-block{display:flex;flex-direction:column;justify-content:center;min-width:230px;max-width:560px;background:#cfe8ff;border:1px solid #1477c9;border-left:5px solid #096dd9;border-radius:4px;padding:7px 10px;color:#1f2937;box-shadow:0 6px 16px rgba(9,109,217,.16)}.outlook-entry-block strong{font-size:.83rem;font-weight:700}.outlook-entry-block em{font-style:normal;font-size:.73rem;color:#344054;font-weight:600}.outlook-entry-block small{font-size:.72rem;color:#475467;line-height:1.25;white-space:normal}.unscheduled-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:#fff7ed;border-top:1px solid #fed7aa}.unscheduled-strip strong{color:#9a3412}.unscheduled-strip span{background:#ffedd5;color:#9a3412;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:600}.outlook-week-view{background:#fff}.week-header-row{display:grid;grid-template-columns:78px repeat(7,1fr);border-bottom:3px solid #096dd9}.week-column-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:62px;border-right:1px solid #d9e2ef;color:#096dd9;background:#fff}.week-column-heading span{font-size:.78rem;font-weight:600}.week-column-heading strong{font-size:1.35rem;line-height:1;font-weight:800}.week-grid-scroll{max-height:760px;overflow-y:auto}.week-grid-row{display:grid;grid-template-columns:78px repeat(7,1fr);min-height:40px;border-bottom:1px solid #e8eef6}.week-grid-row.hour-start{border-top:1px solid #d9e2ef}.week-grid-row.half-hour{border-bottom-style:dashed}.week-slot-cell{border:0;border-right:1px solid #e8eef6;background:#fff;min-height:40px;padding:3px;display:flex;flex-direction:column;gap:2px;text-align:left;cursor:pointer}.week-slot-cell:hover{background:#f2f8ff}.week-slot-cell.has-entry{background:#eef6ff}.mini-entry{display:block;background:#cfe8ff;border-left:4px solid #096dd9;border-radius:3px;padding:3px 5px;line-height:1.15}.mini-entry strong{display:block;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-entry em{display:block;font-size:.64rem;font-style:normal;color:#475467;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outlook-month-view{display:grid;grid-template-columns:repeat(7,1fr);background:#fff}.month-weekday{padding:10px;background:#fbfdff;border-right:1px solid #d9e2ef;border-bottom:1px solid #d9e2ef;text-align:center;color:#667085;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.month-day-cell{min-height:132px;border:0;border-right:1px solid #e8eef6;border-bottom:1px solid #e8eef6;background:#fff;padding:10px;text-align:left;color:#1f2937;display:flex;flex-direction:column;align-items:flex-start;gap:5px;cursor:pointer}.month-day-cell.muted{background:#f8fafc;cursor:default}.month-day-cell:hover{background:#f2f8ff}.month-day-cell.has-entry{background:#eef6ff}.month-date-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-weight:800;color:#344054}.month-day-cell.has-entry .month-date-number{background:#096dd9;color:#fff}.month-day-cell strong{font-size:.92rem;color:#096dd9}.month-day-cell small{font-size:.72rem;color:#667085}.month-day-cell em{font-style:normal;background:#cfe8ff;border-left:3px solid #096dd9;border-radius:3px;padding:3px 5px;max-width:100%;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.range-report-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:28px;background:#f8fafc}.range-report-panel h3{font-weight:800;margin:0}.range-report-panel p{margin:.35rem 0 0;color:#667085}.time-total-large{border:1px solid #dbeafe;background:#eff6ff;border-radius:18px;padding:18px;margin-bottom:16px}.time-total-large strong{display:block;font-size:2.4rem;line-height:1;font-weight:900;color:#0b5cab;letter-spacing:-.06em}.time-total-large span{display:block;margin-top:6px;font-weight:800;color:#344054}.time-total-large small{display:block;margin-top:3px;color:#667085}.compact-breakdown{gap:9px}.compact-breakdown .time-breakdown-card{padding:11px;border-radius:14px}.task-summary-panel,.task-list-panel{box-shadow:0 12px 32px rgba(15,23,42,.06)}.calendar-entry-modal{border-radius:22px;overflow:hidden}.modal-header{background:#f8fafc}.modal-title{font-weight:800}
@media(max-width:1280px){.calendar-filter-bar{grid-template-columns:repeat(3,1fr)}.calendar-filter-actions{grid-column:1/-1}.outlook-week-view{overflow-x:auto}.week-header-row,.week-grid-row{min-width:1050px}.outlook-month-view{grid-template-columns:repeat(2,1fr)}.month-weekday{display:none}}
@media(max-width:900px){.sidebar{position:relative;width:100%;min-height:auto}.app-shell{display:block}.main-panel{margin-left:0;width:100%;padding:18px}.calendar-ribbon{align-items:flex-start}.calendar-view-tabs{width:100%;overflow-x:auto}.calendar-view-tab{flex:1;min-width:max-content}.calendar-filter-bar{grid-template-columns:1fr}.outlook-day-header,.outlook-time-row{grid-template-columns:62px 1fr}.week-header-row,.week-grid-row{grid-template-columns:62px repeat(7,140px)}.outlook-entry-block{min-width:0;width:100%}.login-card{grid-template-columns:1fr}.login-art{min-height:300px}.login-form{padding:34px}.login-logo-panel{padding:26px}.login-brand-logo-large{max-height:140px}}
@media(max-width:560px){.main-panel{padding:12px}.outlook-day-scroll,.week-grid-scroll{max-height:none}.outlook-time-row{min-height:50px}.outlook-slot-cell{padding:5px}.month-day-cell{min-height:102px}.calendar-filter-actions{flex-direction:column;align-items:stretch}.calendar-filter-actions .btn{width:100%}}


/* v3.0.28 Date-range physical calendar grid */
.outlook-range-view{background:#fff}.range-calendar-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:#f8fafc;border-bottom:1px solid #d9e2ef}.range-calendar-notice h3{font-size:1rem;font-weight:800;margin:0;color:#344054}.range-calendar-notice p{margin:3px 0 0;color:#667085;font-size:.82rem}.range-grid-wrap{width:100%;overflow-x:auto;background:#fff}.range-grid{}.range-header-row{display:grid;grid-template-columns:78px repeat(var(--range-days),minmax(185px,1fr));border-bottom:3px solid #096dd9;position:sticky;top:0;z-index:4;background:#fff}.range-column-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:62px;border-right:1px solid #d9e2ef;color:#096dd9;background:#fff}.range-column-heading span{font-size:.78rem;font-weight:600}.range-column-heading strong{font-size:1.04rem;line-height:1;font-weight:800}.range-grid-scroll{max-height:760px;overflow-y:auto}.range-grid-row{display:grid;grid-template-columns:78px repeat(var(--range-days),minmax(185px,1fr));min-height:40px;border-bottom:1px solid #e8eef6}.range-grid-row.hour-start{border-top:1px solid #d9e2ef}.range-grid-row.half-hour{border-bottom-style:dashed}.range-slot-cell{border:0;border-right:1px solid #e8eef6;background:#fff;min-height:40px;padding:3px;display:flex;flex-direction:column;gap:2px;text-align:left;cursor:pointer}.range-slot-cell:hover{background:#f2f8ff}.range-slot-cell.has-entry{background:#eef6ff}.range-more{display:inline-flex;align-self:flex-start;background:#e0edff;color:#075a9a;border-radius:999px;padding:2px 6px;font-size:.66rem;font-weight:800}.outlook-time-label{min-height:40px}
@media(max-width:900px){.range-header-row,.range-grid-row{grid-template-columns:62px repeat(var(--range-days),minmax(155px,1fr))}.range-calendar-notice{align-items:flex-start;flex-direction:column}}

/* v3.0.29 - cleaner 9am-9pm calendar view */
.outlook-calendar-card{border-radius:20px;border-color:#e2e8f0;box-shadow:0 16px 40px rgba(15,23,42,.07);overflow:hidden}
.calendar-ribbon{padding:16px 18px;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);border-bottom:1px solid #e2e8f0}
.calendar-ribbon-left h2{font-size:1.45rem;color:#111827}.calendar-ribbon-left p{font-size:.86rem;color:#64748b}.calendar-view-tabs{background:#f1f5f9;border-color:#e2e8f0;border-radius:16px}.calendar-view-tab{padding:9px 15px;border-radius:12px}.calendar-view-tab.active{background:#111827;color:#fff;box-shadow:0 8px 22px rgba(15,23,42,.16)}
.calendar-filter-bar{padding:16px 18px;background:#fff;gap:14px;border-bottom:1px solid #e2e8f0}.calendar-filter-bar .form-control,.calendar-filter-bar .form-select{height:46px;border-radius:13px;background:#fff}.calendar-filter-actions .btn{height:42px;display:inline-flex;align-items:center;justify-content:center}
.outlook-day-header,.week-header-row,.range-header-row{border-bottom:2px solid #2563eb;background:#fff}.outlook-day-title{padding:12px 16px}.outlook-day-title span{font-size:1.55rem;color:#2563eb}.outlook-day-title strong{color:#2563eb}
.outlook-day-scroll,.week-grid-scroll,.range-grid-scroll{max-height:720px;background:#fff}.outlook-time-row,.week-grid-row,.range-grid-row{min-height:54px;border-bottom:1px solid #e5e7eb}.outlook-time-row.hour-start,.week-grid-row.hour-start,.range-grid-row.hour-start{border-top:1px solid #cbd5e1}.outlook-time-row.half-hour,.week-grid-row.half-hour,.range-grid-row.half-hour{background:#fbfdff;border-bottom:1px dashed #dbe4ef}.outlook-time-row:hover .outlook-slot-cell,.week-slot-cell:hover,.range-slot-cell:hover{background:#eff6ff!important;box-shadow:inset 0 0 0 1px #bfdbfe}
.outlook-time-label{justify-content:flex-end;align-items:flex-start;min-height:54px;padding:9px 12px 0 8px;background:#f8fafc;color:#475569;border-right:1px solid #dbe4ef;font-size:.78rem;font-weight:800}.outlook-slot-cell,.week-slot-cell,.range-slot-cell{min-height:54px;padding:6px 8px;background:transparent;border-right:1px solid #eef2f7}.outlook-slot-cell{align-items:stretch}.outlook-add-hint{color:#2563eb;background:#eff6ff;border:1px dashed #93c5fd;border-radius:10px;padding:6px 10px}.outlook-entry-block,.mini-entry{background:#dbeafe;border:1px solid #93c5fd;border-left:5px solid #2563eb;border-radius:9px;color:#111827;box-shadow:none}.outlook-entry-block{padding:7px 10px;min-width:260px;max-width:680px}.outlook-entry-block strong,.mini-entry strong{color:#111827}.outlook-entry-block em,.mini-entry em{color:#334155}.week-column-heading,.range-column-heading{min-height:58px;color:#2563eb;background:#fff}.week-column-heading strong{font-size:1.15rem}.range-column-heading strong{font-size:.95rem}.range-calendar-notice{padding:14px 18px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.range-calendar-notice h3{font-size:1.05rem;color:#111827}.range-calendar-notice p{color:#64748b}.range-grid-wrap{border-top:0;background:#fff}.range-grid-row{grid-template-columns:78px repeat(var(--range-days),minmax(170px,1fr))}.range-header-row{grid-template-columns:78px repeat(var(--range-days),minmax(170px,1fr))}.range-slot-cell{position:relative}.range-more{background:#dbeafe;color:#1d4ed8}.report-auto-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:14px;padding:12px 14px;font-size:.9rem;font-weight:700}.client-header .btn{white-space:nowrap}
@media(max-width:1280px){.calendar-filter-bar{grid-template-columns:repeat(3,1fr)}.calendar-filter-actions{grid-column:1/-1}.range-header-row,.range-grid-row{grid-template-columns:68px repeat(var(--range-days),minmax(150px,1fr))}}
@media(max-width:900px){.outlook-time-label{font-size:.72rem;padding-right:8px}.outlook-day-header,.outlook-time-row{grid-template-columns:64px 1fr}.week-header-row,.week-grid-row{grid-template-columns:64px repeat(7,150px)}.range-header-row,.range-grid-row{grid-template-columns:64px repeat(var(--range-days),minmax(145px,1fr))}.outlook-entry-block{min-width:0;width:100%}}

/* v3.0.30 - full-month navigation and export filters */
.month-only-filter-bar{grid-template-columns:1.35fr 1fr 1fr 1fr 1fr auto;align-items:end}
.month-only-filter-bar label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#475569;margin-bottom:6px}
.month-only-filter-bar .calendar-filter-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap;min-width:420px}
.month-export-note{padding:10px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-size:.86rem;font-weight:600}
.month-only-client-filter .btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.btn-success{background:#16a34a;border-color:#16a34a;color:#fff}.btn-success:hover{background:#15803d;border-color:#15803d;color:#fff}
@media(max-width:1500px){.month-only-filter-bar{grid-template-columns:repeat(3,1fr)}.month-only-filter-bar .calendar-filter-actions{grid-column:1/-1;min-width:0}}
@media(max-width:900px){.month-only-filter-bar{grid-template-columns:1fr}.month-only-filter-bar .calendar-filter-actions{flex-direction:column;align-items:stretch}.month-only-filter-bar .calendar-filter-actions .btn{width:100%}}
