:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Arial,sans-serif;color:#111318;background:#eef1f5;font-synthesis:none;text-rendering:optimizeLegibility;--blue: #1677ed;--blue-dark: #0c63d7;--blue-soft: #eaf2ff;--orange: #ed970f;--orange-soft: #fff4df;--green: #16a155;--green-soft: #e9f9ef;--red: #d82843;--red-soft: #fff0f3;--violet: #7657d9;--violet-soft: #f2efff;--muted: #697080;--line: #e6e9ef;--surface: #ffffff;--shadow: 0 4px 14px rgba(20, 37, 63, .07), 0 1px 3px rgba(20, 37, 63, .05);--radius: 14px}*{box-sizing:border-box}html{min-width:320px;background:#eef1f5}body{margin:0;min-width:320px;min-height:100vh;background:#eef1f5}button,input,textarea,select{font:inherit}button{color:inherit}button,select,input[type=date],input[type=time]{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(22,119,237,.25);outline-offset:2px}button:disabled{cursor:wait;opacity:.6}a{color:inherit}.app-shell{width:min(100%,680px);min-height:100svh;margin:0 auto;background:#fff;position:relative;box-shadow:0 0 40px #1222381a}.app-header{position:sticky;z-index:30;top:0;height:calc(72px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 18px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#fffffff5;border-bottom:1px solid #e4e6ea;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-title{min-width:220px;text-align:center;display:flex;flex-direction:column;gap:3px;line-height:1.15}.header-title strong{font-size:20px;font-weight:700;letter-spacing:-.35px}.header-title span{color:#777d8a;font-size:15px}.header-side{min-width:0;display:flex;align-items:center}.header-actions{justify-content:flex-end;gap:8px}.header-back{min-height:44px;border:0;padding:0;display:inline-flex;align-items:center;gap:2px;color:var(--blue);background:transparent;font-size:17px}.header-back svg{margin-left:-6px}.close-button{padding-right:10px}.dots-button,.icon-button{width:46px;height:46px;flex:0 0 auto;display:inline-grid;place-items:center;border:1px solid #e2e6eb;border-radius:13px;color:#0b2f62;background:#fff;box-shadow:0 2px 7px #20304c0f}.dots-button{width:36px;height:36px;border-radius:999px;border-color:var(--blue);color:var(--blue);box-shadow:none}.page{padding:24px 18px calc(100px + env(safe-area-inset-bottom))}.dashboard-page{padding-top:20px;padding-bottom:env(safe-area-inset-bottom)}h1,h2,h3,p{margin-top:0}.section-heading{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 2px 12px}.section-heading h1{margin:0;font-size:21px;font-weight:700;letter-spacing:-.35px}.section-heading h2{margin:0}.section-heading>div:first-child span{display:block;margin-top:3px;font-size:13px;color:var(--muted)}.section-actions{display:flex;gap:12px}.section-actions .icon-button{width:46px;height:46px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stat-card{min-width:0;height:124px;padding:15px 14px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}button.stat-card{width:100%}.stat-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,transparent 50%,currentColor);opacity:.025}.stat-top{display:flex;align-items:center;gap:14px}.stat-top strong{font-size:30px;line-height:1;font-weight:600;letter-spacing:-.8px}.stat-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px}.stat-icon svg{width:24px;height:24px;stroke-width:1.8}.stat-label{margin-top:10px;color:#111318;font-size:16px;font-weight:700}.stat-description{margin-top:4px;color:#6f7582;font-size:12px}.stat-blue{color:var(--blue);background:#fcfdff}.stat-blue .stat-icon{background:var(--blue-soft)}.stat-orange{color:var(--orange);background:#fffefa}.stat-orange .stat-icon{background:var(--orange-soft)}.stat-green{color:var(--green);background:#fbfffc}.stat-green .stat-icon{background:var(--green-soft)}.stat-red{color:var(--red);background:#fffdfd}.stat-red .stat-icon{background:var(--red-soft)}.stat-violet{color:var(--violet)}.stat-violet .stat-icon{background:var(--violet-soft)}.stats-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 0 6px}.stats-rail::-webkit-scrollbar{display:none}.stat-compact{height:105px;padding:13px 7px;box-shadow:0 3px 10px #14253f0d}.stat-compact .stat-top{gap:4px}.stat-compact .stat-icon{width:30px;height:30px;border-radius:10px}.stat-compact .stat-icon svg{width:20px}.stat-compact .stat-top strong{font-size:24px}.stat-compact .stat-label{margin-top:13px;overflow:visible;font-size:8.5px;font-weight:500;letter-spacing:-.12px;white-space:nowrap}.stat-compact.is-active:before{content:"";position:absolute;left:7px;right:7px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--blue)}.task-section{margin-top:16px}.task-list-toggle{width:100%;min-height:48px;margin-top:11px;padding:8px 13px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d8e2ef;border-radius:11px;color:#3c638b;background:#f6f9fd;font-size:12px;line-height:1.35}.task-list-toggle svg{flex:0 0 auto;transition:transform .18s ease}.task-list-toggle.expanded svg{transform:rotate(180deg)}.assignee-dashboard .task-card{min-height:114px;padding:16px 42px 14px 16px}.assignee-dashboard .task-card-top>strong{font-size:16px;line-height:1.38}.assignee-dashboard .task-card-meta{margin-top:14px;font-size:11px}.task-list{display:grid;gap:11px}.task-card{width:100%;min-height:92px;padding:12px 40px 11px 13px;border:1px solid #e8ebef;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);text-align:left;position:relative;overflow:hidden}.task-card-top{min-height:27px;display:block;position:relative}.task-card-top>strong{width:72%;display:block;color:#121419;font-size:14px;line-height:1.32;font-weight:700;letter-spacing:-.15px}.task-card-top>.status-badge{position:absolute;right:0;top:0}.status-badge{display:inline-flex;align-items:center;min-height:29px;flex:0 0 auto;padding:5px 12px;border-radius:999px;font-size:12px;line-height:1;font-weight:500;white-space:nowrap}.tone-blue{color:#0b68dc;background:#eaf1ff}.tone-orange{color:#d78300;background:#fff4df}.tone-green{color:#168343;background:#e5f8ec}.tone-red{color:#d32747;background:#fff0f4}.tone-violet{color:#6c4dd1;background:#f1edff}.tone-gray{color:#6f7580;background:#eef0f3}.task-card-meta{width:100%;display:flex;align-items:center;gap:8px;margin-top:9px;color:#737988;font-size:10px;overflow:hidden}.task-card-meta>span{min-width:0;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden}.task-card-meta svg{flex:0 0 auto}.task-card-meta em{max-width:130px;overflow:hidden;color:#333944;font-style:normal;text-overflow:ellipsis}.task-card-meta>i{width:1px;height:22px;flex:0 0 auto;background:#e1e4e9}.task-chevron{position:absolute;right:13px;top:50%;color:#68707d;transform:translateY(-50%)}.text-blue{color:var(--blue)!important}.text-orange{color:var(--orange)!important}.text-green{color:var(--green)!important}.text-red{color:var(--red)!important}.text-violet{color:var(--violet)!important}.text-gray{color:#69707c!important}.sort-link,.text-button{min-height:44px;border:0;color:#525b70;background:transparent}.sort-link{display:inline-flex;align-items:center;gap:6px}.dashboard-report-action{margin-top:14px;text-align:center}.dashboard-report-action p,.page-note{margin:12px auto 0;color:#747b87;font-size:12px;line-height:1.45}.dashboard-report-action p{font-size:10px;white-space:nowrap}.page-note{max-width:360px;display:flex;align-items:flex-start;gap:7px}.page-note svg{flex:0 0 auto}.primary-button,.secondary-button,.danger-outline-button{width:100%;min-height:51px;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;font-weight:600;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.primary-button{border:1px solid var(--blue);color:#fff;background:linear-gradient(180deg,#1c7af0,#126fe5);box-shadow:0 5px 13px #1677ed38}.primary-button:active,.secondary-button:active{transform:scale(.985)}.secondary-button{border:1px solid #cfd7e4;color:var(--blue-dark);background:#fff}.danger-outline-button{border:1px solid #edb7c0;color:var(--red);background:#fff}.floating-action{position:fixed;z-index:25;right:max(20px,calc((100vw - 680px)/2 + 20px));bottom:calc(22px + env(safe-area-inset-bottom));width:56px;height:56px;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;background:var(--blue);box-shadow:0 8px 22px #1677ed59}.sheet-layer{position:fixed;z-index:100;inset:0;display:grid;align-items:end}.sheet-backdrop{position:absolute;inset:0;border:0;background:#07111f61;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet-panel{position:relative;width:min(100%,680px);max-height:min(82svh,760px);margin:0 auto;overflow:auto;border-radius:22px 22px 0 0;background:#fff;box-shadow:0 -12px 40px #141e322e;animation:sheet-up .22s ease-out}.sheet-handle{width:42px;height:5px;margin:9px auto 0;border-radius:5px;background:#d6dae1}.sheet-title{height:60px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.sheet-title h2{margin:0;font-size:20px}.sheet-title .icon-button{width:38px;height:38px;box-shadow:none}.sheet-body{padding:18px 18px calc(26px + env(safe-area-inset-bottom))}.menu-list{display:grid;gap:5px}.menu-list button{min-height:53px;padding:0 10px;display:flex;align-items:center;gap:14px;border:0;border-bottom:1px solid #eef0f3;color:#1b2430;background:#fff;text-align:left;font-size:16px}.menu-list button:first-child{color:var(--blue);font-weight:600}.menu-list svg{width:24px;color:#34638e}@keyframes sheet-up{0%{transform:translateY(24px);opacity:.6}}.tabs-scroller{margin:-5px -18px 0;padding:0 18px 7px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.tabs-scroller::-webkit-scrollbar{display:none}.tabs-scroller button{min-height:42px;padding:0 16px;border:1px solid #e1e5eb;border-radius:10px;color:#4e5665;background:#fff;white-space:nowrap}.tabs-scroller button.active{border-color:var(--blue);color:var(--blue);background:var(--blue-soft);font-weight:600}.tasks-heading{margin-top:14px}.sort-select{min-height:42px;padding:0 32px 0 12px;border:1px solid #dfe3e9;border-radius:10px;color:#3c4656;background:#fff}.active-filters{margin-bottom:12px;padding:10px 12px;display:flex;align-items:center;gap:7px;border-radius:10px;color:#426181;background:#f1f7ff;font-size:13px}.active-filters button{margin-left:auto;display:flex;align-items:center;border:0;color:var(--blue);background:none}.search-form,.filter-form{display:grid;gap:14px}.search-input{min-height:49px;padding:0 14px;display:flex;align-items:center;gap:9px;border:1px solid #dfe3e9;border-radius:12px;color:#7a8290;background:#f8f9fb}.search-input input{width:100%;height:47px;border:0;outline:0;color:#151921;background:transparent}.filter-form label,.settings-card label{display:grid;gap:7px;color:#4e5664;font-size:14px;font-weight:600}.filter-form input,.filter-form select,.settings-card input,.settings-card select{width:100%;min-height:48px;padding:0 12px;border:1px solid #dfe3e9;border-radius:10px;color:#171b22;background:#fff;font-weight:400}.list-skeleton{display:grid;gap:11px}.list-skeleton div{height:127px;border-radius:var(--radius);background:linear-gradient(90deg,#f2f4f7,#fafbfc,#f2f4f7);background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.empty-state{min-height:260px;padding:38px 24px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#79818e}.empty-state svg{color:#90a5bc}.empty-state h2{margin:15px 0 7px;color:#29313c;font-size:19px}.empty-state p{margin:0 0 18px;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:22px}.steps span{height:4px;border-radius:4px;background:#e6e9ee}.steps .done{background:var(--blue)}.create-intro,.confirm-section{text-align:center}.create-icon,.confirm-icon{width:66px;height:66px;margin:4px auto 14px;display:grid;place-items:center;border-radius:20px;color:var(--blue);background:var(--blue-soft)}.confirm-icon{color:var(--green);background:var(--green-soft)}.create-intro h1,.confirm-section h1,.task-form-section>h1{margin-bottom:8px;font-size:25px;letter-spacing:-.4px}.create-intro>p,.confirm-section>p{max-width:470px;margin:0 auto 22px;color:var(--muted);line-height:1.5;font-size:14px}.field{display:grid;gap:7px;text-align:left;color:#323944;font-size:14px;font-weight:600}.field input,.field textarea,.field select,.review-actions textarea{width:100%;min-height:48px;padding:12px;border:1px solid #d9dee6;border-radius:9px;outline:0;color:#151920;background:#fff;font-size:15px;font-weight:400;resize:vertical}.field textarea:focus,.field input:focus,.field select:focus,.review-actions textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1677ed1a}.field small{color:#868d99;font-size:12px;font-weight:400}.create-intro .field{margin-bottom:14px}.create-intro .secondary-button,.confirm-section .secondary-button{margin-top:10px}.voice-hint{margin-top:22px;padding:14px 16px;display:flex;align-items:flex-start;gap:11px;border-radius:12px;color:#46709b;background:#f2f7fd;text-align:left}.voice-hint span{display:grid;gap:3px;color:#6a7888;font-size:12px}.voice-hint strong{color:#2d4c6b;font-size:14px}.task-form-section>h1{text-align:left}.recognized-text{margin-bottom:15px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;border-radius:11px;color:var(--blue);background:#f1f7ff}.recognized-text span{display:grid;gap:4px;color:#606b78;font-size:12px;line-height:1.4}.recognized-text strong{color:#2b5680;font-size:13px}.form-card{margin-bottom:16px;padding:16px;display:grid;gap:15px;border:1px solid #e4e7ec;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-with-icon{position:relative}.input-with-icon svg{position:absolute;left:12px;top:14px;color:#728091}.input-with-icon input{padding-left:40px}.task-form-section .text-button{width:100%;margin-top:7px;color:var(--blue)}.confirm-card{margin:20px 0 16px;padding:3px 16px;border:1px solid #e1e5ea;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);text-align:left}.confirm-card>div{min-height:64px;display:grid;grid-template-columns:30px 110px 1fr;align-items:center;border-bottom:1px solid #eceef2}.confirm-card svg{color:#526780}.confirm-card span,.confirm-card article>span{color:#7a818f;font-size:13px}.confirm-card strong{font-size:14px}.confirm-card article{padding:15px 0 17px;display:grid;gap:7px}.confirm-card article strong{font-size:16px;line-height:1.5}.confirm-card em,.description-row em{width:fit-content;padding:5px 9px;border-radius:7px;font-size:12px;font-style:normal}.priority-low{color:#68717f;background:#eef0f2}.priority-normal{color:var(--blue-dark);background:var(--blue-soft)}.priority-high{color:#c27800;background:var(--orange-soft)}.priority-critical{color:var(--red);background:var(--red-soft)}.form-error{position:sticky;z-index:20;bottom:14px;margin-top:14px;padding:12px 14px;border:1px solid #ffc4ce;border-radius:10px;color:#b51d37;background:#fff1f4;box-shadow:0 6px 20px #b41e3c24;font-size:14px}.detail-page{padding-top:24px}.detail-title>span{color:#7c8390;font-size:13px}.detail-title h1{margin:6px 0 16px;font-size:25px;line-height:1.28;letter-spacing:-.5px}.detail-card{padding:4px 16px;border:1px solid #e2e5e9;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.detail-row{min-height:56px;display:grid;grid-template-columns:28px 116px 1fr;align-items:center;column-gap:5px;border-bottom:1px solid #e9ebef;font-size:14px}.detail-row>svg{color:#536b8c;stroke-width:1.7}.detail-row>span{color:#727986}.detail-row>strong{min-width:0;font-size:14px;font-weight:500}.detail-row .status-badge{justify-self:start}.description-row{padding:15px 0 17px;display:grid;grid-template-columns:30px 1fr}.description-row>svg{color:#536b8c}.description-row>div{display:grid;gap:5px}.description-row span{color:#727986;font-size:14px}.description-row p{margin:0 0 3px;font-size:14px;line-height:1.55}.execution-section,.attachments-section,.comments-section,.history-section,.status-actions-section{margin-top:22px}.execution-section h2,.attachments-section h2,.comments-section h2,.history-section h2,.review-actions h2{margin:0 0 10px;font-size:20px}.execution-card{padding:15px;display:grid;gap:12px;border:1px solid #e5e8ed;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.upload-button{min-height:47px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #bfcce0;border-radius:9px;color:var(--blue);background:#fff;font-size:14px}.upload-button input{display:none}.selected-files{display:flex;flex-wrap:wrap;gap:7px}.selected-files span{max-width:100%;padding:7px 9px;display:flex;align-items:center;gap:5px;border-radius:7px;color:#45627f;background:#edf4fb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.review-actions{display:grid;gap:10px}.review-actions textarea{min-height:82px}.status-actions-section:empty{display:none}.review-hint{margin:-2px 0 2px;color:var(--muted);font-size:13px;line-height:1.45}.archive-banner{margin:14px 0 2px;padding:13px 14px;display:flex;align-items:center;gap:11px;border:1px solid #cfe5d6;border-radius:13px;color:#176439;background:#effaf3}.archive-banner div{display:grid;gap:2px}.archive-banner strong{font-size:14px}.archive-banner span{font-size:12px;color:#4a765d}.edit-task-action{margin-top:13px;text-align:center}.edit-task-action p{margin:8px 8px 0;color:var(--muted);font-size:11px;line-height:1.4}.edit-task-form{display:grid;gap:15px}.edit-task-intro{padding:13px 14px;display:flex;align-items:center;gap:11px;border-radius:12px;color:var(--blue);background:var(--blue-soft)}.edit-task-intro span{min-width:0;display:grid;gap:3px}.edit-task-intro strong{color:#24547f;font-size:14px}.edit-task-intro small{color:#607b96;font-size:11px;line-height:1.4}.completion-sheet{display:grid;gap:15px}.completion-intro{padding:13px;display:flex;gap:11px;border-radius:13px;background:#f1f7fd}.completion-intro>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--blue)}.completion-intro div{display:grid;gap:4px}.completion-intro strong{color:#17263a;font-size:15px}.completion-intro p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.completion-upload{min-height:76px;padding:13px 14px;display:flex;align-items:center;gap:12px;border:1.5px dashed #9fbfdd;border-radius:13px;color:#28618f;background:#f8fbfe;cursor:pointer}.completion-upload>span{display:grid;gap:3px}.completion-upload strong{font-size:14px}.completion-upload small{color:#68849d;font-size:11px}.completion-upload input{position:absolute;width:1px;height:1px;opacity:0}.completion-file-list{display:grid;gap:7px}.completion-file-list>div{min-width:0;padding:9px 10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border-radius:9px;color:#405a72;background:#f0f5fa}.completion-file-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.completion-file-list small{color:#7890a5;font-size:10px}.completion-requirement{display:flex;align-items:center;gap:7px;color:#87611d;font-size:12px}.archive-page{padding-bottom:38px}.archive-hero{margin-bottom:14px;padding:17px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#245f91,#347fae);box-shadow:0 10px 25px #205b8933}.archive-hero>span{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:#ffffff26}.archive-hero h1{margin:0 0 4px;font-size:22px}.archive-hero p{margin:0;color:#ffffffc7;font-size:11px;line-height:1.4}.archive-hero>strong{font-size:30px}.archive-search{height:48px;padding:0 13px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 4px 14px #1b2d450d}.archive-search svg{color:#68839d}.archive-search input{min-width:0;flex:1;border:0;outline:0;font-size:14px}.archive-search button{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;color:#687d90;background:#edf2f6}.archive-heading{margin:20px 1px 10px;display:flex;align-items:center;justify-content:space-between}.archive-heading h2{margin:0;font-size:20px}.archive-heading span{min-width:28px;padding:4px 8px;border-radius:14px;color:#376586;background:#eaf3fa;text-align:center;font-size:12px;font-weight:700}.archive-more{width:100%;margin-top:14px}.attachments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attachment-tile{min-width:0;min-height:100px;padding:10px;border:1px solid #e1e5eb;border-radius:11px;color:#46617b;background:#f8fafc;position:relative;overflow:hidden}.attachment-tile.image{height:150px;padding:0;background:#eef1f4}.attachment-tile img{width:100%;height:100%;display:block;object-fit:cover}.attachment-tile>span{display:block;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.attachment-tile.image>span{position:absolute;left:8px;right:8px;bottom:7px;padding:5px;border-radius:5px;color:#fff;background:#141b259e}.attachment-download{position:absolute;right:7px;top:7px;padding:4px;box-sizing:content-box;border-radius:50%;color:#fff;background:#141e28a6}.image-lightbox{position:fixed;inset:0;z-index:500;padding:calc(54px + env(safe-area-inset-top)) 14px calc(52px + env(safe-area-inset-bottom));display:grid;place-items:center;color:#fff;background:#05090ff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-lightbox img{width:100%;height:100%;max-width:100%;max-height:100%;display:block;object-fit:contain}.image-lightbox-close{position:absolute;z-index:1;top:calc(12px + env(safe-area-inset-top));right:13px;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;background:#ffffff29}.image-lightbox-caption{position:absolute;left:18px;right:72px;bottom:calc(15px + env(safe-area-inset-bottom));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#ffffffd1}.comment-list,.history-list{display:grid;gap:9px}.comment-list article{padding:13px 14px;border:1px solid #e4e7ec;border-radius:11px;background:#fff}.comment-list article>div{display:flex;justify-content:space-between;gap:8px}.comment-list strong{font-size:13px}.comment-list time,.comment-list span{color:#7e8591;font-size:11px}.comment-list span{display:block;margin-top:5px;color:var(--blue)}.comment-list p{margin:7px 0 0;font-size:14px;line-height:1.45}.history-list article{padding:12px 14px;display:grid;grid-template-columns:38px 1fr;gap:10px;border:1px solid #e6e9ed;border-radius:11px;background:#fff;box-shadow:0 2px 7px #14253f0a}.history-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--blue);background:var(--blue-soft)}.history-list time{color:#78808d;font-size:11px}.history-list p{margin:3px 0 0;font-size:13px}.history-list small{display:block;margin-top:5px;color:#78808d;font-size:11px}.employee-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.employee-summary div{padding:14px 7px;display:grid;gap:4px;text-align:center;border:1px solid #e3e6eb;border-radius:11px;background:#fff}.employee-summary strong{color:var(--blue);font-size:26px}.employee-summary span{color:#707887;font-size:11px}.employee-summary .warning strong{color:var(--orange)}.employee-search{margin:16px 0 4px}.small-primary{min-height:40px;padding:0 13px;display:flex;align-items:center;gap:5px;border:1px solid var(--blue);border-radius:9px;color:#fff;background:var(--blue);font-size:13px}.employee-list{display:grid;gap:9px}.employee-card{width:100%;min-height:82px;padding:12px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:11px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;text-align:left;box-shadow:0 2px 8px #14253f0a}.employee-card.inactive{opacity:.65}.employee-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:#336a9e;background:#edf4fb}.employee-main{min-width:0;display:grid;gap:3px}.employee-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.employee-main small{color:#596474;font-size:11px}.employee-main em{color:#9298a2;font-size:10px;font-style:normal}.role-chip{max-width:105px;padding:5px 8px;border-radius:7px;color:#536171;background:#eef1f4;font-size:9px;text-align:center}.role-head,.role-admin{color:#6543c1;background:#f1edff}.role-deputy{color:#0d6ccf;background:#eaf2ff}.role-manager{color:#9b6900;background:#fff5df}.toggle-row{min-height:48px;display:flex!important;align-items:center;gap:9px!important}.toggle-row input{width:22px!important;min-height:22px!important}.report-hero{min-height:150px;padding:23px;display:flex;align-items:center;justify-content:space-between;border-radius:16px;color:#fff;background:linear-gradient(135deg,#146fdc,#2a88f6);box-shadow:0 10px 24px #1677ed3b}.report-hero span{font-size:13px;opacity:.85}.report-hero strong{display:block;margin:5px 0 0;font-size:44px;line-height:1}.report-hero p{margin:3px 0 0;font-size:13px;opacity:.85}.report-hero>svg{opacity:.8}.report-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}.report-kpis button{min-height:106px;padding:11px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e5e8ed;border-radius:12px;color:var(--blue);background:#fff}.report-kpis button.danger{color:var(--red)}.report-kpis svg{width:22px}.report-kpis strong{margin:4px 0;font-size:24px}.report-kpis span{color:#6f7785;font-size:10px}.chart-card,.report-list-card,.settings-card{margin-top:15px;padding:16px;border:1px solid #e4e7eb;border-radius:14px;background:#fff;box-shadow:var(--shadow)}.chart-card h2,.settings-card h2{margin:0 0 15px;font-size:17px}.bar-chart{display:grid;gap:11px}.bar-chart>div{display:grid;grid-template-columns:95px 1fr 24px;align-items:center;gap:9px}.bar-chart span{font-size:11px;color:#616a78}.bar-chart i{height:8px;border-radius:8px;background:#edf0f3;overflow:hidden}.bar-chart b{height:100%;display:block;border-radius:8px;background:var(--blue)}.bar-chart strong{font-size:12px;text-align:right}.report-list-heading{padding-bottom:12px}.report-list-heading h2{margin:0 0 4px;font-size:17px}.report-list-heading p{margin:0;color:#717a87;font-size:11px;line-height:1.4}.report-overdue-person{border-top:1px solid #edf0f2}.report-overdue-toggle{width:100%;min-height:48px;padding:0;display:grid;grid-template-columns:30px minmax(0,1fr) 30px 22px;align-items:center;border:0;color:inherit;background:transparent;text-align:left}.report-overdue-toggle>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#55708d;background:#edf3f9;font-size:11px}.report-overdue-toggle strong{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.report-overdue-toggle em{color:var(--red);font-size:13px;font-style:normal;font-weight:700;text-align:right}.report-overdue-toggle svg{color:var(--blue);transition:transform .2s ease}.report-overdue-toggle svg.expanded{transform:rotate(180deg)}.report-overdue-tasks{margin:0 -5px 9px 30px;padding:8px;display:grid;gap:7px;border-radius:10px;background:#f4f7fa}.report-overdue-tasks button{min-width:0;padding:9px 10px;display:grid;gap:3px;border:1px solid #e3e8ee;border-radius:8px;color:#27364a;background:#fff;text-align:left}.report-overdue-tasks strong{color:var(--blue);font-size:10px}.report-overdue-tasks span{overflow:hidden;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.report-overdue-tasks small{color:var(--red);font-size:10px}.report-buttons{display:grid;gap:10px;margin-top:16px}.segment-control{height:46px;padding:3px;display:grid;grid-template-columns:1fr 1fr;border-radius:11px;background:#edf0f4}.segment-control button{border:0;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:7px;color:#67707e;background:transparent;font-size:13px}.segment-control button.active{color:#173d66;background:#fff;box-shadow:0 2px 7px #14253f1a;font-weight:600}.settings-card{display:grid;gap:13px}.settings-card h2{display:flex;align-items:center;gap:8px}.settings-card h2 svg{color:var(--blue)}.settings-card p{margin:-5px 0 0;color:#727a87;font-size:12px;line-height:1.4}.admin-page>.primary-button{margin-top:15px}.audit-list article{min-height:82px;padding:12px;display:grid;grid-template-columns:42px 1fr;gap:10px;border-bottom:1px solid #e9ebef}.audit-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#456b91;background:#eef4fa}.audit-list article>div{min-width:0}.audit-list strong{font-size:13px}.audit-list p{margin:3px 0;font-size:12px}.audit-list small{display:block;overflow:hidden;color:#7b8390;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.audit-list time{display:block;margin-top:4px;color:#9aa0aa;font-size:10px}.loading-page,.state-page{min-height:100svh;padding:30px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#757d89;background:#fff;text-align:center}.loading-page span{margin-top:14px;font-size:14px}.spinner{width:34px;height:34px;border:3px solid #deebf9;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}.state-page h1{margin:16px 0 7px;color:#1c2430}.state-page p{max-width:360px;line-height:1.5}.state-illustration{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;color:var(--red);background:var(--red-soft);font-size:30px;font-weight:700}.state-page .primary-button{max-width:300px}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;z-index:150;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));width:min(calc(100% - 36px),500px);padding:13px 16px;border-radius:11px;color:#fff;background:#1d2a3a;box-shadow:0 10px 30px #0c192a40;transform:translate(-50%);text-align:center;font-size:14px;animation:toast-in .2s ease-out}.toast-error{background:#b41f39}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@media(max-width:520px){.header-title{min-width:175px}.header-title strong{font-size:18px}.header-title span{max-width:180px;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.app-header{padding-inline:14px}.header-side-left{min-width:60px}.header-actions .icon-button{width:40px;height:40px}.close-button{font-size:15px}.stats-grid{gap:10px}.stat-card{height:114px;padding:13px}.stat-compact{height:105px;padding:13px 7px}.stat-icon{width:36px;height:36px}.stat-top{gap:10px}.stat-top strong{font-size:29px}.stat-label{margin-top:8px;font-size:15px}.stat-description{font-size:11px}.task-card{padding-left:13px;min-height:90px}.task-card-top>strong{font-size:14px}.status-badge{min-height:27px;padding:5px 10px;font-size:11px}.task-card-meta{gap:6px;font-size:10px}.task-card-meta em{max-width:94px}.task-card-meta>i{height:18px}.detail-row{grid-template-columns:26px 105px 1fr;column-gap:5px}.detail-title h1{font-size:23px}.employee-card{grid-template-columns:44px 1fr}.employee-card .role-chip{grid-column:2;justify-self:start;margin-top:-3px}.employee-avatar{width:42px;height:42px}}@media(max-width:370px){.page{padding-inline:14px}.stats-grid{gap:8px}.stat-card{padding:14px 11px}.stat-top strong{font-size:28px}.stat-icon{width:36px;height:36px}.stat-label{font-size:15px}.task-card-meta>i{display:none}.task-card-meta{align-items:flex-start;flex-direction:column}.task-card-meta em{max-width:190px}.task-card{min-height:145px}.form-grid-two{grid-template-columns:1fr}.confirm-card>div{grid-template-columns:28px 94px 1fr}}@media(min-width:681px){.app-shell{margin-top:24px;min-height:calc(100svh - 48px);border-radius:24px;overflow:hidden}.app-header{position:sticky}.floating-action{bottom:42px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
