:root{--bg: #f6f1ea;--bg-2: #fffdf9;--paper: #ffffff;--ink: #2c241e;--muted: #7a6f66;--line: rgba(44, 36, 30, .08);--accent: #c4785a;--accent-soft: rgba(196, 120, 90, .14);--sage: #8fa38a;--sage-soft: rgba(143, 163, 138, .16);--sand: #d4a574;--shadow: 0 10px 30px rgba(44, 36, 30, .06);--shadow-lg: 0 24px 60px rgba(44, 36, 30, .12);--radius: 18px;--radius-sm: 12px;--font: "DM Sans", system-ui, sans-serif;--serif: "Fraunces", Georgia, serif;--today: #c4785a;--header-h: 72px}[data-theme=dark]{--bg: #1b1714;--bg-2: #221d19;--paper: #2a241f;--ink: #f4ece4;--muted: #b5a89c;--line: rgba(244, 236, 228, .08);--accent: #e09a7d;--accent-soft: rgba(224, 154, 125, .16);--sage: #a8bda3;--sage-soft: rgba(168, 189, 163, .16);--sand: #e0b888;--shadow: 0 10px 30px rgba(0, 0, 0, .28);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .4)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.45}button,input,textarea,select{font-family:inherit;color:inherit}a{color:inherit}img{max-width:100%;display:block}.app{min-height:100svh;background:radial-gradient(900px 400px at 10% -10%,var(--accent-soft),transparent 60%),radial-gradient(700px 360px at 100% 0%,var(--sage-soft),transparent 55%),var(--bg)}.topbar{position:sticky;top:0;z-index:30;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px;background:color-mix(in srgb,var(--bg-2) 86%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand-block{display:flex;align-items:center;gap:12px;min-width:0}.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--sand));color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:600;flex-shrink:0;box-shadow:var(--shadow)}.brand-block h1{font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:-.02em}.brand-block p{color:var(--muted);font-size:12px}.ig-link{color:var(--accent);text-decoration:none;font-weight:600}.top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.icon-btn,.btn{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 14px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s;box-shadow:var(--shadow)}.icon-btn{width:40px;height:40px;padding:0;display:grid;place-items:center}.btn:hover,.icon-btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--accent);color:#fff;border-color:transparent}.btn.ghost{background:transparent;box-shadow:none}.btn.danger{color:#b42318}.search{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:0 14px;height:40px;min-width:180px;box-shadow:var(--shadow)}.search input{border:0;outline:0;background:transparent;width:160px;font-size:14px}.ig-strip{display:flex;gap:12px;overflow-x:auto;padding:16px 22px 8px;scrollbar-width:thin}.ig-card{flex:0 0 220px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;text-decoration:none;box-shadow:var(--shadow);transition:transform .15s}.ig-card:hover{transform:translateY(-2px)}.ig-card small{color:var(--muted);font-size:11px}.ig-card p{font-size:13px;margin-top:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ig-metrics{display:flex;gap:10px;margin-top:8px;color:var(--muted);font-size:11px}.wrap{padding:8px 22px 40px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:8px 0 18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.card span{color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.card b{display:block;font-family:var(--serif);font-size:28px;margin-top:4px;font-weight:500}.card em{font-style:normal;color:var(--muted);font-size:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.nav-month{display:flex;align-items:center;gap:8px}.nav-month h2{font-family:var(--serif);font-size:26px;font-weight:500;min-width:210px}.seg{display:flex;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:3px;box-shadow:var(--shadow)}.seg button{border:0;background:transparent;padding:7px 12px;border-radius:999px;cursor:pointer;font-size:13px}.seg button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}.cal{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.weekdays,.grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays div{padding:10px 8px;font-size:12px;color:var(--muted);text-align:center;border-bottom:1px solid var(--line)}.cell{min-height:112px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 6px;cursor:pointer;transition:background .15s;position:relative}.cell:nth-child(7n){border-right:0}.cell.out{color:color-mix(in srgb,var(--muted) 70%,transparent);background:color-mix(in srgb,var(--bg) 50%,var(--paper))}.cell:hover{background:var(--accent-soft)}.cell.today{box-shadow:inset 0 0 0 2px var(--accent)}.cell.has{background:color-mix(in srgb,var(--sage-soft) 55%,var(--paper))}.cell .num{font-size:13px;font-weight:600;margin-bottom:6px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%}.cell.today .num{background:var(--accent);color:#fff}.chip{display:block;width:100%;text-align:left;border:0;color:#fff;border-radius:8px;padding:4px 7px;font-size:11px;margin-bottom:4px;cursor:grab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px #00000014}.chip:active{cursor:grabbing}.more{font-size:11px;color:var(--muted);padding:0 4px}.week-grid{display:grid;grid-template-columns:56px repeat(7,1fr)}.week-head,.week-col{border-left:1px solid var(--line);min-height:520px;padding:8px}.week-head{min-height:0;text-align:center;padding:10px 6px;font-size:12px;color:var(--muted)}.hours{color:var(--muted);font-size:11px;padding:8px 6px}.hours div{height:42px}.week-event{width:100%;border:0;color:#fff;border-radius:10px;padding:6px 8px;font-size:12px;text-align:left;margin-bottom:6px;cursor:pointer}.list{display:flex;flex-direction:column}.list-row{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer;background:transparent;width:100%;text-align:left}.list-row:hover{background:var(--accent-soft)}.next7{margin-top:18px}.next7 h3{font-family:var(--serif);font-weight:500;margin-bottom:10px}.drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1c161247;animation:fade .2s ease}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:41;width:min(460px,100%);background:var(--paper);box-shadow:var(--shadow-lg);overflow:auto;padding:22px;animation:slide .28s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--bg-2);border-radius:12px;padding:10px 12px;outline:none}.field textarea{min-height:72px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.colors{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer}.swatch.on{border-color:var(--ink)}.editor{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg-2)}.editor-bar{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--line)}.editor-bar button{border:0;background:transparent;padding:4px 8px;border-radius:8px;cursor:pointer;font-size:13px}.editor-bar button:hover{background:var(--accent-soft)}.editor [contenteditable]{min-height:110px;padding:10px 12px;outline:none}.event-mini{width:100%;text-align:left;border:1px solid var(--line);background:var(--bg-2);border-radius:12px;padding:10px 12px;margin-bottom:8px;cursor:pointer}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.err{color:#b42318;font-size:13px;margin-top:8px}.login{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(600px 300px at 20% 0%,var(--accent-soft),transparent),var(--bg)}.login-card{width:min(420px,100%);background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:32px 28px;box-shadow:var(--shadow-lg)}.login-card h1{font-family:var(--serif);font-weight:500;font-size:30px;margin:8px 0 4px}.login-card p{color:var(--muted);margin-bottom:22px}.status{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}@media (max-width: 980px){.cards{grid-template-columns:1fr 1fr}.search input{width:110px}.cell{min-height:86px}}@media (max-width: 720px){.topbar{padding:10px 14px;height:auto;flex-wrap:wrap}.wrap{padding:8px 12px 32px}.cards{grid-template-columns:1fr 1fr}.nav-month h2{font-size:20px;min-width:0}.weekdays,.grid{font-size:12px}.cell{min-height:72px;padding:4px}.chip{font-size:10px;padding:3px 5px}.list-row{grid-template-columns:1fr;gap:4px}.row{grid-template-columns:1fr}.ig-card{flex-basis:180px}}
