@keyframes slideInError{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:#f8f9fb;color:#21242c;line-height:1.5}button{cursor:pointer;border:none;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1)}button:disabled{cursor:not-allowed;opacity:.6}a{text-decoration:none;color:inherit}.input-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.input-group label{font-size:.875rem;font-weight:600;color:#21242c}.form-control{width:100%;padding:.75rem 1rem;background:#fff;border:1px solid hsl(220,20%,90%);border-radius:8px;font-size:.9375rem;color:#21242c;transition:all .2s ease}.form-control::placeholder{color:#737b8c;opacity:.7}.form-control:focus{outline:none;border-color:#643cdd;box-shadow:0 0 0 4px #f4f0ff}[class^=btn-],[class*=" btn-"]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:12px;font-weight:700;font-size:.9375rem;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#643cdd,#4b22c3);color:#fff;box-shadow:0 4px 12px #5c2af44d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #5c2af466}.btn-outline{background:#fff;border:1.5px solid hsl(220,20%,90%);color:#21242c}.btn-outline:hover{border-color:#643cdd;color:#643cdd;background:#f4f0ff}.btn-text{background:transparent;color:#737b8c}.btn-text:hover{background:#f4f0ff;color:#643cdd}.btn-icon{width:44px;height:44px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#737b8c;box-shadow:0 2px 8px #0000000d}.btn-icon:hover{color:#643cdd;background:#f4f0ff}.modal-backdrop{position:fixed;inset:0;background:#0f172a66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:99999;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:2rem 1rem 160px;overscroll-behavior:contain}@media(min-width:940px){.modal-backdrop{padding:3rem 2rem;align-items:center}}.modal-wrapper{background:#fff;width:100%;max-width:500px;max-height:95vh;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;animation:slide-up .4s cubic-bezier(.18,.89,.32,1.28);display:flex;flex-direction:column}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}h1{font-size:1.5rem}@media(min-width:940px){h1{font-size:2.5rem}}h2{font-size:1.375rem}@media(min-width:940px){h2{font-size:2rem}}h3{font-size:1.125rem}@media(min-width:940px){h3{font-size:1.5rem}}[class^=btn-],[class*=" btn-"]{padding:.5rem 1rem}@media(min-width:940px){[class^=btn-],[class*=" btn-"]{padding:.625rem 1.25rem}}.modal-header{padding:1rem 1rem .75rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}@media(min-width:940px){.modal-header{padding:1.75rem 2rem 1rem}}.modal-header h3{margin:0;font-size:1.25rem;font-weight:800;color:#21242c;letter-spacing:-.02em;flex:1}@media(min-width:940px){.modal-header h3{font-size:1.5rem}}.modal-header .close-btn{background:transparent;color:#737b8c;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;border:none;padding:0}.modal-header .close-btn:hover{background:#f0f1f5;color:#21242c}.modal-header .close-btn:active{transform:scale(.9)}.modal-body{padding:1rem 1rem 1.5rem;max-height:calc(100vh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch}@media(min-width:940px){.modal-body{padding:0 2rem 2rem;max-height:calc(100vh - 180px)}}.modal-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}@media(min-width:940px){.modal-actions{flex-direction:row;justify-content:flex-end;gap:1rem;margin-top:2rem}}.modal-actions button{width:100%}@media(min-width:940px){.modal-actions button{width:auto}}.tab-bar{display:flex;background:#fff;padding:4px;border-radius:14px;gap:4px;width:100%;margin-bottom:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid hsl(220,20%,94%);box-shadow:0 4px 12px #00000008}@media(min-width:940px){.tab-bar{margin-bottom:2rem}}.tab-bar::-webkit-scrollbar{display:none}.tab-bar button{display:flex;align-items:center;gap:.5rem;white-space:nowrap;flex-shrink:0;padding:.5rem .875rem;border-radius:10px;font-size:.875rem;color:#737b8c;background:transparent;transition:all .25s ease}@media(min-width:940px){.tab-bar button{padding:.75rem 1.25rem}}@media(min-width:940px){.tab-bar button{font-size:.9375rem}}.tab-bar button.active{background:#f8f9fb;color:#643cdd;box-shadow:inset 0 0 0 1px #2a6df41a}.tab-bar button:hover:not(.active){background:#00000008}.user-list,.modal-list{display:flex;flex-direction:column;gap:.75rem}.user-item-card,.list-item{display:flex;align-items:center;gap:1.25rem;padding:.875rem 1rem;background:#fff;border:1px solid hsl(220,20%,94%);border-radius:16px;transition:all .2s ease;width:100%;text-align:left}@media(min-width:940px){.user-item-card,.list-item{padding:1rem 1.25rem}}.user-item-card:hover,.list-item:hover{border-color:#643cdd;background:#f4f0ff;transform:translate(4px)}.search-bar{margin-bottom:2rem}.search-bar .input-wrapper{position:relative;max-width:100%;display:flex;align-items:center}@media(min-width:940px){.search-bar .input-wrapper{max-width:400px}}.search-bar .input-wrapper .search-icon{position:absolute;left:1rem;color:#737b8c;pointer-events:none;z-index:10}.search-bar .input-wrapper input{width:100%;border:1px solid hsl(220,20%,90%);border-radius:8px;font-size:.9375rem;color:#21242c;transition:all .2s ease;padding:.75rem 1rem .75rem 2.75rem;background:#fff}.search-bar .input-wrapper input::placeholder{color:#737b8c;opacity:.7}.search-bar .input-wrapper input:focus{outline:none;border-color:#643cdd;box-shadow:0 0 0 4px #f4f0ff}.card-list{display:flex;flex-direction:column;gap:1.25rem}.item-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0312300f;border:1px solid hsl(220,20%,94%);display:flex;align-items:center;padding:1rem 1.25rem;gap:1rem;text-decoration:none;color:inherit;transition:all .3s cubic-bezier(.4,0,.2,1)}@media(min-width:940px){.item-card{padding:1.5rem 2rem;gap:1.5rem}}.item-card:hover{border-color:#643cdd;box-shadow:0 12px 30px #03123014;transform:translate(8px)}.item-card .item-icon{min-width:44px;height:44px;background:#f4f0ff;color:#643cdd;border-radius:14px;display:flex;align-items:center;justify-content:center}@media(min-width:940px){.item-card .item-icon{min-width:52px;height:52px;border-radius:16px}}.item-card .item-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.item-card .item-info .item-title{font-weight:800;font-size:1.0625rem;color:#21242c;letter-spacing:-.01em}@media(min-width:940px){.item-card .item-info .item-title{font-size:1.25rem}}.item-card .item-info .item-subtitle{font-size:.875rem;color:#737b8c;display:flex;align-items:center;gap:.75rem}@media(min-width:940px){.item-card .item-info .item-subtitle{gap:1.25rem}}.item-card .item-info .item-subtitle .badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background:#f0f1f5;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase}.item-card .item-info .item-subtitle .badge.admin{background:#f4f0ff;color:#643cdd}.item-card .item-arrow{color:#d5d7dd;transition:all .3s ease}.item-card:hover .item-arrow{color:#643cdd;transform:translate(4px)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(80px,1fr));gap:1px;background:#e7e9ef;border:1px solid hsl(220,20%,92%);border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(min-width:940px){.calendar-grid{grid-template-columns:repeat(7,1fr);border-radius:16px}}.calendar-grid .weekday{background:#f8f9fb;padding:.75rem .5rem;text-align:center;font-size:.65rem;font-weight:800;color:#737b8c;text-transform:uppercase}@media(min-width:940px){.calendar-grid .weekday{padding:1rem}}@media(min-width:940px){.calendar-grid .weekday{font-size:.75rem}}.calendar-grid .calendar-day{background:#fff;min-height:70px;padding:.375rem;display:flex;flex-direction:column;gap:.375rem;cursor:pointer}@media(min-width:940px){.calendar-grid .calendar-day{min-height:100px;padding:1rem;gap:.5rem}}.calendar-grid .calendar-day:hover{background:#fdfefe}.calendar-grid .calendar-day.not-current{opacity:.4;background:#f9fafb}.calendar-grid .calendar-day .day-number{font-weight:700;color:#21242c;font-size:.8125rem}@media(min-width:940px){.calendar-grid .calendar-day .day-number{font-size:1rem}}.container-card{background:#fff;padding:1.5rem;border-radius:20px;box-shadow:0 4px 24px #00000008}@media(min-width:940px){.container-card{padding:3rem;border-radius:24px}}
