:root{--blue:#4285f4;--blue-dark:#1a73e8;--blue-light:#e8f0fe;--green:#137333;--green-bg:#e6f4ea;--red:#d93025;--red-bg:#fce8e6;--amber:#b45309;--amber-bg:#fef7e0;--bg:#f8f9fa;--white:#ffffff;--border:#dadce0;--border-light:#e8eaed;--text:#202124;--text2:#5f6368;--text3:#80868b;--icon:#3c4043;--shadow-xs:0 1px 2px rgba(0,0,0,.06);--shadow-sm:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 12px rgba(0,0,0,.1);--shadow-lg:0 8px 28px rgba(0,0,0,.14);--r:8px;--r-lg:12px;--r-full:9999px;--font:'Segoe UI','Roboto',-apple-system,BlinkMacSystemFont,sans-serif;--ease:cubic-bezier(.4,0,.2,1)}
*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}code{background:#f1f3f4;padding:2px 6px;border-radius:4px;font-size:13px}

/* INSTALL */
.inst-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#f8f9fa 0%,#e8eaed 100%)}
.inst-wrap{width:100%;max-width:520px}.inst-brand{text-align:center;margin-bottom:28px}.inst-brand img{max-height:36px}
.inst-steps{display:flex;justify-content:center;gap:0;margin-bottom:28px;list-style:none}.inst-steps li{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text3);position:relative;padding:0 16px}.inst-steps li+li::before{content:'';position:absolute;left:-12px;top:50%;width:24px;height:2px;background:var(--border);transform:translateY(-50%)}.inst-steps li.done+li::before{background:var(--blue)}
.inst-step-num{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--text3)}.inst-steps li.on .inst-step-num{background:var(--blue);border-color:var(--blue);color:#fff}.inst-steps li.done .inst-step-num{background:var(--green-bg);border-color:var(--green);color:var(--green)}.inst-steps li.on{color:var(--text)}.inst-steps li.done{color:var(--green)}
.inst-card{background:var(--white);border-radius:var(--r-lg);padding:36px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.inst-card h1{font-size:22px;font-weight:700;margin-bottom:6px;text-align:center}.inst-sub{text-align:center;color:var(--text2);font-size:14px;margin-bottom:24px;line-height:1.6}.inst-hint{font-size:13px;color:var(--text3);margin:12px 0 0}
.inst-checks{list-style:none;margin-bottom:24px}.inst-checks li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r);font-size:14px;margin-bottom:4px}.inst-checks li.ok{color:var(--green)}.inst-checks li.bad{color:var(--red);background:var(--red-bg)}.inst-dot{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}
.inst-summary{list-style:none;margin-bottom:24px}.inst-summary li{display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:14px;border-bottom:1px solid var(--border-light)}.inst-summary li:last-child{border-bottom:none}.inst-summary li svg{flex-shrink:0}
.inst-badge{text-align:center;margin:0 auto 16px}.inst-rk-box{background:#f8f9fa;border:1px solid var(--border);border-radius:var(--r);padding:20px;margin:20px 0}.inst-rk-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text2);margin-bottom:12px}.inst-rk{background:var(--white);border:2px dashed var(--border);border-radius:var(--r);padding:16px;text-align:center}.inst-rk code{font-size:20px;font-weight:700;letter-spacing:2px;color:var(--text);background:none;padding:0}
.inst-warn{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:13px;color:var(--text3)}.inst-foot{text-align:center;margin-top:24px;font-size:12px;color:var(--text3)}

/* AUTH */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.auth-wrapper{width:100%;max-width:420px}.auth-logo{text-align:center;margin-bottom:24px}.auth-logo img{max-height:40px}
.auth-card{background:var(--white);border-radius:var(--r-lg);padding:40px 36px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.auth-card h1{font-size:24px;font-weight:700;text-align:center;margin-bottom:6px}.auth-subtitle{text-align:center;color:var(--text2);font-size:14px;margin-bottom:24px}
.auth-tabs{display:flex;background:var(--border-light);border-radius:var(--r-full);padding:3px;margin-bottom:24px}.auth-tab{flex:1;text-align:center;padding:10px 16px;border-radius:var(--r-full);font-size:14px;font-weight:600;text-decoration:none;color:var(--text2);transition:all .2s}.auth-tab.active{background:var(--white);color:var(--text);box-shadow:var(--shadow-xs)}
.auth-form{margin-bottom:16px}.auth-link{display:block;text-align:center;color:var(--blue-dark);font-size:14px;margin-top:12px;text-decoration:none}
.auth-divider{display:flex;align-items:center;margin:20px 0;color:var(--text3);font-size:13px}.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border)}.auth-divider span{padding:0 16px}

/* FORMS */
.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:500;color:var(--text2);margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--r);font-size:14px;font-family:var(--font);transition:border-color .2s,box-shadow .2s;background:var(--white)}.form-group input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(66,133,244,.12)}.form-group input::placeholder{color:var(--text3)}.input-muted{background:#f1f3f4!important}
.alert{padding:12px 16px;border-radius:var(--r);font-size:14px;margin-bottom:16px}.alert-error{background:var(--red-bg);color:var(--red);border:1px solid #f5c6cb}.alert-success{background:var(--green-bg);color:var(--green);border:1px solid #a8dab5}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 24px;border-radius:var(--r-full);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .15s;text-decoration:none;border:1px solid transparent;gap:4px}
.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn-primary:hover{background:var(--blue-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-outline{background:var(--white);color:var(--text);border-color:var(--border)}.btn-outline:hover{background:var(--bg)}
.btn-danger{background:var(--red);color:#fff;border-color:var(--red)}.btn-sm{padding:6px 14px;font-size:13px}.btn-full{width:100%}
.link-btn{color:var(--blue-dark);font-size:14px;cursor:pointer;font-weight:500;background:none;border:none;font-family:var(--font)}

/* LAYOUT */
.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}
.app-header{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--white);gap:8px;flex-shrink:0;z-index:50}
.header-logo{margin:0 4px 0 0;display:flex;align-items:center;gap:8px}.header-logo img{height:24px}
.header-logo .cal-icon{width:40px;height:40px;border-radius:var(--r);background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;letter-spacing:-0.5px}
.header-nav{display:flex;align-items:center;gap:4px;margin-left:12px}.header-title{font-size:20px;font-weight:400;margin-left:8px;white-space:nowrap}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:4px}
.header-user{display:flex;align-items:center;gap:8px;padding:4px 12px;border-radius:var(--r-full);font-size:13px;color:var(--text2);background:var(--bg);margin-left:8px;cursor:pointer;position:relative}
.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--text);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;overflow:hidden;position:relative}
.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.header-admin-link,.header-logout-link{display:flex;align-items:center;text-decoration:none;opacity:.7;transition:opacity .15s}.header-admin-link:hover,.header-logout-link:hover{opacity:1}

/* ICON BTNS */
.icon-btn{background:none;border:none;cursor:pointer;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--icon);transition:background .15s;flex-shrink:0}.icon-btn:hover{background:var(--border-light)}
.icon-btn-xs{background:none;border:none;cursor:pointer;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.icon-btn-xs:hover{background:var(--border-light)}
.btn-today{border:1px solid var(--border);background:none;border-radius:4px;padding:6px 16px;font-size:14px;font-weight:500;cursor:pointer;color:var(--text);font-family:var(--font)}.btn-today:hover{background:var(--border-light)}

/* VIEW DROPDOWN */
.view-dropdown{position:relative}.view-dropdown-btn{border:1px solid var(--border);background:none;border-radius:4px;padding:6px 12px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--text);font-family:var(--font)}.view-dropdown-btn:hover{background:var(--border-light)}
.view-dropdown-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-lg);min-width:220px;z-index:100;overflow:hidden;border:1px solid var(--border-light)}
.view-dropdown-item{padding:10px 16px;cursor:pointer;display:flex;justify-content:space-between;font-size:14px;transition:background .1s}.view-dropdown-item:hover{background:var(--border-light)}.view-dropdown-item.active{background:var(--blue-light);color:var(--blue-dark)}.view-dropdown-item .shortcut{color:var(--text3);font-size:13px}
.view-dropdown-sep{border-top:1px solid var(--border-light)}.view-dropdown-check{padding:10px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.view-dropdown-check:hover{background:var(--border-light)}

/* BODY */
.app-body{display:flex;flex:1;overflow:hidden}
.sidebar{width:256px;border-right:1px solid var(--border);padding:12px 16px;overflow-y:auto;flex-shrink:0;background:var(--white)}.sidebar-hidden{display:none}
.create-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 20px 4px 8px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--white);cursor:pointer;font-size:14px;font-weight:500;color:var(--text);box-shadow:var(--shadow-sm);font-family:var(--font);margin-bottom:16px}.create-btn:hover{box-shadow:var(--shadow-md)}
.create-menu{position:absolute;left:16px;background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-lg);min-width:220px;z-index:100;overflow:hidden;border:1px solid var(--border-light)}
.create-menu-item{padding:12px 20px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:12px;transition:background .1s}.create-menu-item:hover{background:var(--border-light)}
.mini-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mini-cal-title{font-weight:500;font-size:14px}
.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;margin-bottom:16px}
.mini-cal-dow{padding:4px 0;color:var(--text3);font-weight:500;font-size:11px}
.mini-cal-day{width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin:0 auto;border-radius:50%;cursor:pointer;font-size:12px;transition:background .15s}.mini-cal-day:hover{background:var(--border-light)}.mini-cal-day.today{background:var(--blue);color:#fff;font-weight:600}.mini-cal-day.selected{background:var(--blue-light)}.mini-cal-day.empty{cursor:default}
.sidebar-section{border-top:1px solid var(--border-light);padding-top:8px;margin-top:8px}.sidebar-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px;font-weight:500}
.cal-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;display:inline-block}
.cal-checkbox{display:flex;align-items:center;gap:10px;padding:5px 0;cursor:pointer;font-size:14px}
.sidebar-link{display:flex;align-items:center;gap:10px;padding:8px 0;cursor:pointer;color:var(--text2);font-size:14px}.sidebar-link:hover{color:var(--text)}

/* CALENDAR GRID */
.calendar-area{flex:1;overflow:auto;display:flex}
.time-gutter{width:60px;flex-shrink:0}.time-gutter .spacer{height:60px;position:relative}.tz-label{display:block;font-size:10px;color:#70757a;text-align:right;padding-right:8px;padding-top:40px}
.time-label{height:60px;display:flex;align-items:flex-start;justify-content:flex-end;padding-right:8px;font-size:11px;color:var(--text3)}
.week-grid{flex:1;display:grid}.day-column{border-left:1px solid var(--border-light);position:relative}
.day-header{height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--white);z-index:10}
.day-header .dow{font-size:11px;color:var(--text3);font-weight:500;text-transform:uppercase}.day-header .dom{font-size:26px;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:400}
.day-header.today .dow{color:var(--blue-dark)}.day-header.today .dom{background:var(--blue);color:#fff}
.hour-slot{height:60px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .1s}.hour-slot:hover{background:rgba(66,133,244,.06)}
.event-block{position:absolute;left:2px;right:2px;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;overflow:hidden;cursor:pointer;z-index:5}
.event-block.type-event{background:var(--blue);color:#fff}.event-block.type-task{background:transparent;border:2px solid var(--blue);color:var(--blue)}.event-block .event-time{font-size:11px;font-weight:400;opacity:.85}

/* NOW LINE */
.now-line{position:absolute;left:0;right:0;z-index:8;height:2px;background:#ea4335;pointer-events:none}.now-dot{width:12px;height:12px;border-radius:50%;background:#ea4335;position:absolute;left:-6px;top:-5px}

/* MONTH */
.month-grid{flex:1;overflow:auto}.month-header-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border)}.month-dow{padding:8px;text-align:center;font-size:11px;color:var(--text3);font-weight:500}
.month-week-row{display:grid;grid-template-columns:repeat(7,1fr);min-height:100px}.month-day-cell{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:4px;cursor:pointer}.month-day-cell:hover{background:rgba(66,133,244,.06)}
.month-day-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;margin:0 auto 4px}.month-day-num.today{background:var(--blue);color:#fff;font-weight:600}
.month-event-pill{font-size:11px;padding:2px 6px;border-radius:4px;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-event-pill.type-event{background:var(--blue);color:#fff}.month-event-pill.type-task{background:var(--blue-light);color:var(--blue-dark)}

/* SEARCH */
.search-bar{padding:8px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;background:var(--bg)}
.search-input-wrap{flex:1;display:flex;align-items:center;background:var(--white);border-radius:var(--r-full);padding:8px 16px;border:1px solid var(--border)}.search-input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(66,133,244,.12)}.search-input-wrap input{border:none;outline:none;font-size:14px;flex:1;background:transparent;font-family:var(--font);margin-left:8px}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .15s}
.modal-card{background:var(--white);border-radius:var(--r-lg);width:440px;max-width:95vw;box-shadow:var(--shadow-lg);overflow:hidden;animation:slideUp .2s var(--ease)}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 12px 0 16px}.modal-body{padding:0 24px 24px}
.modal-title-input{width:100%;border:none;border-bottom:2px solid var(--blue);font-size:22px;padding:8px 0;outline:none;font-family:var(--font);margin-bottom:16px;color:var(--text)}
.modal-tabs{display:flex;gap:8px;margin-bottom:20px}.modal-tab{padding:6px 16px;border-radius:var(--r-full);border:none;cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font)}.modal-tab.active{background:var(--blue-light);color:var(--blue-dark)}.modal-tab:not(.active){background:transparent;color:var(--text2)}
.modal-row{display:flex;align-items:center;gap:14px;margin-bottom:14px;font-size:14px;color:var(--text2);cursor:pointer;padding:4px 0}.modal-row:hover{color:var(--text)}.modal-icon{flex-shrink:0}
.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}

/* TASKS */
.tasks-layout{display:flex;min-height:calc(100vh - 57px);width:100%}
.tasks-sidebar{width:220px;border-right:1px solid var(--border);padding:12px 0;background:var(--white)}
.tasks-sidebar-item{padding:8px 24px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px}.tasks-sidebar-item:hover{background:var(--border-light)}.tasks-sidebar-item.active{background:var(--blue-light);color:var(--blue-dark);font-weight:500;border-radius:0 var(--r-full) var(--r-full) 0;margin-right:8px}
.tasks-content{flex:1;padding:24px 40px;max-width:640px}
.tasks-list-header{border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center}
.task-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light);font-size:14px}.task-item input[type="checkbox"]{width:18px;height:18px;cursor:pointer;accent-color:var(--blue)}.task-item.done span{text-decoration:line-through;color:var(--text3)}
.add-task-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-light)}
.inline-task-input{border:none;outline:none;font-size:14px;font-family:var(--font);color:var(--blue-dark);flex:1;padding:4px 0;background:transparent}.inline-task-input::placeholder{color:var(--blue-dark);font-weight:500}
.add-task-btn{background:none;border:none;color:var(--blue-dark);font-size:14px;cursor:pointer;display:flex;align-items:center;gap:6px;padding:8px 0;font-weight:500;font-family:var(--font)}

/* ADMIN */
.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:260px;background:var(--text);color:#fff;padding:20px 0;flex-shrink:0}.admin-sidebar-header{padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px;display:flex;align-items:center;gap:8px}.admin-sidebar-header img{height:24px;filter:brightness(0) invert(1)}.admin-badge{display:inline-block;background:var(--blue);color:#fff;font-size:11px;font-weight:600;padding:2px 10px;border-radius:var(--r-full)}
.admin-nav-item{padding:10px 20px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background .15s;color:rgba(255,255,255,.7);text-decoration:none}.admin-nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.admin-nav-item.active{background:rgba(255,255,255,.12);color:#fff;border-left:3px solid var(--blue)}
.admin-content{flex:1;padding:32px;overflow-y:auto;background:var(--bg)}.admin-content h1{font-size:24px;font-weight:600;margin-bottom:24px}
.admin-card{background:var(--white);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-xs);border:1px solid var(--border);margin-bottom:20px}.admin-card h2{font-size:16px;font-weight:600;margin-bottom:16px}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--white);border-radius:var(--r-lg);padding:20px;border:1px solid var(--border)}.stat-card .stat-label{font-size:13px;color:var(--text2);margin-bottom:8px}.stat-card .stat-value{font-size:32px;font-weight:700}.stat-card .stat-sub{font-size:12px;color:var(--green);margin-top:4px}
.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}.admin-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border-light)}.admin-table tr:hover td{background:var(--bg)}
.badge{display:inline-block;padding:3px 10px;border-radius:var(--r-full);font-size:12px;font-weight:600}.badge-admin{background:var(--amber-bg);color:var(--amber)}.badge-user{background:var(--blue-light);color:var(--blue-dark)}.badge-active{background:var(--green-bg);color:var(--green)}.badge-disabled{background:var(--red-bg);color:var(--red)}
.admin-actions{display:flex;gap:6px}.settings-form .form-row{display:flex;gap:16px;margin-bottom:16px}.settings-form .form-row .form-group{flex:1}

@media(max-width:768px){.sidebar{width:0;overflow:hidden;padding:0;border:none}.sidebar.open{width:256px;padding:12px 16px;border-right:1px solid var(--border);position:absolute;z-index:40;background:var(--white);height:calc(100vh - 57px)}.header-title{font-size:16px}.admin-sidebar{width:200px}.admin-content{padding:16px}}

/* INLINE SEARCH */
.inline-search{display:flex;align-items:center;gap:8px;background:#f1f3f4;border-radius:24px;padding:8px 20px;margin-left:auto;margin-right:12px;min-width:240px;max-width:500px;flex:1;transition:all .2s;height:44px}
.inline-search.focused{background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.12);border:1px solid #dadce0;border-radius:24px}
.inline-search input{border:none;outline:none;background:transparent;font-size:14px;font-family:inherit;width:100%;color:#202124}
.inline-search input::placeholder{color:#5f6368}

/* PROFILE MODAL */
.profile-avatar{width:72px;height:72px;border-radius:50%;background:#e8eaed;display:flex;align-items:center;justify-content:center;margin:0 auto;overflow:hidden;cursor:pointer;border:3px solid #4285f4}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-avatar .avatar-letter{font-size:32px;font-weight:700;color:#4285f4}
.profile-stats{display:flex;gap:12px;margin-top:16px}
.profile-stat{flex:1;background:#f1f3f4;border-radius:8px;padding:12px}
.profile-stat-num{display:block;font-size:24px;font-weight:700;color:#202124}
.profile-stat-label{font-size:12px;color:#5f6368}

/* MODAL FIELDS */
.modal-field{margin-bottom:2px}
.modal-field-body{padding:0 0 12px 34px}
.modal-input{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:8px;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}
.modal-input:focus{border-color:#1a73e8;box-shadow:0 0 0 3px rgba(66,133,244,.12)}
.modal-textarea{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:8px;font-size:14px;font-family:inherit;outline:none;resize:vertical;min-height:60px;transition:border-color .2s}
.modal-textarea:focus{border-color:#1a73e8;box-shadow:0 0 0 3px rgba(66,133,244,.12)}
.modal-map-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;color:#1a73e8;text-decoration:none;font-weight:500;padding:6px 12px;border:1px solid #e8eaed;border-radius:6px;transition:background .15s}
.modal-map-link:hover{background:#e8f0fe}

/* DARK MODE */
body.dark-mode{background:#202124;color:#e8eaed}
body.dark-mode .app-header,body.dark-mode .sidebar,body.dark-mode .modal-card,body.dark-mode .day-header{background:#292a2d;border-color:#3c4043}
body.dark-mode .hour-slot{border-color:#3c4043}
body.dark-mode .day-column{border-color:#3c4043}
body.dark-mode .modal-title-input{color:#e8eaed;border-color:#8ab4f8}
body.dark-mode .modal-input,body.dark-mode .modal-textarea{background:#292a2d;color:#e8eaed;border-color:#3c4043}
body.dark-mode .form-group input,body.dark-mode .form-group select{background:#292a2d;color:#e8eaed;border-color:#3c4043}
body.dark-mode .view-dropdown-menu,body.dark-mode .create-menu{background:#292a2d;border-color:#3c4043}
body.dark-mode .view-dropdown-item:hover,body.dark-mode .view-dropdown-check:hover,body.dark-mode .create-menu-item:hover{background:#3c4043}
body.dark-mode .inline-search{background:#3c4043}body.dark-mode .inline-search input{color:#e8eaed}
body.dark-mode .btn-today{color:#e8eaed;border-color:#5f6368}
body.dark-mode .header-title{color:#e8eaed}
body.dark-mode .time-label{color:#9aa0a6}
body.dark-mode .day-header .dow{color:#9aa0a6}body.dark-mode .day-header .dom{color:#e8eaed}
body.dark-mode .mini-cal-day{color:#e8eaed}body.dark-mode .mini-cal-dow{color:#9aa0a6}
body.dark-mode .sidebar-section-header{color:#e8eaed}
body.dark-mode .hour-slot:hover{background:rgba(138,180,248,.08)}
body.dark-mode .month-day-cell{border-color:#3c4043}body.dark-mode .month-day-cell:hover{background:rgba(138,180,248,.08)}
body.dark-mode .modal-row{color:#9aa0a6}body.dark-mode .modal-row:hover{color:#e8eaed}
body.dark-mode .btn-outline{background:#292a2d;color:#e8eaed;border-color:#5f6368}
body.dark-mode svg[fill="#3c4043"]{fill:#9aa0a6}
body.dark-mode .create-btn{background:#292a2d;color:#e8eaed;border-color:#5f6368}

/* EVENT POPUP */
.event-popup{position:fixed;z-index:300;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.2);width:320px;padding:16px;animation:slideUp .15s ease}
.ep-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ep-header strong{font-size:16px;color:#202124}
.ep-row{display:flex;align-items:center;gap:10px;font-size:13px;color:#5f6368;padding:6px 0}
.ep-actions{margin-top:14px;padding-top:12px;border-top:1px solid #e8eaed;display:flex;gap:8px;justify-content:flex-end}

/* PEOPLE SEARCH */
.people-result{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;transition:background .1s}
.people-result:hover{background:#f1f3f4}
.people-avatar{width:32px;height:32px;border-radius:50%;background:#4285f4;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}
.sidebar-people{margin-bottom:4px}

/* CUSTOM CONFIRM POPUP */
.confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .15s}
.confirm-box{background:#fff;border-radius:16px;padding:28px 32px;width:340px;max-width:90vw;box-shadow:0 12px 40px rgba(0,0,0,.25);animation:slideUp .2s cubic-bezier(.4,0,.2,1);text-align:center}
.confirm-icon{margin-bottom:12px}
.confirm-title{font-size:18px;font-weight:600;color:#202124;margin-bottom:8px}
.confirm-text{font-size:14px;color:#5f6368;margin-bottom:24px;line-height:1.5}
.confirm-text strong{color:#202124}
.confirm-actions{display:flex;gap:10px;justify-content:center}
.confirm-btn{padding:10px 28px;border-radius:9999px;font-size:14px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:all .15s}
.confirm-btn.cancel{background:#f1f3f4;color:#3c4043}
.confirm-btn.cancel:hover{background:#e8eaed}
.confirm-btn.delete{background:#d93025;color:#fff}
.confirm-btn.delete:hover{background:#b3261e}
body.dark-mode .confirm-box{background:#292a2d;border:1px solid #3c4043}
body.dark-mode .confirm-title{color:#e8eaed}
body.dark-mode .confirm-text{color:#9aa0a6}
body.dark-mode .confirm-text strong{color:#e8eaed}
body.dark-mode .confirm-btn.cancel{background:#3c4043;color:#e8eaed}

/* MY CALENDAR DELETE */
.cal-checkbox{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;font-size:14px;cursor:default}
.cal-checkbox:hover{background:#f1f3f4}
.cal-del{display:none;font-size:16px;color:#5f6368;cursor:pointer;padding:0 4px;line-height:1}
.cal-checkbox:hover .cal-del{display:block}
.cal-del:hover{color:#d93025}
body.dark-mode .cal-checkbox:hover{background:#3c4043}

/* APP LAUNCHER 9-DOT */
.app-launcher-menu{position:absolute;right:0;top:44px;background:#fff;border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.2);width:280px;max-height:400px;overflow-y:auto;padding:12px;z-index:200}
.app-launcher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.app-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:10px;text-decoration:none;color:#202124;font-size:11px;font-weight:500;text-align:center;transition:background .15s}
.app-item:hover{background:#f1f3f4}
.app-item img{border-radius:8px;object-fit:cover}
.app-icon-placeholder{width:40px;height:40px;border-radius:8px;background:#e8eaed;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#5f6368}

/* MY CALENDAR ITEMS */
.cal-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;font-size:14px;cursor:default}
.cal-item:hover{background:#f1f3f4}
.cal-item:hover .cal-del{display:block}
.cal-cb{width:16px;height:16px;cursor:pointer;flex-shrink:0}
.cal-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* PROFILE DROPDOWN */
.profile-dropdown{position:absolute;right:0;top:44px;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.15);width:240px;z-index:200;overflow:hidden}
.profile-dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:14px;color:#3c4043;text-decoration:none;transition:background .1s}
.profile-dropdown-item:hover{background:#f1f3f4}
.profile-dropdown-sep{border-top:1px solid #e8eaed;margin:4px 0}
