/**
 * Zadacha Online - Main Styles
 *
 * Главный файл стилей - только импорты.
 * Документация: .claude/docs/design-system/
 *
 * Структура:
 *   base/       - переменные, сброс, типографика
 *   layout/     - шапка, подвал, навигация, контейнеры
 *   components/ - кнопки, карточки, формы и др.
 *   pages/      - стили конкретных страниц
 *
 * Cache busting: WhiteNoise автоматически хеширует файлы в production.
 * Не нужно добавлять ?v=... к импортам!
 */

/* ===== BASE ===== */
@import url("base/fonts.1adc6d340669.css");            /* Self-hosted Gilroy @font-face (brand font) */
@import url("base/variables.99a91f5819e8.css");        /* Переменные для всех */
@import url("base/palettes.e47bb259c20e.css");         /* GENERATED темы (html[data-palette]); после variables */
@import url("base/theme-analitika.472615902983.css");  /* Своя типографика и форма; после palettes */
@import url("base/style-panels.05ac15d38b9b.css");    /* Оформление панелями, html[data-style]; независимо от палитры */
@import url("base/chrome-field.fc4b47702e4d.css");    /* Одно полотно на всю акцентную раму; идёт ПОСЛЕ панелей: гасит их заливку */
@import url("base/theme-laguna.c9b4afd7379f.css");     /* Своя форма, воздух и градиентный рельс; после palettes */
@import url("base/breakpoints.b47131fadc06.css");      /* Responsive breakpoints (single source of truth) */
@import url("base/page-transitions.9b34f5d6fec9.css"); /* Предотвращение блымка */
@import url("base/reset.4b59f900d2d8.css");
@import url("base/typography.a03022f54f87.css");
@import url("base/focus.10fcb6870290.css");            /* Systemic keyboard focus ring + skip-link */
@import url("base/interactive.8e46509f211c.css");      /* Systemic pointer affordances (cursor by LinkHandler contract) */
@import url("base/utilities.dc2b68d3c623.css");
@import url("base/animations.8a2778b0f973.css");       /* Smooth animations & micro-interactions */
@import url("base/enter.a892bb5b80bf.css");            /* Enter canon: how a node appears when it lands in the DOM */
@import url("base/effects.2f08c9bd37dd.css");          /* Glassmorphism, glows, shines */
@import url("base/scrollbar.787fb46f11a2.css");        /* Кастомный скроллбар */
@import url("base/view-transitions.8ea10d6d2fb8.css"); /* View Transitions API (progressive) */
@import url("base/view-transition-recipes.60befed6f7d0.css"); /* What the person can pick instead of the default */

/* ===== LAYOUT ===== */
@import url("layout/container.123186d748b5.css");
@import url("layout/header.45f745f4627e.css");
@import url("layout/nav.e711d8c17cd0.css");
@import url("layout/sidebar.d2661b1aabe8.css");
@import url("layout/footer.85df82bc9f4d.css");
@import url("layout/page.960722d62c54.css");           /* Unified page structure */
@import url("layout/info-panel.82ee8eaac933.css");     /* Right info panel */
@import url("layout/chat-sidebar.77adf4ecd64a.css");   /* Chat sidebar (replaces info panel on chat pages) */

/* ===== COMPONENTS ===== */
@import url("components/stat-tiles.393c8359cbdf.css"); /* числа недели и «тебе чекають» */
@import url("components/panel-resizer.c1a7b7cbad3f.css");       /* Collapse/expand toggle buttons for sidebar & info panel */
@import url("components/collapse.49d10c65d86d.css");           /* Reusable grid-fold collapse (smooth section fold) */
@import url("components/buttons.8bd023c6573f.css");
@import url("components/action-row.cf8d723b749d.css");
@import url("components/forms.10ef47d02f5c.css");
@import url("components/rich-content.b3b69d77ba78.css");       /* Rich text content (descriptions, comments) */
@import url("components/inline-edit.bc9aa3a35ceb.css");        /* Inline editing for CRUD pages */
@import url("components/name-field.da8bfd46c7be.css");         /* Label + editable name value + pencil (employee card, settings) */
@import url("components/cards.08f9fe93b0be.css");
@import url("components/messages.77a5a2f77bf7.css");
@import url("components/meeting-conflicts.b1b104097521.css");  /* Who is busy then: a warning under a meeting's attendees. After messages.css: it seats that box */
@import url("components/avatars.edb1468387bc.css");
@import url("components/online-indicator.18095ffddf5b.css");   /* Online status indicator */
@import url("components/presence-stack.d75df21eb5cb.css");     /* "Also viewing now" avatar stack (task detail) */
@import url("components/leave-indicator.453f76c122c9.css");    /* Leave status indicator (on avatars) */
@import url("components/chips.b6e5aae63f0d.css");              /* User/Team chips */
@import url("components/task-chip.7d75b6163213.css");          /* Task shown in one line */
@import url("components/reaction-bar.4d96123c7f6d.css");       /* Reactions: one component for all four places */
@import url("components/chat-thread.31367b82a239.css");        /* Slack-style thread drawer + indicator */
@import url("components/chat-quote.309eedbf55a3.css");         /* Telegram-style quote block + reply preview bar */
@import url("components/user-status.21fff5abbc6b.css");        /* Статусы пользователей */
@import url("components/badges.bbcaf6c2c450.css");
@import url("components/value-pill.5c99c7f42d56.css");         /* Neutral cell-value pill (+ copy-on-click for contacts) */
@import url("components/triage.ad11f8a08cc6.css");             /* Vita triage palette: critical/high/medium/low/info/done + pulse */
@import url("components/vita-primitives.8ab4c525bb42.css");    /* Vita primitives: input-group, kbd, field, crumb, tabs--vita, stat-strip */
@import url("components/vita.8ac3853f8383.css");            /* Vita warm extension: t-display/t-h1/t-h2, pulse-dot, card--warm, file-tile, linked-task, mention-soft */
@import url("components/vita-globals.fd178e716201.css");    /* Vita universal page-level accents - applies to every .page--list/--detail/--form so the warm-clinical layer is sitewide, not per-page */
@import url("components/charts.93aec2f44f97.css");             /* Vita charts: sparkline, bar-chart, triage-bars, segmented-progress, donut, kpi-card */
@import url("components/progress-bar.96abdbbe2217.css");       /* Generic progress track + fill (4px default, --sm 6px) */
@import url("components/list-scope.77d21f415c10.css");         /* Hidden list overview: the held count chip and the wordless mark (task + support lists) */
@import url("components/notification-badge.cd3f9cad7958.css"); /* Vita notification avatar+icon overlay + tinted icon-square */
@import url("components/date-display.c21086d30a5b.css");       /* Date display with calendar icon */
@import url("components/view-indicator.291d78124ce9.css");     /* View count indicator (eye icon) */
@import url("components/user-popover.ad3300c1ca98.css");       /* User info popover on @mention hover */
@import url("components/team-popover.37df04b02c9c.css");       /* Team info popover on @team mention hover */
@import url("components/project-popover.de01ff35fff4.css");    /* Project info popover on @project mention hover */
@import url("components/mentions.c016de1bd484.css");           /* Inline @mention pills (one look on every surface) */
@import url("components/mention-popover.0fd62085ff57.css");    /* Unified mention popover (supersedes above) */
@import url("components/mention-typeahead.798816a45978.css");  /* @-autocomplete dropdown (chat composer) */
@import url("components/tabs.e5c664393752.css");               /* Horizontal tab navigation */
@import url("components/segment-control.bd37a68021d6.css");    /* iOS-style pill selector */
@import url("components/tables.2cd720fe1280.css");
@import url("components/tree-rails.f0698cc7a357.css");   /* Kin lines in a ladder list: hover a row, see its parent and its direct children */
@import url("components/table-fullscreen.10b9d6df5a7c.css");   /* Fullscreen mode: hides the chrome, not covers it */
@import url("components/table-select.494f7a2bdd75.css");       /* Tick column + the bar of mass actions */
@import url("components/activity-link.b9a1434f81cd.css");      /* "Activity history" card-link on detail pages */
@import url("components/task-detail-extras.28e008178819.css"); /* Sticky bar, collapsible sections, copy-link (task detail v1) */
@import url("components/sortable-table.3919dd32ae8b.css");     /* Sortable table headers */
@import url("components/table-total.ddcb535d69c2.css");        /* Closing "Total" row under a table */
@import url("components/table-value-scale.0c68979254c3.css");  /* Numeric column reads as a shape: bigger = deeper */
@import url("components/mobile-table-cards.399bcd93bdb0.css"); /* Mobile card view for tables */
@import url("components/dropdowns.d5b178f04a62.css");
@import url("components/row-actions.d60f2f92f912.css");        /* Per-row kebab (⋮) actions menu */
@import url("components/multiselect-filter.ad429b11048e.css"); /* Multi-select dropdown filters */
@import url("components/filter-grid.e65ca003a90e.css");        /* Responsive grid layout for filters */
@import url("components/context-menu.4cb14e540c19.css");       /* Right-click & action menus */
@import url("components/profile-menu.da491c8ae8f4.css");       /* Меню карточки профиля (поверх context-menu) */
@import url("components/popover.9ca5cd00afa9.css");            /* Всплывающие окна */
@import url("components/tooltips.a876dbcc82f4.css");           /* CSS-only hover tooltips */
@import url("components/pickup-move.27613c512d78.css");        /* Keyboard pick-up-and-move hint */
@import url("components/dialog.a716f594452d.css");             /* Dialog & Toast notifications */
@import url("components/dialog-subject.ad58b9e7914a.css");     /* Dialog subject preview block (ConfirmGuard) */
@import url("components/notifications.501044d9d4c0.css");      /* Notification items & mentions (all categories) */
@import url("components/unread-highlight.8fd068b1bc63.css");   /* Unread element highlighting (viewport-based) */
@import url("components/star-toggle.e85615b971af.css");       /* Star/favorite toggle button for tasks */
@import url("components/task-open-tab.74a403feeea8.css");      /* "Open in new tab" icon-link in task lists */
@import url("components/scroll-anchor.3ffcd9112076.css");      /* Scroll-to-element highlight (notification anchors) */
@import url("components/info-panel-org.ca4404395bb4.css");      /* Organization overview in InfoPanel */
@import url("components/info-panel-swap.dc575def47a5.css");     /* Content swap motion inside InfoPanel */
@import url("components/info-panel-recipes.2b416c2fe9ed.css");  /* What the person can pick instead of the wave */
@import url("components/org-chart-new.b0e6799c96fd.css");      /* d3-org-chart based org structure */
@import url("components/org-search.2e150bbd9f9c.css");         /* Find a person or a team on the org chart */
/* org-chart-3d.css рисует ОДНУ страницу (/org/chart-3d/), на которую в меню нет
   ни одной ссылки, поэтому она грузится там же, где живёт: в extra_css самого
   шаблона organization/org_chart_3d.html. В общем наборе её фон-градиент ехал
   на все 56 страниц продукта и ни на одной не применялся. */
@import url("components/flatpickr-theme.46e4285e5858.css");    /* Flatpickr datetime picker theme */
@import url("components/detail-sidebar.00d29fc81f66.css");     /* Unified detail page sidebar */
@import url("components/activity-log.dd37581e0d42.css");       /* Activity timeline */
@import url("components/chip-selector.e31e04220729.css");      /* Modern multi-select chips */
@import url("components/labels-field.7d7170605ff4.css");       /* The «Мітки» row of a card's «Деталі» and its search */
@import url("components/strip-picker.03b771331475.css");       /* A tile of the phone strip opens its choice under itself */
@import url("components/genie.0781bd2d95a8.css");               /* Window grows out of a button and folds back into it */
@import url("components/panel-genie.6688e906cade.css");        /* InfoPanel grows out of the row that was clicked */
@import url("components/ai-summary.769dda898bd2.css");         /* AI summary blocks (tasks + tickets) */
@import url("components/morning-brief.1c05346e392c.css");      /* Morning brief block on the task list */
@import url("components/ai-chat.851f674d1815.css");            /* AI assistant: sidebar sparkle, chats AI tab, page bubbles */
@import url("components/notif-catchup.9c6da7cbc960.css");      /* Notification catch-up popover ("What did I miss?") */
@import url("components/modals.9f2fd6ccfb98.css");             /* Universal modal dialogs */
@import url("components/lightbox.5e7644b1ff05.css");           /* Fullscreen image lightbox */
@import url("components/video-player.90a2a5a91aea.css");       /* Modal video player */
@import url("components/file-viewer.1f63ab6ea73b.css");        /* Modal preview: pdf, audio, text */
@import url("components/loader.2a3e15b88961.css");             /* Loading states & spinners */
@import url("components/navigation-progress.003df273be37.css"); /* Top strip: the click is heard while the server thinks */
@import url("components/password-toggle.1e163ace7e25.css");    /* Password visibility toggle */
@import url("components/form-wizard.627fec073583.css");         /* Long form split into steps */
@import url("components/audience-picker.3b89621d7eca.css");     /* «Кому»: one audience picker for news and broadcasts */
@import url("components/skeleton.fdbb467661c8.css");           /* Skeleton loading states */
@import url("components/dashboard-viz.7cd0f9c0839c.css");      /* Dashboard platform: chart hosts, tooltips, chart skeletons */
@import url("components/ranked-table.2ab76d5af3c3.css");       /* Dashboard platform: a rating drawn as a table (FL.ranked) */
@import url("components/dashboard-export.bf7272a1bc71.css");   /* Dashboard platform: the export tab at the foot of a board */
@import url("components/empty-state.149a5628bda7.css");        /* Empty states - premium */
@import url("components/section-adder.9b20ee0a3f5a.css");      /* «Додати до задачі»: empty card sections folded into one row */
@import url("components/multi-input.8920018f760c.css");        /* Array input (phones, emails) */
@import url("components/contact-display.b8bb284a4828.css");    /* Contact display with type badges */
@import url("components/photo-gallery.8fb6333ae861.css");      /* Photo gallery for profile */
@import url("components/image-cropper.2fac125987fd.css");      /* Circular image crop modal */
@import url("components/emoji-picker-popup.76943cc66d74.css");  /* Shared emoji picker popup */
@import url("components/emoji-input.3b86199466cd.css");        /* Emoji form field (chip trigger + clear) */
@import url("components/rich-editor.f9a3d168d233.css");        /* Quill-based WYSIWYG editor */
@import url("components/attachments.7aa3d71cc257.css");        /* File attachment thumbnails & grids */
@import url("components/attachments-dropzone.3a7e606dbddd.css"); /* Fullscreen "drop to attach" overlay (task detail) */
@import url("components/ekg-animation.6dbf5f768d81.css");      /* EKG heartbeat animation */
@import url("components/radar-sweep.8577adb4e0d1.css");        /* Ambient radar sweep effect */
@import url("components/leave.f0d75f6eb9db.css");              /* Leave management styles */
@import url("components/offboarding.7f847b023a08.css");        /* Звільнення: окно и карточка процесса. После leave.css: карточка дополняет его .approval-chain, и при равной силе правила побеждать обязана она */
@import url("components/bottom-nav.5238cba9fc1f.css");         /* Mobile bottom navigation bar */
@import url("components/action-dock.d649e370e07f.css");        /* Кнопки шага над нижним меню на телефоне (решение 4А, 27.09.2026) */
@import url("components/counter.fd56443ecb84.css");            /* Numeric counter canon (circle at 1 digit, capsule at 2+). LAST among components on purpose: it owns the geometry of counters that used to be declared in badges/tabs/segment/tables/bottom-nav/chat-sidebar and must outrank all of them */
/* components/swipe-actions.css not imported: module is unwired (no SwipeActions.init anywhere); restore together with the JS in base.html */
@import url("components/pull-refresh.849b50074a6c.css");       /* Mobile pull-to-refresh indicator */
@import url("components/form-validation.a3206166d341.css");   /* Inline form validation (shake, colors) */
@import url("components/image-field.89c486da54eb.css");       /* One image on a form: preview, pick, remove */
@import url("components/range-slider.c25aa3d9046b.css");    /* Styled input[type=range] (sound volume) */
@import url("components/recurrence.10a766132abf.css");        /* Shared RRULE picker (meetings + recurring tasks) */
@import url("components/permission-banner.a082b3991e08.css"); /* Notice strip: draft, template, no-access */
@import url("components/staging-banner.c6c672ebb15d.css");     /* Staging environment indicator */
@import url("components/role-view-banner.3dee3718d2f0.css");    /* "View as role" shell indicator */
@import url("components/demo-lease-strip.35dc8caa25e6.css");    /* Clock of a copy of the demo pool */

/* Ветку комментариев и пузырь чата рисует не одна страница, поэтому 13.08.2026
   оба файла переехали сюда из `pages/`: комментарии стоят на задаче, тикете и
   в зеркале закреплённого, пузырь чата вдобавок рисует виджет догона из
   base.html, то есть КАЖДАЯ страница. Порядок между ними сохранён (комментарии
   раньше чата), и в этом месте блока переезд не поменял ни одного вычисленного
   значения: единственное столкновение, `.comment-form { margin-bottom }` из
   pages/task-detail.css, было мёртвым и снято той же правкой. */
@import url("components/comments.14d30c5cc861.css");        /* Comment thread: task, ticket, pinned mirror */
@import url("components/comment-request.447832ecd726.css"); /* «Прохання»: a task comment that asks named participants */
@import url("components/chats.65244efe8e45.css");          /* Chat bubble: chat pages + AI catch-up widget */
@import url("components/optical-align.e5b6d7ff167a.css");  /* Optical alignment: trim boxes to the letters */
@import url("components/process-diagram.2fec22970c4e.css"); /* Business process diagram: lanes, shapes, arrows */

/* ===== PAGES ===== */
@import url("pages/login.4eb4a5d82d5d.css");
@import url("pages/admin.da131c3bc774.css");
@import url("pages/organization.fa750f39f572.css");

/* Task management (modular) */
@import url("pages/tasks.94aef8592091.css");           /* Core task styles */
@import url("pages/task-detail.81cd49d042cb.css");     /* Task detail - two column */
@import url("pages/task-form.535237e4d5a5.css");       /* Task create/edit form - Progressive Disclosure */
@import url("pages/task-list.361e287acc5d.css");       /* Task list - split panel */
@import url("pages/kanban.00cf5ba15e0c.css");          /* Kanban board */
@import url("pages/calendar.2bdd7518f122.css");        /* Calendar view with meetings */
@import url("pages/meeting-detail.b3bbc5159497.css");  /* Meeting detail page */
@import url("pages/gantt.8a357bbdd62e.css");           /* Gantt chart */
@import url("pages/teams.1c45e34ec1dc.css");           /* Teams list */
@import url("pages/team-detail.fb306c4f2eb3.css");     /* Team detail page */
@import url("pages/org-chart-cascade.d152c201cec9.css"); /* Org chart Miller-columns cascade view */
@import url("pages/projects.344426d0337f.css");        /* Projects list & detail */
@import url("pages/news.49e5a1be25d5.css");            /* News/Announcements */
@import url("pages/profile.3b96b0eb9818.css");         /* User profile page */
@import url("pages/profile-notifications.4316d665ba4c.css"); /* Notification preferences */
@import url("pages/profile-appearance.7014d44a3693.css"); /* Color preset picker (Appearance settings) */
@import url("pages/activity-history.81c1bb299336.css"); /* Per-user activity timeline (/ua/activity/) */
@import url("pages/user-detail.f1f9c440ef8b.css");     /* User detail - unified create/view/edit */
@import url("pages/leave.288ef037c502.css");           /* Leave management */
@import url("pages/balance-ledger.ab484eb692a4.css");  /* Leave balance statement (/leave/user/<id>/balance/) */
@import url("pages/documents.0137e33fb242.css");       /* Documents library */
@import url("pages/errors.32476e56c4a2.css");          /* Error pages (404, 500, 403) */
@import url("pages/broadcasts.1cfaba6d31e8.css");      /* Broadcasts list */
@import url("pages/mobile-vita.f6645ff7be9d.css");        /* Vita mobile polish - compact greetings, 2-col stat-strip, priority-stripe cards, denser notifications/profile */
@import url("pages/backstage-catalog.558fa6410727.css"); /* Backstage project catalog */
@import url("pages/support.3daf4d33bae4.css");         /* Support tickets list/detail + bug-report modal */
@import url("pages/ai-admin.a760c5d87ef7.css");        /* AI access control panel (/dev/ai/) */
@import url("pages/weekly-recap-admin.14087843db5f.css"); /* who sees the Monday recap (/dev/weekly-recap/) */
@import url("pages/risk-radar.2b93661a2d48.css");      /* AI risk radar (/reports/risk-radar/) */
@import url("pages/form-builder.de6c82714485.css");    /* Form builder (/dev/forms/) */
@import url("pages/mailin.a32c9cc5cf36.css");          /* Inbound mail (/dev/mail/) */
@import url("pages/task-fields.f5728bdad590.css");     /* Task fields: label plates on the card, the field page (/dev/task-fields/) */
@import url("pages/docgen.fb0ed5063fcb.css");          /* Documents from templates (/dev/doc-templates/) */
@import url("pages/dashboards.ced157d95bbc.css");      /* Dashboards index and tab shell (/dev/dashboards/) */
@import url("pages/dashboard-presence.344776c4dce9.css"); /* Time in the system: the clickable people list */
@import url("pages/automations.4738023885a9.css");     /* Automation rules (/dev/automations/) */
@import url("pages/sales.f21b02ce4522.css");           /* Sales: deals board, deal strip on the task card, leads, companies (/dev/sales/) */
@import url("pages/surveys.1281b4bc052e.css");         /* Surveys: the card of a survey and its questions (/dev/surveys/) */

/* ===== THEMES =====
   Vita pivot 2026-05-04: legacy theme overlay removed.
   Dark mode is now part of variables.css via [data-theme="dark"].
*/
