@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,650&display=swap";:root{color:#19312d;font-synthesis:none;--mama:#ec8f75;--mama-soft:#fbe4dc;--mama-ink:#994b38;--tata:#3b82f6;--tata-soft:#dbeafe;--tata-ink:#1d4ed8;--pending:#dc2626;--pending-soft:#fee2e2;--pending-ink:#991b1b;--ink:#173b35;--paper:#fffdf8;--line:#dedbd2;background:#f7f3eb;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 0,#fff 0,#0000 28rem),#f7f3eb;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}.app-shell{min-height:100vh;padding-bottom:88px}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#f7f3ebe0;border-bottom:1px solid #173b3517;justify-content:space-between;align-items:center;height:68px;padding:0 max(20px,50vw - 560px);display:flex;position:sticky;top:0}.topbar>div{align-items:center;gap:10px;display:flex}.topbar strong{font-family:Fraunces,serif;font-size:21px}.logo,.brand-mark{background:var(--ink);color:#fff;border-radius:12px;place-items:center;width:36px;height:36px;font-size:21px;display:grid}.account-menu{position:relative}.account-menu summary{color:#23665e;cursor:pointer;background:#e3efec;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:700;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:after{content:"⌄";margin-left:6px}.account-menu[open] summary:after{content:"⌃"}.account-dropdown{z-index:40;border:1px solid var(--line);background:var(--paper);border-radius:12px;min-width:130px;padding:7px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 12px 35px #173b3529}.account-dropdown button{text-align:left;background:0 0;border:0;border-radius:8px;width:100%;padding:9px 11px;font-size:12px;font-weight:700}.account-dropdown button:hover{background:#f1ede5}main{max-width:1120px;margin:0 auto;padding:24px 20px}.calendar-card{background:var(--paper);border:1px solid #173b351a;border-radius:24px;padding:16px;box-shadow:0 10px 35px #3932230f}.calendar-lock{border:1px solid var(--pending);background:var(--pending-soft);color:var(--pending-ink);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 16px;padding:12px 14px;display:flex}.calendar-lock>div{gap:2px;display:grid}.calendar-lock small{opacity:.8}.calendar-lock button{background:var(--pending);color:#fff;border:0;border-radius:9px;flex:none;padding:8px 10px;font-weight:700}.calendar-header{grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:16px;display:grid}.calendar-header h2{text-align:center;text-transform:capitalize;margin:0;font-family:Fraunces,serif;font-size:24px}.calendar-header button{background:#f1ede5;border:0;border-radius:12px;height:40px;font-size:26px}.weekdays,.month-grid{grid-template-columns:repeat(7,1fr);display:grid}.weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.06em;opacity:.55;padding:6px 0;font-size:11px;font-weight:700}.day,.empty{min-height:82px}.day{border:2px solid var(--paper);background:#f7f5ef;border-radius:13px;flex-direction:column;align-items:center;gap:4px;padding:8px 5px;display:flex;position:relative}.day:disabled{cursor:not-allowed}.day.mama{background:var(--mama-soft)}.day.tata{background:var(--tata-soft)}.day.has-pending{box-shadow:inset 0 0 0 2px var(--pending);padding-bottom:18px}.day.selected{outline:3px solid var(--ink);outline-offset:-2px;transform:scale(.95)}.selection-check{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:21px;height:21px;font-size:13px;font-weight:800;display:grid;position:absolute;top:4px;right:4px;box-shadow:0 2px 7px #173b3540}.day.today .day-number{background:var(--ink);color:#fff;border-radius:20px;place-items:center;width:25px;height:25px;display:grid}.day-number{font-weight:700}.day small{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;overflow:hidden}.state-dot{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.day.mama .state-dot{color:var(--mama)}.day.tata .state-dot{color:var(--tata)}.note-marker{z-index:2;color:#fff;background:#2563eb;border:2px solid #fff;border-radius:999px;place-items:center;min-width:25px;height:25px;padding:0 5px;font-size:14px;font-weight:900;line-height:1;display:grid;position:absolute;top:3px;left:3px;box-shadow:0 3px 9px #2563eb73}.pending-marker{background:var(--pending-soft);color:var(--pending-ink);white-space:nowrap;border-radius:999px;padding:1px 5px;font-size:8px;font-weight:800;line-height:1.4;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.bottom-nav{z-index:30;height:calc(70px + env(safe-area-inset-bottom));padding:7px max(8px, calc((100vw - 620px) / 2)) env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);background:#fffdf8f2;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{opacity:.55;background:0 0;border:0;place-items:center;gap:2px;font-size:10px;font-weight:600;display:grid}.bottom-nav button>span{font-size:20px;position:relative}.bottom-nav button.active{opacity:1;color:#28756e}.nav-badge{background:var(--pending);color:#fff;border-radius:10px;min-width:16px;padding:2px 4px;font-size:9px;line-height:1.2;position:absolute;top:-5px;right:-12px}label{color:#52635f;gap:6px;font-size:12px;font-weight:700;display:grid}input{width:100%;color:var(--ink);background:#fff;border:1px solid #d9d5cc;border-radius:11px;padding:11px 12px}.mini.mama{background:var(--mama-soft);color:var(--mama-ink)}.mini.tata{background:var(--tata-soft);color:var(--tata-ink)}.mini.note{color:#1d4ed8;white-space:nowrap;background:#dbeafe}.multi-bar{z-index:35;background:var(--ink);color:#fff;border-radius:16px;align-items:center;gap:8px;padding:8px 10px 8px 15px;display:flex;position:fixed;bottom:76px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #00000040}.multi-bar span{white-space:nowrap;margin-right:4px}.mini{border:0;border-radius:9px;padding:8px 10px;font-weight:700}.mini:disabled{cursor:wait;opacity:.7}.page-list{max-width:760px;margin:0 auto}.page-list header{margin:12px 0 28px}.eyebrow{letter-spacing:.14em;color:#4d827b;margin:0 0 7px;font-size:11px;font-weight:800}.page-list h2{margin:0;font-family:Fraunces,serif;font-size:36px}.page-list header>p:last-child{opacity:.65}.list-row,.history-row{background:var(--paper);border:1px solid var(--line);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;padding:14px;display:flex}.list-row>div:first-child,.history-row>div{gap:4px;display:grid}.list-row small,.history-row small{opacity:.6}.list-row>div:last-child{gap:6px;display:flex}.history-row{justify-content:flex-start}.history-icon{border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.history-icon.mama{background:var(--mama-soft);color:var(--mama-ink)}.history-icon.tata{background:var(--tata-soft);color:var(--tata-ink)}.notification-icon{color:#665f54;background:#eee9df}.notification-row.unread{border-color:var(--pending)}.notification-row.unread .notification-icon{background:var(--pending-soft);color:var(--pending-ink)}.selected-notes{max-width:760px;margin:22px auto 0}.selected-notes h3{margin:0 2px 10px;font-family:Fraunces,serif;font-size:21px}.note-row{background:var(--paper);border:1px solid #bfdbfe;border-radius:16px;grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:11px;margin-bottom:9px;padding:14px;display:grid}.note-info{color:#1d4ed8;background:#dbeafe;border-radius:12px;place-items:center;width:36px;height:36px;font-family:Georgia,serif;font-style:italic;font-weight:800;display:grid}.note-row>div{gap:4px;min-width:0;display:grid}.note-row p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.45}.note-row small{opacity:.6}.delete-note{color:#994b38;background:#f5e3df;border:0;border-radius:9px;padding:8px 10px;font-weight:700}.dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f231f8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.note-dialog{background:var(--paper);border-radius:22px;width:min(520px,100%);padding:24px;box-shadow:0 25px 80px #0000004d}.note-dialog h2{margin:0 0 20px;font-family:Fraunces,serif;font-size:30px}.note-dialog textarea{resize:vertical;width:100%;min-height:130px;color:var(--ink);background:#fff;border:1px solid #d9d5cc;border-radius:11px;padding:11px 12px;line-height:1.45}.note-dialog>small{text-align:right;opacity:.55;margin-top:6px;display:block}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.dialog-actions .cancel-button{border:0;border-radius:12px;padding:13px 18px;font-weight:700}.section-title{margin:18px 2px 10px;font-family:Fraunces,serif;font-size:21px}.own-title{margin-top:30px}.request-row{background:var(--paper);border:1px solid var(--line);border-radius:16px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:9px;padding:14px;display:grid}.request-icon{border-radius:12px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.request-icon.mama{background:var(--mama-soft);color:var(--mama-ink)}.request-icon.tata{background:var(--tata-soft);color:var(--tata-ink)}.request-copy{gap:4px;min-width:0;display:grid}.request-copy strong{line-height:1.35}.request-copy small{opacity:.6}.request-actions{align-items:center;gap:6px;display:flex}.request-actions button{border:0;border-radius:9px;padding:8px 10px;font-weight:700}.approve-button{color:#28666a;background:#dceeed}.reject-button{color:#994b38;background:#f5e3df}.cancel-button{color:#665f54;background:#eee9df}.status-badge{border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700}.status-badge.pending{background:var(--pending-soft);color:var(--pending-ink)}.status-badge.approved{color:#28666a;background:#dceeed}.status-badge.rejected{color:#994b38;background:#f5e3df}.status-badge.cancelled{color:#665f54;background:#eee9df}.primary-button{background:var(--ink);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:13px 18px;font-weight:700;text-decoration:none;display:flex}.error-note,.success-note{border-radius:13px;margin-bottom:14px;padding:12px 14px}.error-note{color:#873c32;background:#fbe0d7}.success-note{color:#286143;background:#e4f0e7}.empty-state,.loading{text-align:center;opacity:.65;padding:48px 20px}.empty-state.compact{border:1px dashed var(--line);border-radius:14px;padding:22px 14px}.login-shell{background:linear-gradient(160deg,#e6f1ed 0,#f7f3eb 52%,#fae5dc 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{text-align:center;background:#fffdf8eb;border:1px solid #fff;border-radius:28px;width:min(440px,100%);padding:36px;box-shadow:0 30px 80px #1c393424}.login-card .brand-mark{border-radius:17px;width:54px;height:54px;margin:0 auto 28px}.login-card h1{margin:0 0 14px;font-family:Fraunces,serif;font-size:46px}.login-card>p:not(.eyebrow){opacity:.7;line-height:1.6}.login-card small{opacity:.55}.login-form{text-align:left;gap:14px;margin:26px 0 18px;display:grid}.login-form .primary-button{width:100%;margin:2px 0 0}@media (width>=760px){main{padding-top:36px}.day{min-height:105px;padding-top:12px}.day small{font-size:12px}.calendar-card{padding:22px}.bottom-nav{border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;width:620px;left:50%;right:auto;transform:translate(-50%)}}@media (width<=520px){main{padding:16px 10px}.calendar-card{border-radius:18px;padding:9px}.calendar-lock{flex-direction:column;align-items:stretch}.calendar-lock button{width:100%}.day,.empty{min-height:67px}.day{border-radius:10px;padding:5px 2px}.day small{font-size:8px}.note-marker{min-width:23px;height:23px;padding:0 4px;font-size:12px;top:2px;left:2px}.list-row{flex-direction:column;align-items:flex-start}.request-row,.note-row{grid-template-columns:34px minmax(0,1fr)}.request-icon,.note-info{width:34px;height:34px}.request-actions,.status-badge,.delete-note{grid-column:2;justify-self:start}.multi-bar{gap:5px;max-width:calc(100vw - 16px);padding-left:10px}.multi-bar span{font-size:12px}.mini{padding:8px;font-size:12px}.login-card{padding:28px 22px}}
