*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;min-height:100vh;overflow-x:hidden;background:#0b1f2a}.header{position:fixed;top:0;left:0;width:100%;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:linear-gradient(160deg,#0f172a,#1e3a5f 45%,#3b6e9e);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 6px 20px #00000059;z-index:50}.header-left{display:flex;align-items:center}.logo{display:flex;align-items:center;gap:12px;font-size:1.35rem;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#fff}.logo img{width:100px;height:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35))}.header-center{display:flex;align-items:center;gap:14px;margin-right:30px}.btn-header{border:none;padding:10px 16px;border-radius:14px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .25s ease}.btn-add-task{background:linear-gradient(135deg,#4f83b6,#f5a623);color:#fff;box-shadow:0 8px 20px #f5a62359}.btn-add-task:hover{transform:translateY(-2px);box-shadow:0 12px 28px #f5a6238c}.btn-add-person{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 8px 20px #2563eb73}.btn-add-person:hover{transform:translateY(-2px);box-shadow:0 12px 28px #2563eb99}.header-right{display:flex;align-items:center;gap:12px}.nav-links{display:flex;gap:16px}.nav-links a{color:#e6faff;text-decoration:none;font-weight:500;font-size:1rem;padding:6px 10px;border-radius:8px;transition:all .25s ease}.nav-links a:hover{background:#ffffff2e}.logout-btn{background:#ff6b6b;color:#fff;border:none;padding:9px 16px;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #ff6b6b73;transition:all .25s ease}.logout-btn:hover{background:#e63939;box-shadow:0 6px 20px #e639398c}.header-mobile-actions{display:none;gap:10px}.btn-mobile{padding:10px;border-radius:12px;font-size:1.1rem;cursor:pointer}.page-content{padding-top:90px}@media(max-width:900px){.header-center{display:none}.header-mobile-actions{display:flex;align-items:center;padding-right:30px}.logo img{width:42px}.logo{font-size:1.15rem}}.login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:24px;font-family:Segoe UI,system-ui,sans-serif;color:#e6faff;background:linear-gradient(160deg,#0f172a,#1e3a5f 45%,#3b6e9e)}.login-card{width:100%;max-width:400px;background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:36px 40px;border-radius:22px;box-shadow:0 25px 60px #0009}.login-card h1{text-align:center;margin-bottom:28px;font-size:1.8rem;font-weight:600;letter-spacing:.6px;color:#e6faff}.login-form{display:flex;flex-direction:column;gap:16px}.login-form input{padding:12px 0;border-radius:14px;border:none;outline:none;font-size:.95rem;background:#f8fafc;color:#0b1f2a;box-shadow:inset 0 2px 6px #0000002e}.login-form input::placeholder{color:#64748b}.login-form input:focus{outline:2px solid #f5a623;background:#fff}.login-form button{margin-top:12px;background:linear-gradient(135deg,#4f83b6,#f5a623);color:#fff;border:none;padding:13px;border-radius:14px;font-size:1rem;cursor:pointer;font-weight:600;box-shadow:0 10px 24px #00c2e873;transition:all .25s ease}.login-form button:hover{transform:translateY(-2px);box-shadow:0 14px 32px #00c2e88c;background:linear-gradient(135deg,#0891b2,#059669)}.login-error{margin-top:8px;color:#fca5a5;font-size:.9rem;text-align:center;font-weight:500}@media(max-width:480px){.login-card{padding:28px 24px;border-radius:18px}.login-card h1{font-size:1.5rem}}.planning-page{min-height:100vh;padding:24px;margin-top:70px;font-family:Segoe UI,system-ui,sans-serif;background:linear-gradient(160deg,#0f172a,#1e3a5f 45%,#3b6e9e);color:#e6faff}.planning-scroll{overflow-x:auto;overflow-y:hidden;width:100%;position:relative;border-radius:16px}.planning-toolbar{display:flex;justify-content:space-between;align-items:center;padding:15px;gap:15px;margin-bottom:20px}.nav-buttons{display:flex;gap:8px}.planning-toolbar button{background:linear-gradient(135deg,#4f83b6,#f5a623);color:#fff;border:none;padding:10px 18px;border-radius:12px;cursor:pointer;font-size:.95rem;font-weight:600;box-shadow:0 5px 15px #0000004d;transition:all .25s ease}.planning-toolbar button:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 6px 18px #f5a62366}.view-switcher{background:#ffffff1a;padding:4px;border-radius:12px;display:flex}.view-switcher button{background:transparent;box-shadow:none;padding:8px 15px}.view-switcher button.active{background:#f5a623;box-shadow:0 4px 12px #f5a62366}.view-switcher button:hover{transform:none}.planning-grid{display:grid;width:max-content;background:#0b1f2a;position:relative;border:1px solid rgba(255,255,255,.1)}.planning-hour{background:#0b1f2a!important;text-align:center;font-size:.85rem;color:#f5a623;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.05);position:sticky!important;left:0;z-index:100}.sticky-top-left{position:sticky!important;left:0;top:0;z-index:120;background:#0b1f2a!important;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.planning-day,.planning-person{position:sticky;top:0;z-index:110;background:#0b1f2a;text-align:center;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.planning-person{top:48px;font-size:.85rem;font-weight:600}.planning-column-droppable{position:relative;box-sizing:border-box}.task{background:linear-gradient(135deg,#4f83b6,#f5a623);color:#fff;border-radius:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000059;border:1px solid rgba(255,255,255,.2)}.task:hover{filter:brightness(1.1);box-shadow:0 6px 18px #f5a62366}.task-text{display:block;width:100%;font-size:.75rem;line-height:1.2;text-align:center;white-space:normal;word-break:break-word}.month-view-container{width:100%;min-width:800px}.month-title{text-align:center;color:#f5a623;margin-bottom:15px}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);background:#ffffff1a;gap:1px;border:1px solid rgba(255,255,255,.1)}.month-day-header{background:#1e3a5f;padding:10px;text-align:center;font-weight:700;color:#f5a623}.month-day-cell{background:#0b1f2a;min-height:120px;padding:8px;transition:background .2s;cursor:pointer}.month-day-cell:hover{background-color:#00c2e81a}.month-day-cell.other-month{opacity:.3}.month-task-pill{background:linear-gradient(135deg,#4f83b6,#f5a623);color:#fff;font-size:.7rem;padding:2px 6px;border-radius:4px;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:9999}.modal-content{width:420px;max-width:95%;background:#1a2a3a;padding:25px;border-radius:20px;box-shadow:0 20px 50px #00000080}.modal-content input,.modal-content select,.modal-content textarea{width:100%;padding:12px;border-radius:10px;border:none;margin-top:5px;margin-bottom:15px;background:#f8fafc}@media(max-width:900px){.planning-toolbar{flex-direction:column;align-items:stretch}.nav-buttons{justify-content:space-between}.nav-buttons button,.view-switcher button{flex:1;font-size:.85rem;padding:10px 5px}.mobile-person-selector{display:flex!important;justify-content:center;align-items:center;gap:20px;padding:12px;background:#ffffff0d;border-radius:12px;margin-bottom:15px}.month-view-container{min-width:100%}.month-day-cell{min-height:80px}}.planning-scroll::-webkit-scrollbar{height:20px}.planning-scroll::-webkit-scrollbar-track{background:#0b1f2a;border-radius:10px}.planning-scroll::-webkit-scrollbar-thumb{background:#4f83b6;border-radius:10px;border:3px solid #0b1f2a}.planning-scroll::-webkit-scrollbar-thumb:hover{background:#f5a623}.planning-scroll{scrollbar-width:auto!important;scrollbar-color:#4f83b6 #112b39!important;overflow-x:auto!important}.person-filters{padding:15px 24px!important;background:transparent!important;display:flex!important;gap:10px!important;flex-wrap:wrap!important;align-items:center!important;margin-bottom:10px}.person-filters span{color:#e6faff;font-size:.9rem;font-weight:700;margin-right:8px;text-transform:uppercase}.person-filters label{cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.9rem;font-weight:600;transition:all .2s ease;-webkit-user-select:none;user-select:none}.person-filters label:has(input:checked){background:linear-gradient(135deg,#4f83b6,#f5a623)!important;color:#fff!important;box-shadow:0 4px 12px #f5a6234d}.person-filters input[type=checkbox]{display:none}.person-filters button{background:#ffffff0d;color:#e6faff99;border:1px solid rgba(255,255,255,.1);padding:6px 12px;border-radius:10px;font-size:.75rem;cursor:pointer;margin-left:5px}.person-filters button:hover{background:#fff3;color:#fff}.person-filters label:hover:not(:has(input:checked)){background:#fff3;transform:translateY(-1px)}@media(max-width:900px){.person-filters{display:none!important}}.planning-day{border-right:3px solid #f5a623!important;border-bottom:2px solid rgba(255,255,255,.2)!important}.planning-grid>div[style*=grid-column]{border-right:1px solid rgba(255,255,255,.1)}.day-boundary{border-right:3px solid #f5a623!important}.planning-day{border-bottom:2px solid rgba(255,255,255,.2)!important;display:flex;flex-direction:column}.filter-group{display:flex;gap:10px}.today-highlight{border-top:4px solid #f5a623!important;background-color:#f5a6231a!important}.planning-scroll{overflow-x:auto;overflow-y:auto;scroll-behavior:smooth}.person-checkboxes{display:flex;flex-direction:column;gap:10px;margin:18px 0}.person-checkboxes label{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;background:#ffffff14;cursor:pointer;transition:background .2s ease,transform .15s ease}.person-checkboxes label:hover{background:#00c2e82e;transform:translateY(-1px)}.person-checkboxes input[type=checkbox]{width:18px;height:18px;accent-color:#f5a623;cursor:pointer;flex-shrink:0}.person-checkboxes span{color:#e6faff;font-size:.95rem;font-weight:500}.checkbox-label,.modal-content p,.form-group label{color:#fff}.modal-textarea{width:100%;margin-top:8px;padding:10px;border-radius:8px;background:#0b1f2a;color:#fff;border:1px solid rgba(255,255,255,.2);resize:none;font-family:inherit}.modal-textarea:focus{border-color:#f5a623;outline:none}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;justify-content:center;align-items:center;padding:10px;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{width:450px;max-width:100%;max-height:90vh;background:#1a2a3a;padding:20px;border-radius:20px;color:#fff;display:flex;flex-direction:column;overflow-y:auto;position:relative}.modal-content form{display:flex;flex-direction:column}.modal-content h2{margin-top:0;margin-bottom:20px;font-size:1.5rem;color:#f5a623;text-align:center}.form-group{margin-bottom:15px;display:flex;flex-direction:column}.form-group label{font-size:.9rem;color:#f5a623;margin-bottom:5px;font-weight:600}.modal-content input,.modal-content select,.modal-content textarea{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#f8fafc;color:#0b1f2a;font-size:1rem;box-sizing:border-box}.modal-content textarea{resize:vertical;min-height:80px}.person-checkboxes{background:#ffffff0d;padding:15px;border-radius:12px;margin-bottom:15px;grid-template-columns:1fr 1fr;gap:10px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem}.checkbox-label input{width:auto;margin:0}.modal-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.modal-actions button{flex:1;padding:12px;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s;font-size:.95rem;min-width:100px}.modal-actions .cancel{background:#475569;color:#fff}.modal-actions .submit{background:linear-gradient(135deg,#4f83b6,#f5a623);color:#fff}.modal-actions .danger{background:#ef4444;color:#fff}.modal-actions button:hover{filter:brightness(1.1);transform:translateY(-1px)}@media(max-width:480px){.modal-content{padding:15px;max-height:95vh}.form-group{margin-bottom:10px}.modal-actions{flex-direction:column;gap:8px}.modal-actions button{width:100%;padding:15px}}
