@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=DM+Serif+Display&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f0f;--bg-2: #1a1a1a;--bg-3: #222222;--bg-4: #2a2a2a;--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.14);--ink: #f0f0f0;--ink-soft: #999;--ink-mute: #555;--accent: #f0f0f0;--radius: 8px}html,body,#root{height:100%}body{font-family:DM Sans,sans-serif;font-size:14px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 1.5rem;height:56px;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:10px;flex-shrink:0}.app-title{font-family:"DM Serif Display",serif;font-size:17px;letter-spacing:-.02em;color:var(--ink)}.header-count{font-size:11px;color:var(--ink-mute);background:var(--bg-3);border:1px solid var(--border);border-radius:20px;padding:2px 8px}.header-center{display:flex;align-items:center;gap:6px;flex:1;justify-content:center;flex-wrap:wrap}.room-pill{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;border:1px solid var(--border-strong);background:transparent;color:var(--ink-soft);font-family:DM Sans,sans-serif;font-size:12px;cursor:pointer;transition:all .15s}.room-pill:hover{background:var(--bg-3);color:var(--ink)}.room-pill.active{background:var(--bg-3);color:var(--ink);border-color:var(--border-strong)}.room-pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-today{background:none;border:1px solid var(--border-strong);border-radius:var(--radius);padding:6px 12px;font-family:DM Sans,sans-serif;font-size:12px;color:var(--ink-soft);cursor:pointer;transition:all .1s}.btn-today:hover{background:var(--bg-3);color:var(--ink)}.nav-group{display:flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.nav-btn{background:none;border:none;border-right:1px solid var(--border-strong);width:32px;height:32px;cursor:pointer;font-size:14px;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;transition:all .1s}.nav-btn:last-child{border-right:none}.nav-btn:hover{background:var(--bg-3);color:var(--ink)}.btn-export{background:none;border:1px solid var(--border-strong);border-radius:var(--radius);width:32px;height:32px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .1s}.btn-export:hover{background:var(--bg-3)}.btn-add{display:flex;align-items:center;gap:6px;background:#fff;color:#0f0f0f;border:none;border-radius:var(--radius);padding:7px 14px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s}.btn-add:hover{opacity:.85}.cal-main{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:1.25rem 1.5rem;gap:1rem}.cal-month-label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:.875rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-2)}.cal-month-label h2{font-family:"DM Serif Display",serif;font-size:20px;font-weight:400;letter-spacing:-.03em;color:var(--ink)}.cal-month-label-left{display:flex;align-items:center;gap:12px}.cal-month-label-right{display:flex;align-items:center;gap:8px}.cal-month-label h2{font-family:"DM Serif Display",serif;font-size:22px;font-weight:400;letter-spacing:-.03em;color:var(--ink)}.svatek-badge{font-size:11px;color:var(--ink-mute);background:var(--bg-3);border:1px solid var(--border);border-radius:20px;padding:2px 10px}.cal-grid-wrap{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;border:none;border-top:1px solid var(--border);border-radius:0;background:var(--bg-2)}.cal-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink-mute);background:#0f0f0fb3;z-index:10;border-radius:0}.cal-head{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border);background:var(--bg-2)}.cal-head-cell{text-align:left;padding:10px 0 10px 12px;font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--ink-mute);text-transform:uppercase}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1;overflow-y:auto;align-content:start}.cal-cell{min-height:130px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px;cursor:pointer;transition:background .1s}.cal-cell:nth-child(7n){border-right:none}.cal-cell:hover{background:var(--bg-3)}.cal-cell.weekend{background:#ffffff03}.cal-cell.other-month{cursor:default}.cal-cell.other-month:hover{background:transparent}.cal-cell.today{background:#1a1a00}.day-num{font-size:12px;color:var(--ink-soft);margin-bottom:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;line-height:1}.other-month .day-num{color:var(--ink-mute);opacity:.4}.today-num{background:var(--ink);color:var(--bg);font-weight:600}.day-events{display:flex;flex-direction:column;gap:3px}.event{border-radius:6px;padding:6px 8px;background:var(--bg-3);border:1px solid var(--border-strong);cursor:pointer;transition:background .1s,opacity .1s}.event:hover{background:var(--bg-4)}.event[draggable]:active{opacity:.5;cursor:grabbing}.event-top{display:flex;align-items:center;gap:6px;margin-bottom:3px}.event-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.event-name{font-size:11px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-time{font-size:10px;color:var(--ink-mute);padding-left:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-2);border:1px solid var(--border-strong);border-radius:14px;width:400px;max-width:calc(100vw - 2rem);box-shadow:0 24px 80px #00000080;animation:slideUp .2s cubic-bezier(.34,1.4,.64,1)}@keyframes slideUp{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 0}.modal-header h3{font-family:"DM Serif Display",serif;font-size:18px;font-weight:400;letter-spacing:-.02em;color:var(--ink)}.modal-close{background:none;border:none;font-size:14px;color:var(--ink-mute);cursor:pointer;padding:4px}.modal-close:hover{color:var(--ink)}.modal-body{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:5px}.field-row{flex-direction:row;gap:12px}.field-row>div{flex:1;display:flex;flex-direction:column;gap:5px}.field label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute)}.field input,.field select{width:100%;height:38px;border:1px solid var(--border-strong);border-radius:var(--radius);padding:0 10px;font-family:DM Sans,sans-serif;font-size:14px;color:var(--ink);background:var(--bg-3);outline:none;transition:border-color .1s;-moz-appearance:none;appearance:none;-webkit-appearance:none}.field input:focus,.field select:focus{border-color:#ffffff4d}.form-error{font-size:12px;color:#f87171;background:#f871711a;border-radius:var(--radius);padding:8px 10px}.modal-footer{display:flex;align-items:center;gap:8px;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border)}.btn-cancel{background:none;border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px 16px;font-family:DM Sans,sans-serif;font-size:13px;color:var(--ink-soft);cursor:pointer;transition:all .1s}.btn-cancel:hover{background:var(--bg-3);color:var(--ink)}.btn-save{background:#fff;color:#0f0f0f;border:none;border-radius:var(--radius);padding:8px 20px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s}.btn-save:hover:not(:disabled){opacity:.85}.btn-save:disabled{opacity:.3;cursor:not-allowed}.btn-delete{background:none;border:none;color:#f87171;font-family:DM Sans,sans-serif;font-size:13px;cursor:pointer;padding:8px 0;opacity:.7}.btn-delete:hover{opacity:1}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}@media (max-width: 768px){.app-header{height:auto;padding:10px 1rem;gap:10px}.header-center{order:3;width:100%;justify-content:flex-start}.room-pill{font-size:11px;padding:4px 10px}.cal-main{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0;gap:0}.cal-cell{min-height:70px;padding:4px}.cal-head-cell{font-size:9px;padding-left:4px}.day-num{font-size:10px;width:18px;height:18px}.event{padding:3px 5px}.event-name{font-size:10px}.event-time{font-size:9px}.header-count,.btn-export{display:none}}
