:root{--bg: #0c0c0d;--panel: #111011;--side: #0f0e0f;--card: #141312;--gold: #b88c46;--gold-l: #e9c77e;--gold-d: #3a2f16;--text: #ece4d3;--text-2: #c8c0ac;--muted: #9c927b;--dim: #7e765f;--line: rgba(184, 140, 70, .24);--line-s: rgba(184, 140, 70, .42);--ok: #7fb08a;--warn: #d8a05a;--danger: #d8756b}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:14px}button{cursor:pointer}.btn{background:var(--gold);color:#12100a;border:none;border-radius:8px;padding:8px 14px;font-weight:600}.btn:hover{background:var(--gold-l)}.btn.sec{background:transparent;color:var(--text-2);border:1px solid var(--line-s);font-weight:400}.btn.sec:hover{background:#b88c461f;color:var(--text)}.btn.danger{background:transparent;color:var(--danger);border:1px solid rgba(216,117,107,.5);font-weight:400}.btn.sm{padding:5px 10px;font-size:12.5px}.btn:disabled{opacity:.45;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:12px;color:var(--muted)}input,select,textarea{background:#191817;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 10px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}textarea{resize:vertical;min-height:62px}input[type=checkbox]{width:auto;accent-color:var(--gold)}.row{display:flex;gap:10px}.row>*{flex:1;min-width:0}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0}.brand{display:flex;align-items:center;gap:11px}.crest{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;background:var(--bg);flex-shrink:0}.brand-t{font-size:14px;font-weight:600;color:var(--gold-l)}.brand-s{font-size:11px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:12px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--gold);color:#1a1206;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.body{display:flex;flex:1;min-height:0}.side{width:210px;flex-shrink:0;background:var(--side);border-right:1px solid var(--line);padding:12px 8px;overflow-y:auto}.side-group{font-size:10px;letter-spacing:1px;color:var(--dim);padding:10px 8px 4px}.nav{display:flex;align-items:center;gap:9px;padding:8px;border-radius:8px;margin:2px 0;cursor:pointer;color:var(--text-2);border-left:2px solid transparent}.nav:hover{background:#b88c4614}.nav.active{background:#b88c4629;border-left-color:var(--gold);color:var(--text)}.nav .dot{width:22px;height:22px;border-radius:50%;font-size:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#26241d;color:#b0a788}.nav.active .dot{background:var(--gold-d);color:var(--gold-l)}.nav .count{margin-left:auto;background:#7a1f1f;color:#f3c7c7;font-size:10px;padding:1px 6px;border-radius:10px}.nav .hint{margin-left:auto;font-size:10px;color:var(--dim)}.main{flex:1;padding:16px 20px;overflow-y:auto;min-width:0}.main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.h1{font-size:18px;font-weight:600;color:var(--gold-l)}.h2{font-size:12px;color:var(--muted);margin-top:2px}.seg{display:flex;border:1px solid var(--line-s);border-radius:8px;overflow:hidden}.seg span{font-size:12.5px;padding:6px 12px;color:var(--text-2);cursor:pointer}.seg span.on{background:var(--gold);color:#1a1206;font-weight:600}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agenda-row{display:flex;gap:12px;margin-bottom:10px}.agenda-time{width:92px;flex-shrink:0;text-align:right;font-size:12px;color:var(--gold);padding-top:11px}.ev{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:10px 12px;cursor:pointer}.ev:hover{border-color:var(--line-s);border-left-color:var(--gold-l)}.ev.cancelled{opacity:.5}.ev.cancelled .ev-title{text-decoration:line-through}.ev.tentative{border-left-style:dashed}.ev-title{font-size:13.5px;font-weight:600;color:#f1e9d6;line-height:1.35}.ev-place{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-2);margin-top:4px}.ev-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px;align-items:center}.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.tag.gold{background:#b88c462e;color:var(--gold-l);padding:2px 8px;border-radius:10px;border:1px solid var(--line-s)}.tag.vks{background:#7fb08a24;color:var(--ok);padding:2px 8px;border-radius:10px;border:1px solid rgba(127,176,138,.4)}.tag.warn{color:var(--warn)}.empty{color:var(--dim);font-size:13px;padding:24px 0;text-align:center}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.week-day{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px;min-height:130px}.week-day.today{border-color:var(--gold)}.week-h{font-size:11px;color:var(--muted);margin-bottom:6px}.week-h b{color:var(--gold-l);font-weight:600}.mini{font-size:11px;color:var(--text-2);background:#191817;border-left:2px solid var(--gold);border-radius:0 5px 5px 0;padding:4px 5px;margin-bottom:4px;cursor:pointer;line-height:1.3}.mini:hover{background:#1f1d1b}.mini b{color:var(--gold);font-weight:600}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-cell{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px;min-height:92px}.month-cell.out{opacity:.35}.month-cell.today{border-color:var(--gold)}.month-n{font-size:11px;color:var(--muted);margin-bottom:4px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px}.card-h{font-size:13px;color:var(--gold-l);font-weight:600;margin-bottom:8px}.kv{display:flex;gap:8px;font-size:12.5px;margin-bottom:4px}.kv .k{color:var(--muted);width:110px;flex-shrink:0}.kv .v{color:var(--text);flex:1;min-width:0;overflow-wrap:anywhere}a{overflow-wrap:anywhere}.muted{color:var(--muted)}.small{font-size:12px}.banner{border-radius:10px;padding:10px 12px;margin-bottom:10px;font-size:12.5px;line-height:1.45;background:#d8a05a1a;border:1px solid rgba(216,160,90,.45);color:#f0dcbc}.banner.danger{background:#d8756b1a;border-color:#d8756b73;color:#f3d2ce}.banner .banner-actions{display:flex;gap:8px;margin-top:9px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:50}.modal{background:var(--panel);border:1px solid var(--line-s);border-radius:14px;width:100%;max-width:560px;padding:18px 20px}.modal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-t{font-size:16px;font-weight:600;color:var(--gold-l)}.modal-actions{display:flex;gap:8px;margin-top:16px}.x{background:none;border:none;color:var(--muted);font-size:20px;line-height:1}.x:hover{color:var(--text)}.login-wrap{display:flex;align-items:center;justify-content:center;height:100vh;padding:20px}.login{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--line-s);border-radius:14px;padding:26px 24px}.login .crest{width:56px;height:56px;margin:0 auto 14px}.login h1{font-size:18px;color:var(--gold-l);text-align:center;margin-bottom:4px;font-weight:600}.login .sub{font-size:12px;color:var(--muted);text-align:center;margin-bottom:20px}.err{color:var(--danger);font-size:12.5px;margin-bottom:10px}.hints{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:11.5px;color:var(--dim);line-height:1.6}.notif-wrap{position:relative}.bell{background:none;border:none;color:var(--gold);font-size:18px;position:relative}.bell .badge{position:absolute;top:-4px;right:-6px;background:#7a1f1f;color:#f3c7c7;font-size:9px;min-width:15px;height:15px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px}.notif-panel{position:absolute;right:0;top:32px;width:340px;max-height:420px;overflow-y:auto;background:var(--panel);border:1px solid var(--line-s);border-radius:12px;padding:8px;z-index:60}.notif{font-size:12px;line-height:1.45;padding:8px 9px;border-radius:8px;background:var(--card);margin-bottom:6px;color:var(--text-2)}.notif .when{font-size:10.5px;color:var(--dim);margin-top:3px}.notif.future{opacity:.6}.task{display:flex;gap:11px;align-items:flex-start}.task-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.pill{font-size:11px;padding:2px 8px;border-radius:10px;white-space:nowrap;border:1px solid;background:transparent}@media (max-width: 760px){.side{width:62px;padding:8px 5px}.side .lbl,.side-group,.nav .hint{display:none}.nav{justify-content:center;padding:9px 4px}.main{padding:12px}.agenda-time{width:62px;font-size:11px}.week,.month{grid-template-columns:repeat(2,minmax(0,1fr))}.row{flex-direction:column;gap:0}.topbar{padding:9px 11px}.topbar-right{gap:8px}.modal{padding:15px 14px}.overlay{padding:16px 10px 40px}.kv .k{width:88px}.h1{font-size:16px}.btn.sm{padding:7px 11px}}@media (max-width: 420px){.topbar-right>div:last-of-type{display:none}.toolbar{gap:6px}.seg span{padding:6px 9px;font-size:12px}}
