:root{--bg:#f4f7fb;--bg-soft:#eef3fa;--panel:#fff;--panel-2:#f9fbff;--ink:#0f172a;--muted:#5b6780;--line:#dde5f2;--line-strong:#cad7ea;--brand:#0b7a75;--brand-2:#0ea5a4;--danger:#d62f5f;--shadow-soft:0 12px 30px #162c5614;--shadow-strong:0 16px 40px #0f27501f}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:radial-gradient(1200px 420px at 85% -15%,#d7f5f2 0%,#0000 45%),radial-gradient(1000px 380px at -10% 100%,#dbe9ff 0%,#0000 45%),linear-gradient(#f7f9fc 0%,#f2f6fb 100%);font-family:Sora,Trebuchet MS,Segoe UI,sans-serif}.hidden{display:none!important}.shell{grid-template-columns:260px minmax(0,1fr);gap:20px;min-height:100vh;padding:18px;display:grid}.auth-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.sidebar{color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-soft);background:linear-gradient(#fff 0%,#f5f9ff 100%);border-radius:22px;align-self:start;max-height:calc(100vh - 36px);padding:18px;position:sticky;top:18px;overflow:auto}.brand h1{letter-spacing:-.6px;color:#0e7490;margin:0;font-size:30px;font-weight:800}.brand p{color:var(--muted);margin:8px 0 0;font-size:13px}.menu{gap:8px;margin-top:18px;display:grid}.menu-item{border:1px solid var(--line);color:#123047;text-align:left;cursor:pointer;background:#fff;border-radius:12px;padding:12px 14px;font-weight:600;transition:all .2s}.menu-item:hover{border-color:#b5c9e7;transform:translateY(-1px);box-shadow:0 8px 20px #18355e14}.menu-item.active{color:#0f4265;background:linear-gradient(135deg,#d5f4f1 0%,#dbeafe 100%);border-color:#0000}.content{padding:8px 6px;display:block}.content>*+*{margin-top:14px}.topbar{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;min-height:0;box-shadow:var(--shadow-soft);background:#ffffffc7;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.topbar h2{letter-spacing:-.2px;margin:0;font-size:16px}.topbar p{color:var(--muted);margin:1px 0 0;font-size:11px}.topbar>div:first-child{gap:2px;display:grid}.actions{gap:8px;display:flex}#task-alerts-badge{margin-left:6px}#task-alerts-panel{margin-bottom:12px}.task-alert-item{border:1px solid var(--line);border-radius:10px;margin-bottom:8px;padding:8px 10px}.task-alert-item strong{margin-bottom:2px;display:block}.panel{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:linear-gradient(#fff 0%,#fbfdff 100%);border-radius:18px;padding:16px;animation:.28s rise}.login-standalone{width:100%;max-width:560px;margin:8vh auto 0}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.card{border:1px solid var(--line);background:linear-gradient(160deg,#dbeafe73 0%,#fffffff2 60%),#fff;border-radius:16px;padding:16px}.card h4{color:var(--muted);margin:0;font-size:13px;font-weight:600}.card p{color:var(--brand);letter-spacing:-.7px;margin:8px 0 0;font-size:30px;font-weight:800}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.panel-inner{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px}.panel-inner h3{margin:0 0 10px;font-size:15px}.shift-bar-row{margin-bottom:10px}.shift-bar-meta{color:#1d3354;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:13px;display:flex}.shift-bar-track{background:#e8eff9;border-radius:999px;width:100%;height:10px;overflow:hidden}.shift-bar-fill{background:linear-gradient(135deg,#0ea5a4 0%,#0284c7 100%);border-radius:999px;height:100%}.active-staff-item{border:1px solid var(--line);background:#fbfdff;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:10px;display:flex}.active-staff-item h4{margin:0;font-size:14px}.active-staff-item p{color:var(--muted);margin:4px 0 0;font-size:12px}.active-staff-item.is-active{background:#edfffb;border-color:#7cd6c9}.badge{color:#1f3557;background:#edf2fb;border-radius:999px;padding:5px 9px;font-size:12px}.badge-success{color:#166534;background:#d9fbe8}.calendar-event-item{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;padding:12px;display:flex}.calendar-event-item h4{align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.calendar-event-item p{margin:6px 0 0}.calendar-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.calendar-item-actions{flex-wrap:wrap;justify-content:flex-end;min-width:210px}.calendar-form-actions{grid-column:1/-1;justify-content:flex-start}.schedule-calendar{margin-bottom:14px}.schedule-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.schedule-month-head{color:#3c4f70;text-align:center;padding:6px 4px;font-size:12px;font-weight:700}.schedule-month-cell{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:92px;padding:8px}.schedule-month-cell.is-outside{opacity:.55;background:#f7f9fc}.schedule-month-day{margin-bottom:6px;font-weight:700}.schedule-month-marks{flex-wrap:wrap;gap:6px;display:flex}.schedule-badge-shift{color:#1e3a8a;background:#dbeafe}.schedule-badge-vacation{color:#991b1b;background:#fee2e2}.schedule-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.schedule-week-day{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px}.schedule-week-day h4{color:#2f466d;margin:0 0 8px;font-size:13px}.schedule-week-items{gap:6px;display:grid}.schedule-item{border-radius:10px;gap:4px;padding:7px 8px;display:grid}.schedule-item strong{font-size:12px}.schedule-item span{color:#3e4c63;font-size:12px}.schedule-item-shift{background:#e0f2fe;border:1px solid #bae6fd}.schedule-item-vacation{background:#fee2e2;border:1px solid #fecaca}.schedule-day-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px}.schedule-day-vacations{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.schedule-day-grid{gap:6px;max-height:520px;display:grid;overflow:auto}.schedule-day-hour{border-top:1px dashed var(--line);grid-template-columns:64px minmax(0,1fr);align-items:start;gap:8px;padding-top:6px;display:grid}.schedule-day-time{color:#4f637f;font-size:12px;font-weight:600}.schedule-day-items{gap:6px;display:grid}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;padding:10px 14px;font-weight:600;transition:all .2s}.btn:hover{transform:translateY(-1px)}.btn.is-loading{opacity:.6;pointer-events:none}.btn-primary{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);color:#fff;box-shadow:0 10px 20px #0b7a753d}.btn-light{color:#1d3354;background:#f1f6ff;border-color:#d6e2f5}.btn-danger{color:#fff;background:linear-gradient(135deg,#d62f5f 0%,#f43f5e 100%);box-shadow:0 10px 20px #d62f5f3d}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.quick-form{border:1px dashed var(--line-strong);background:#f8fbff;border-radius:14px;margin-bottom:14px;padding:12px}label{color:#20314d;gap:6px;font-size:13px;font-weight:600;display:grid}input,select,textarea{border:1px solid var(--line);font:inherit;color:var(--ink);background:#fff;border-radius:12px;padding:11px 12px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#8fb5e7;outline:none;box-shadow:0 0 0 3px #8fb5e738}.row,.row-between,.filters{align-items:center;gap:10px;display:flex}.row-between{justify-content:space-between;margin-bottom:10px}.filters{background:var(--panel-2);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;margin-bottom:12px;padding:10px}table{border-collapse:collapse;border-radius:14px;width:100%;overflow:hidden}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;background:#fff;padding:11px 10px}th{color:#364764;text-transform:uppercase;letter-spacing:.4px;background:#f5f8ff;font-size:12px}tr:hover td{background:#f9fbff}.skeleton-wrap,.table-skeleton{gap:10px;display:grid}.skeleton{background:linear-gradient(90deg,#edf2fb 0%,#f8fbff 50%,#edf2fb 100%) 0 0/200% 100%;border-radius:8px;height:18px;animation:1.15s linear infinite shimmer}.skeleton.row{border-radius:12px;height:38px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hint{color:var(--muted);font-size:13px}.chat-shell{grid-template-columns:1fr;gap:14px;display:grid}.chat-list,.chat-messages{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px}.chat-item{border:1px solid var(--line);text-align:left;cursor:pointer;background:#f8fbff;border-radius:12px;width:100%;margin-top:8px;padding:10px;transition:all .2s;display:grid}.chat-item:hover{border-color:#b7cae8;transform:translateY(-1px)}.chat-log{border:1px solid var(--line);background:#fbfdff;border-radius:10px;min-height:320px;max-height:430px;padding:10px;overflow:auto}.chat-form{flex-wrap:wrap;margin-top:8px}.chat-form #chat-input{flex:320px}.hidden-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.chat-attach-btn{white-space:nowrap}.chat-attachments{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chat-attachment-chip{align-items:center;gap:6px;display:inline-flex}.chat-attachment-remove{cursor:pointer;color:#a11b1b;background:0 0;border:0;font-weight:700}.chat-msg-files{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chat-image-thumb{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:10px;gap:6px;width:120px;padding:6px;display:grid}.chat-image-thumb img{object-fit:cover;border-radius:8px;width:100%;height:78px;display:block}.chat-image-thumb span{color:#3f4f69;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.knowledge-form-actions{grid-column:1/-1;justify-content:flex-start}.knowledge-item-actions{flex-wrap:wrap;justify-content:flex-end;min-width:210px}.knowledge-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.knowledge-card{border:1px solid var(--line);background:linear-gradient(#fff 0%,#f7fbff 100%);border-radius:16px;gap:8px;padding:14px;display:grid;box-shadow:0 10px 24px #122b5414}.knowledge-card-head{justify-content:space-between;align-items:start;gap:8px;display:flex}.knowledge-card-head h4{letter-spacing:-.2px;margin:0;font-size:17px}.knowledge-card-summary{color:#334866;margin:0;font-size:13px;font-weight:600}.knowledge-card-preview{color:#596e8e;min-height:40px;margin:0;font-size:13px;line-height:1.45}.knowledge-card-meta{color:#6b7f9f;flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.knowledge-article{gap:12px;display:grid}.knowledge-article-head h2{letter-spacing:-.4px;margin:0;font-size:24px;line-height:1.2}.knowledge-article-summary{color:#456182;margin:8px 0 0;font-size:14px}.knowledge-article-body{border:1px solid var(--line);color:#1f3552;white-space:normal;word-break:break-word;background:#f8fcff;border-radius:14px;padding:18px;font-size:15px;line-height:1.7}.knowledge-article-links,.knowledge-article-files{margin-top:12px}.knowledge-article-links h4,.knowledge-article-files h4{color:#284166;margin:0 0 8px;font-size:14px}.grid-span-2{grid-column:1/-1}.msg{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:8px}.msg h5{margin:0;font-size:13px}.msg p{margin:6px 0 2px}.toast{color:#fff;box-shadow:var(--shadow-strong);z-index:40;background:#0b7a75;border-radius:12px;padding:10px 14px;position:fixed;bottom:20px;right:20px}.toast.error{background:var(--danger)}.modal{z-index:55;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-backdrop{background:#0f172a66;position:absolute;inset:0}.modal-card{border:1px solid var(--line);width:min(680px,100%);box-shadow:var(--shadow-strong);background:#fff;border-radius:16px;padding:14px;position:relative}@media (width<=1280px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.shell{grid-template-columns:1fr;gap:12px;padding:12px}.sidebar{max-height:none;padding:12px;position:static}.menu{gap:8px;padding-bottom:4px;display:flex;overflow:auto}.menu-item{white-space:nowrap;min-width:max-content}.content{padding:0}.topbar{flex-flow:wrap;align-items:center}.actions{width:100%}.actions .btn{flex:1}.cards,.grid-2,.chat-shell,.dashboard-grid{grid-template-columns:1fr}.row,.filters,.row-between,.calendar-event-item{flex-wrap:wrap}.schedule-month-grid,.schedule-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-day-hour{grid-template-columns:1fr;gap:4px}#chat-form{flex-wrap:wrap}#chat-form input,#chat-form button{width:100%}}@media (width<=640px){.panel{padding:12px}.card p{font-size:24px}table,thead,tbody,th,td,tr{display:block}thead{display:none}tr{border:1px solid var(--line);border-radius:12px;margin-bottom:8px;overflow:hidden}td{border-bottom:1px solid var(--line)}.schedule-month-grid,.schedule-week-grid{grid-template-columns:1fr}}.users-head{margin-top:16px}#employee-detail-view{margin-top:12px}.employee-edit-form{margin-top:8px}.knowledge-form-modern .knowledge-content{min-height:220px;font-family:JetBrains Mono,Consolas,monospace;line-height:1.45}.knowledge-toolbar{border:1px solid var(--line);background:#f7fbff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.knowledge-upload{cursor:pointer;background:#f8fbff;border:1px dashed #9db8df;border-radius:12px;padding:16px}.knowledge-upload input[type=file]{display:none}.knowledge-upload-title{margin-bottom:4px;font-weight:700;display:block}.knowledge-upload-hint{color:var(--muted);font-size:12px;display:block}.task-actions{flex-wrap:wrap;justify-content:flex-end;min-width:250px}.task-status-select{min-width:140px}.files-form-modern .files-form-actions{justify-content:flex-start;align-items:end}.file-dropzone{cursor:pointer;background:#f6fbff;border:1px dashed #97b6e3;border-radius:14px;padding:18px}.file-dropzone input[type=file]{display:none}.file-dropzone-title{margin-bottom:4px;font-weight:700;display:block}.file-dropzone-hint{color:var(--muted);font-size:12px;display:block}.file-dropzone.is-dragover{background:#ebfffd;border-color:#0ea5a4}.menu-toggle{border:1px solid var(--line);color:#123047;background:#fff;border-radius:10px;padding:8px 10px;font-weight:700;display:none}.kanban-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.kanban-column{border:1px solid var(--line);background:#f9fbff;border-radius:14px;min-height:220px;padding:10px}.kanban-column-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.kanban-column-head h4{margin:0;font-size:14px}.kanban-dropzone{border-radius:12px;gap:8px;min-height:160px;transition:background .16s,box-shadow .16s;display:grid}.kanban-dropzone.is-over{background:#ecfeff;box-shadow:inset 0 0 0 2px #67e8f9}.task-card{cursor:grab;background:#fff;border:1px solid #cfe0f7;border-radius:12px;gap:8px;padding:10px;transition:transform .15s,box-shadow .15s,opacity .15s;display:grid}.task-card.is-dragging{opacity:.55;transform:scale(.99)}.task-card.is-selected{border-color:#0ea5a4;box-shadow:0 0 0 2px #0ea5a429}.task-card h5{margin:0 0 6px;font-size:13px}.task-card p{color:#3d4f6d;margin:0 0 6px;font-size:12px}.task-card small{color:#60708f;font-size:11px}.task-card-title,.task-card-description,.task-card-priority,.task-card-due{width:100%}.task-card-title,.task-card-description{border-radius:10px;padding:9px 10px;font-size:13px}.task-card-description{resize:vertical;min-height:84px}.task-card-meta{grid-template-columns:1fr 1fr;gap:8px;display:grid}.task-card-save{width:100%}.task-card-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.task-labels-inline,.task-detail-labels,.task-watchers-list{flex-wrap:wrap;gap:6px;display:flex}.task-label-chip{border:1px solid color-mix(in srgb, var(--chip,#0ea5a4) 30%, #fff);background:color-mix(in srgb, var(--chip,#0ea5a4) 18%, #fff);color:#0f2744;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.task-label-remove,.task-checklist-delete{cursor:pointer;color:#9f1239;background:0 0;border:0;font-weight:800}.task-detail{margin-bottom:12px}.task-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.task-detail-block{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px}.task-detail-block h4{margin:0 0 8px}.task-checklist-items,.task-comments-items{gap:8px;margin-bottom:8px;display:grid}.task-checklist-item{border:1px solid var(--line);background:#fafdff;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px;display:grid}.task-checklist-item .done{color:#5b6780;text-decoration:line-through}.task-comment-item{border:1px solid var(--line);background:#fafdff;border-radius:10px;padding:8px}.task-comment-item p{margin:8px 0}.task-activity-items{gap:8px;max-height:260px;display:grid;overflow:auto}.task-activity-item{border:1px solid var(--line);background:#f8fbff;border-radius:10px;padding:8px}.task-activity-payload{background:#eef4ff;border-radius:8px;margin:6px 0 0;padding:8px;font-size:11px;overflow:auto}.task-due-overdue{font-weight:700;color:#b91c1c!important}.task-due-today{font-weight:700;color:#b45309!important}.task-due-week{color:#1d4ed8!important}.task-files-list{gap:8px;margin-bottom:10px;display:grid}.task-file-item{border:1px solid var(--line);background:#f8fbff;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px;display:flex}.task-file-picker{cursor:pointer;background:#f6fbff;border:1px dashed #97b6e3;border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;display:inline-flex}.task-file-picker input[type=file]{display:none}@media (width<=980px){.brand{justify-content:space-between;align-items:center;gap:8px;display:flex}.brand p{display:none}.menu-toggle{justify-content:center;align-items:center;display:inline-flex}.menu{grid-template-columns:1fr;max-height:45vh;margin-top:10px;display:none;overflow:auto}.shell.menu-open .menu{display:grid}.shell{align-content:start}.sidebar{align-self:start;overflow:visible;max-height:none!important}.menu-item{width:100%;min-width:0;padding:10px 12px;font-size:13px}.filters .btn,.quick-form .btn,.files-form-actions .btn{width:100%}.topbar{border-radius:10px;padding:8px}.topbar h2{font-size:14px}.topbar p{font-size:10px}.actions{gap:6px}.actions .btn{padding:9px 10px;font-size:12px}.kanban-board,.task-card-meta,.task-card-buttons,.task-detail-grid{grid-template-columns:1fr}.task-actions{min-width:100%}.task-file-item{flex-direction:column;align-items:flex-start}.sidebar{border-radius:14px;padding:10px}.brand h1{font-size:22px}}.shell{align-items:start}.sidebar{height:fit-content}.topbar{padding:8px 12px}.filters label select,.filters label input{min-width:170px}@media (width<=980px){.shell{grid-auto-rows:min-content;align-items:start}.sidebar{height:auto;min-height:0;overflow:hidden}.shell.menu-open .sidebar{overflow:visible}.content{margin-top:0}.topbar{padding:8px}}.dashboard-hero{border:1px solid var(--line);background:linear-gradient(120deg,#e6f7ff 0%,#edfdf9 55%,#fff 100%);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:14px;display:flex}.dashboard-hero-main h3{color:#0f4265;margin:0;font-size:20px}.dashboard-hero-main p{color:#36506f;margin:6px 0 0;font-size:13px}.dashboard-hero-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}#view-employee-show .panel-inner,#view-employee-edit .panel-inner,#view-employee-create .quick-form,#view-project-show .panel-inner,#view-project-edit .panel-inner,#view-project-create .quick-form,#view-task-show .panel-inner,#view-task-create .quick-form{border:1px solid var(--line);background:#fff;border-radius:14px}.modal-image-card{width:min(920px,100%)}.chat-image-wrap{border:1px solid var(--line);background:#f8fbff;border-radius:12px;max-height:72vh;margin-top:8px;padding:10px;overflow:auto}.chat-image-wrap img{border-radius:8px;width:100%;height:auto;display:block}@media (width<=980px){.shell{padding:10px;display:block}.dashboard-hero{flex-direction:column;align-items:flex-start}.dashboard-hero-badges{justify-content:flex-start}.sidebar{margin-bottom:10px}.content{padding:0}.topbar{margin-bottom:10px}}.pager{justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;display:flex}.schedule-month-preview{gap:5px;margin-top:8px;display:grid}.schedule-month-shift{border:1px solid var(--line);background:#f8fbff;border-radius:8px;gap:2px;padding:4px 6px;font-size:11px;display:grid}.schedule-month-shift strong{color:#123b66}.schedule-month-shift span{color:#415675}.schedule-day-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.schedule-day-head h4{text-transform:capitalize;margin:0;font-size:14px}.chat-load-top{justify-content:center;margin:2px 0 10px;display:flex}@media (width<=640px){.pager{flex-wrap:wrap;justify-content:center}.schedule-day-head{flex-direction:column;align-items:flex-start}}.task-status-widget{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:12px;display:grid}.task-status-donut-wrap{place-items:center;display:grid}.task-status-donut{--todo:0;--progress:0;--done:0;aspect-ratio:1;background:conic-gradient(#0ea5a4 0deg calc(var(--todo) * 1deg), #38bdf8 calc(var(--todo) * 1deg) calc((var(--todo) + var(--progress)) * 1deg), #22c55e calc((var(--todo) + var(--progress)) * 1deg) 360deg);border-radius:50%;width:150px;padding:12px;box-shadow:inset 0 0 0 1px #d5e6f6}.task-status-donut-center{text-align:center;border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:100%;height:100%;display:grid}.task-status-donut-center strong{color:#0f4265;font-size:28px;line-height:1}.task-status-donut-center span{color:#5b6780;font-size:11px}.task-status-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.task-status-item{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px}.task-status-item-head{align-items:center;gap:6px;font-size:12px;display:flex}.task-status-item .dot{border-radius:999px;width:9px;height:9px;display:inline-block}.task-status-item.is-todo .dot{background:#0ea5a4}.task-status-item.is-progress .dot{background:#38bdf8}.task-status-item.is-done .dot{background:#22c55e}.task-status-item p{color:#123c60;margin:8px 0 2px;font-size:24px;font-weight:800}.task-status-item small{color:#5b6780}.schedule-active-toggle{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}.schedule-active-toggle input{width:16px;height:16px}.schedule-timeline{margin-bottom:12px}.schedule-timeline-head h3{margin:0;font-size:15px}.schedule-timeline-grid{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:auto}.schedule-timeline-header,.schedule-timeline-row{grid-template-columns:180px repeat(7,minmax(160px,1fr));display:grid}.schedule-timeline-header{z-index:2;border-bottom:1px solid var(--line);background:#f5f9ff;position:sticky;top:0}.schedule-timeline-day-col,.schedule-timeline-employee-col{border-right:1px solid var(--line);padding:8px}.schedule-timeline-day-col{text-align:center;gap:2px;display:grid}.schedule-timeline-day-col strong{text-transform:capitalize;font-size:12px}.schedule-timeline-day-col span{color:#5b6780;font-size:11px}.schedule-timeline-row{border-bottom:1px solid #eef3fa}.schedule-timeline-employee-col{background:#fbfdff;align-items:center;font-size:13px;display:grid}.schedule-timeline-cell{border-right:1px solid #eef3fa;padding:8px}.schedule-timeline-track{background:repeating-linear-gradient(90deg,#f8fbff 0 calc(4.16667% - 1px),#eaf2fe calc(4.16667% - 1px) 4.16667%);border:1px solid #e4edf9;border-radius:10px;height:34px;position:relative}.schedule-timeline-segment{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-align:left;background:linear-gradient(135deg,#0ea5a4 0%,#0284c7 100%);border:0;border-radius:8px;height:calc(100% - 8px);padding:0 6px;font-size:10px;position:absolute;top:4px;overflow:hidden}.schedule-timeline-empty{background:#c8d7ec;border-radius:999px;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chat-file-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#f8fbff;border-radius:12px;gap:8px;min-width:180px;max-width:240px;padding:8px;display:grid}.chat-file-card-head{grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid}.chat-file-icon{color:#0f4265;background:#eef5ff;border:1px solid #bdd2ee;border-radius:8px;padding:3px 6px;font-size:11px;font-weight:800}.chat-file-name{color:#1e3555;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.chat-file-thumb{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;width:100%;height:94px;display:grid;overflow:hidden}.chat-file-thumb img,.chat-file-thumb iframe{object-fit:cover;border:0;width:100%;height:100%}.chat-file-meta{font-size:11px}.chat-image-wrap iframe{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:68vh}@media (width<=980px){.task-status-widget,.task-status-legend{grid-template-columns:1fr}.schedule-timeline-header,.schedule-timeline-row{grid-template-columns:140px repeat(7,minmax(130px,1fr))}}@media (width<=640px){.schedule-timeline-header,.schedule-timeline-row{grid-template-columns:120px repeat(7,minmax(120px,1fr))}}.recurring-weekdays-field{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px}.recurring-weekdays-field legend{color:#3b4f70;padding:0 6px;font-size:12px;font-weight:700}.recurring-weekdays-grid{flex-wrap:wrap;gap:8px;display:flex}.weekday-chip{cursor:pointer;color:#224167;background:#f5f9ff;border:1px solid #d6e2f5;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.weekday-chip input{width:14px;height:14px;margin:0}.weekday-chip:has(input:checked){color:#0f5f66;background:#e9fffb;border-color:#7ccfca}.status-badge-planned{color:#8a5300;background:#fff7d6;border:1px solid #f4df98}.status-badge-confirmed{color:#115e3a;background:#dbf8ec;border:1px solid #afeccf}.status-badge-completed{color:#124b7a;background:#dff3ff;border:1px solid #b8def8}.status-badge-cancelled{color:#8e2432;background:#fee2e2;border:1px solid #fecaca}.status-badge-unknown{color:#374151;background:#eef2ff;border:1px solid #d6defa}
