:root{--border: #d9d9d9;--text: #1a1a1a;--muted: #666;--accent: #1f4fd8;--bg: #fafafa;--sidebar-bg: #14171f;--sidebar-text: #cbd0dc;--sidebar-text-active: #ffffff}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}.centered-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:2rem;width:320px;display:flex;flex-direction:column;gap:.5rem}.card h1{margin:0;font-size:1.25rem}.subtitle{color:var(--muted);margin-top:0}.muted{color:var(--muted)}label{font-size:.85rem;color:var(--muted);margin-top:.5rem}input,select,textarea{padding:.5rem;border:1px solid var(--border);border-radius:4px;font-size:1rem}button{padding:.5rem 1rem;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:4px;cursor:pointer;font-size:.95rem}button:disabled{opacity:.5;cursor:not-allowed}.error{color:#c0271f;font-size:.9rem}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);padding:1rem 0;display:flex;flex-direction:column}.sidebar-brand{color:#fff;font-weight:600;padding:0 1.25rem 1rem}.nav-section{padding:.5rem 0 1rem}.nav-section-title{text-transform:uppercase;font-size:.7rem;letter-spacing:.05em;color:#7d8296;padding:0 1.25rem .35rem}.nav-link{display:block;padding:.45rem 1.25rem;color:var(--sidebar-text);text-decoration:none;font-size:.92rem}.nav-link:hover{background:#ffffff0f}.nav-link-active{color:var(--sidebar-text-active);background:#1f4fd859;border-right:3px solid var(--accent)}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:#fff}.user-menu{display:flex;align-items:center;gap:.75rem;margin-left:auto}.content{padding:1.5rem;max-width:1000px;width:100%;margin:0 auto}.table{width:100%;border-collapse:collapse;margin-top:.5rem}.table th,.table td{text-align:left;padding:.5rem;border-bottom:1px solid var(--border)}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:#eee;font-size:.8rem}.badge-active{background:#dff5e1;color:#1a7a2e}.actions{display:flex;gap:.5rem}.row{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.plain-list{list-style:none;padding:0;margin:.5rem 0}.plain-list li{padding:.35rem 0;border-bottom:1px solid var(--border)}.page-header{display:flex;align-items:center;justify-content:space-between}.view-toggle{display:flex;gap:.25rem}.view-toggle button{background:#fff;color:var(--text);border:1px solid var(--border)}.view-toggle .toggle-active{background:var(--accent);color:#fff;border-color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center}.modal{width:360px}.assignee-list{display:flex;flex-direction:column;gap:.25rem;max-height:140px;overflow-y:auto;border:1px solid var(--border);border-radius:4px;padding:.4rem .6rem}.assignee-option{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text);margin:0}.assignee-option input{width:auto;padding:0}.danger-button{background:#fff;color:#c0271f;border-color:#c0271f}.progress-cell{display:flex;align-items:center;gap:.5rem}.progress-bar{width:80px;height:6px;border-radius:999px;background:#e4e6ec;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent)}.progress-label{font-size:.8rem;color:var(--muted);white-space:nowrap}.hamburger-button{display:none;background:none;border:none;color:var(--text);font-size:1.3rem;padding:.25rem .5rem}.sidebar-backdrop{display:none}@media (max-width: 768px){.hamburger-button{display:block}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:30;transform:translate(-100%);transition:transform .2s ease}.sidebar-open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:25}.content{padding:1rem}.kanban-board{flex-direction:column}.kanban-column{width:100%}}.stat-row{display:flex;gap:1rem;margin:1rem 0}.stat-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:1rem 1.5rem}.stat-value{font-size:1.75rem;font-weight:700}.stat-label{color:var(--muted);font-size:.85rem}.search-box{position:relative;flex:1;max-width:420px}.search-box input{width:100%}.search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000014;max-height:320px;overflow-y:auto;z-index:20}.search-result{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;background:none;color:var(--text);border:none;border-bottom:1px solid var(--border);border-radius:0;text-align:left;padding:.5rem .75rem}.search-result:hover{background:#f2f4fa}.search-tag{font-size:.7rem;text-transform:uppercase;color:var(--muted)}.search-title{font-size:.95rem}.search-subtitle{font-size:.8rem;color:var(--muted)}.notification-box{position:relative}.icon-button{position:relative;background:none;border:none;color:var(--text);font-size:1.1rem;padding:.25rem .5rem}.notification-badge{position:absolute;top:-2px;right:-2px;background:#c0271f;color:#fff;border-radius:999px;font-size:.65rem;padding:0 .35rem}.notification-dropdown{position:absolute;top:calc(100% + 4px);right:0;width:280px;background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000014;max-height:320px;overflow-y:auto;z-index:20}.notification-item{display:block;width:100%;background:none;color:var(--text);border:none;border-bottom:1px solid var(--border);border-radius:0;text-align:left;font-size:.85rem;padding:.5rem .75rem}.notification-item-unread{font-weight:600;background:#f2f4fa}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:1rem}.calendar-weekday{font-size:.75rem;color:var(--muted);text-align:center;padding-bottom:.25rem}.calendar-cell{aspect-ratio:1 / .8;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.35rem;font-size:.75rem}.calendar-cell-empty{background:transparent;border:none}.calendar-daynum{font-weight:600}.calendar-badge{padding:.05rem .35rem;border-radius:4px;font-size:.7rem}.loc-office{background:#dbe7ff;color:#1f4fd8}.loc-home{background:#dff5e1;color:#1a7a2e}.loc-vacation{background:#fde8d0;color:#b8590a}.calendar-others{color:var(--muted);font-size:.65rem}.legend{margin:.5rem 0 1rem}.team-cal-scroll{overflow-x:auto}.team-cal-table{min-width:640px}.team-cal-table th,.team-cal-table td{text-align:center;white-space:nowrap}.team-cal-table th:first-child,.team-cal-table td:first-child{text-align:left}.team-cal-cell{min-width:80px}.kanban-board{display:flex;gap:1rem;overflow-x:auto;margin-top:1rem;padding-bottom:1rem}.kanban-column{background:#f0f1f4;border-radius:8px;padding:.75rem;width:260px;flex-shrink:0}.kanban-column-header{font-weight:600;font-size:.9rem;margin-bottom:.5rem;display:flex;justify-content:space-between}.kanban-count{color:var(--muted);font-weight:400}.kanban-card{background:#fff;border:1px solid var(--border);border-radius:6px;padding:.6rem;margin-bottom:.5rem}.kanban-card-subject{font-size:.9rem;margin-bottom:.25rem}.kanban-card-project{display:block;font-size:.8rem;color:var(--accent);text-decoration:none;margin-bottom:.25rem}.kanban-card-date{font-size:.75rem;color:var(--muted)}
