:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#303a4a;background:#f4f7fb;font-size:14px;font-weight:400;--page-bg: #f4f7fb;--surface: #fff;--surface-soft: #f8fafc;--border: #e6ebf2;--border-strong: #d9e1ec;--text: #303a4a;--muted: #667286;--faint: #8a97aa;--blue: #2f80ed;--blue-soft: #eef5ff;--radius: 8px;--control-height: 40px;--chip-height: 36px;--gap: 12px;--panel-shadow: 0 10px 24px rgba(42, 54, 71, .06)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--page-bg)}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{display:grid;align-content:start;gap:20px;padding:26px 22px;border-right:1px solid var(--border);background:var(--surface)}.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:var(--page-bg)}.login-card{display:grid;width:min(420px,100%);gap:22px;padding:26px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--panel-shadow)}.login-card h1{margin-top:4px;font-size:26px}.login-card p{margin-top:8px;color:var(--muted)}.login-card form{display:grid;gap:14px}.login-error{color:#d84848;font-weight:500}.sidebar-logout{min-height:var(--chip-height);margin-top:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);color:var(--muted);font:inherit;font-weight:500;cursor:pointer}.brand-row{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:#2f80ed;color:#fff;font-weight:700}.brand-logo{width:44px;height:44px;object-fit:contain;border:1px solid var(--border);border-radius:12px;background:var(--surface)}h1,h2,p{margin:0}.workspace{padding:26px 32px}.eyebrow{color:#8a97aa;font-size:12px;font-weight:600;text-transform:uppercase}h2{margin-top:4px;font-size:28px;font-weight:700;line-height:1.1}h1{font-size:18px;font-weight:700;line-height:1.15}.brand-row p{margin-top:2px;color:#8a97aa;font-size:13px;font-weight:400}.main-nav{display:grid;gap:8px}.main-nav button,.segmented button,.quick-filters button{min-height:var(--chip-height);border:1px solid #e0e7f0;border-radius:var(--radius);background:var(--surface);color:#566276;padding:0 13px;font:inherit;font-weight:500;line-height:1.2;text-align:left;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.main-nav button.active,.segmented button.active,.quick-filters button.active{border-color:#bcd4ff;background:var(--blue-soft);color:#1f68d6;font-weight:600}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-top:18px}.toolbar{display:grid;max-width:420px;margin-top:16px;padding:var(--gap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--panel-shadow)}.toolbar-button{align-self:end;min-height:40px}label{display:grid;gap:6px;color:#8a97aa;font-size:13px;font-weight:500}select{width:100%;min-height:var(--control-height);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:0 12px;font:inherit;font-weight:400}input{width:100%;min-height:var(--control-height);box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:0 12px;font:inherit;font-weight:400}textarea{width:100%;min-height:92px;box-sizing:border-box;resize:vertical;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:10px 12px;font:inherit;font-weight:400}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 34%,transparent);outline-offset:2px}article,.panel{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--panel-shadow)}article span,article small,.panel span{color:#8a97aa;font-size:13px;font-weight:400}.metric-card strong{font-size:26px;font-weight:700;line-height:1.05}.note{max-width:760px;margin-top:24px;color:#667286;font-weight:400}.money-page{display:grid;gap:16px}.finance-brief-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.finance-brief-grid div{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.finance-brief-grid span{color:#8a97aa;font-size:13px}.finance-brief-grid strong{color:#303a4a;font-size:18px;font-weight:700}.records-page,.clients-page,.tasks-page,.calendar-page,.settings-page{display:grid;gap:16px}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:18px;padding:0}.storage-warning{margin-bottom:14px;border:1px solid #f2d08a;border-radius:var(--radius);background:#fff8e8;color:#77612a;padding:10px 12px;font-size:13px}.work-photo-reminders{display:grid;gap:10px;margin-bottom:18px}.work-photo-reminder{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #b9d8ff;border-radius:var(--radius);background:#eef6ff;color:#29415f;padding:12px 14px}.work-photo-reminder strong{display:block;margin-bottom:3px;color:#223149;font-weight:600}.work-photo-reminder span{color:#60728b;font-size:13px}.work-photo-reminder-actions,.action-buttons,.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.modal-actions.split{justify-content:space-between}.modal-actions.split>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.action-note{max-width:260px;color:#8a97aa;font-size:12px;line-height:1.3}.action-note.ok{color:#2f8057}.action-note.warning{color:#c94040}.primary-action,.ghost-action,.danger-action{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);border-radius:var(--radius);padding:0 14px;font:inherit;font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.primary-action:disabled{border-color:#c9d4e2;background:#c9d4e2;cursor:not-allowed}.primary-action{border:1px solid var(--blue);background:var(--blue);color:#fff}.record-create-action,.client-create-action,.task-create-action{min-height:44px;color:#fff;padding:0 18px;font-weight:650}.record-create-action{border-color:#2f9b68;background:linear-gradient(180deg,#41b77d,#2f9b68);box-shadow:0 12px 24px #2f9b6833}.record-create-action:hover{box-shadow:0 14px 28px #2f9b6842}.client-create-action{border-color:#2f7de1;background:linear-gradient(180deg,#3f8ff0,#2f7de1);box-shadow:0 10px 22px #2f7de12e}.client-create-action:hover{box-shadow:0 12px 26px #2f7de13d}.task-create-action{border-color:#e0524d;background:linear-gradient(180deg,#f0645f,#e0524d);box-shadow:0 10px 22px #e0524d2e}.task-create-action:hover{box-shadow:0 12px 26px #e0524d3d}.ghost-action{border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.danger-action{border:1px solid #ffd0d0;background:var(--surface);color:#d14444}.primary-action:hover,.ghost-action:hover,.danger-action:hover,.main-nav button:hover,.segmented button:hover,.quick-filters button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #2a364714}.modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:start center;overflow:auto;padding:42px 18px;background:#1f29376b}.modal-card{display:grid;gap:14px;width:min(760px,100%);border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);padding:18px;box-shadow:0 22px 54px #2a364738}.modal-card.record-modal-card{width:min(900px,100%)}.record-modal-card .modal-actions{position:sticky;z-index:2;bottom:-18px;margin:2px -18px -18px;border-top:1px solid var(--border);border-radius:0 0 10px 10px;background:#f8fbfff5;padding:12px 18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-head h2{font-size:22px}.modal-head button{width:36px;height:36px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:22px;line-height:1}.modal-form{display:grid;gap:14px}.record-tabs{display:flex;gap:6px;padding:4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.record-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1;min-height:var(--chip-height);border:0;border-radius:6px;background:transparent;color:#667286;font:inherit;font-weight:500;cursor:pointer}.record-tabs button.active{background:var(--blue-soft);color:#1f68d6}.tab-badge{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:999px;background:#fff;color:#1f68d6;padding:0 6px;font-size:12px;font-weight:650}.record-modal-summary{display:grid;grid-template-columns:1.35fr repeat(4,minmax(0,1fr));gap:8px}.record-modal-summary>div{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:10px 12px}.record-modal-summary span,.record-modal-summary small{display:block;color:#8a97aa;font-size:12px;line-height:1.25}.record-modal-summary strong{display:block;margin:4px 0 3px;color:var(--text);font-size:14px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.photo-state{display:flex;align-items:center;gap:6px;margin-top:6px;color:#8a97aa;font-size:12px;font-weight:600;line-height:1.25}.photo-state.loaded{color:#3f7a56}.photo-state.empty{color:#8a97aa}.photo-state-dot{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:currentColor}.record-modal-summary .attention strong{color:#c94040;font-weight:700}.record-tab-panel{display:grid;gap:14px}.record-form-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:14px}.record-form-section-head h3{margin:0;color:var(--text);font-size:15px;font-weight:650;line-height:1.25}.record-form-section-head p{margin:6px 0 0;color:#8a97aa;font-size:12px;line-height:1.35}.record-form-section-body{display:grid;min-width:0;gap:12px}.record-form-section .status-panel,.record-form-section .excursion-panel,.record-form-section .check-grid{border-color:#edf2f8;background:#fbfdff}.money-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.money-quick-actions{display:flex;flex-wrap:wrap;gap:8px}.money-quick-actions button{min-height:var(--chip-height);padding:0 12px;border:1px solid #dce4ef;border-radius:var(--radius);background:var(--surface);color:#56657a;font:inherit;font-weight:500;cursor:pointer}.money-quick-actions button.active{border-color:#2f80ed;background:#eef5ff;color:#1f66c7}.money-summary div{padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.money-summary span{display:block;color:#8a97aa;font-size:13px}.money-summary strong{display:block;margin-top:5px;font-weight:700}.prepayment-link-panel{display:grid;gap:10px;border:1px solid #d7e7ff;border-radius:var(--radius);background:#f7fbff;padding:12px}.prepayment-link-panel strong{display:block;color:var(--text);font-size:14px;font-weight:650;line-height:1.25}.prepayment-link-panel span{display:block;margin-top:4px;color:#64748b;font-size:13px;line-height:1.4}.prepayment-link-result{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.prepayment-link-recipient{display:grid;gap:8px}.prepayment-link-recipient label{display:grid;gap:6px}.prepayment-link-recipient select{min-width:0}.prepayment-link-result .ghost-action{text-decoration:none}.record-task-composer{display:grid;grid-template-columns:minmax(0,1fr) 160px 180px auto;align-items:end;gap:10px}.record-task-form-actions{display:flex;gap:8px}.quick-date-buttons{display:flex;flex-wrap:wrap;gap:8px}.quick-date-buttons .ghost-action{min-height:var(--chip-height);padding:0 11px;font-size:13px}.record-task-list{display:grid;gap:8px}.record-task-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.record-task-item.done{opacity:.65}.record-task-item strong{font-weight:600}.record-task-item span{display:block;margin-top:3px;color:#8a97aa;font-size:13px}.record-task-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.excursion-panel{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.excursion-panel h4{margin:0;color:var(--text);font-size:13px;font-weight:600;line-height:1.25}.excursion-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.excursion-participants{display:grid;gap:8px}.participant-item{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);padding:8px 10px}.participant-item strong{display:block;font-weight:600}.participant-item span{display:block;margin-top:2px;color:var(--faint);font-size:13px}.status-panel{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.status-panel h4{margin:0;color:var(--text);font-size:13px;font-weight:600;line-height:1.25}.status-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.status-checklist button{display:inline-flex;min-height:var(--chip-height);align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);padding:0 10px;font:inherit;font-weight:500;line-height:1.2;text-align:center;cursor:pointer}.status-checklist button.active{border-color:var(--status-color, #2f80ed);background:color-mix(in srgb,var(--status-color, #2f80ed) 12%,#fff);color:var(--text)}.status-extra{display:grid;gap:10px}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice-row label{display:flex;min-height:var(--control-height);align-items:center;gap:8px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);color:#303a4a}.choice-row input{width:auto;min-height:auto;padding:0}.field-caption{color:#8a97aa;font-size:13px}.photo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.photo-thumb{display:grid;gap:8px}.photo-preview-button{width:100%;border:0;background:transparent;padding:0;cursor:zoom-in}.photo-thumb img{width:100%;aspect-ratio:1;border:1px solid #e6ebf2;border-radius:8px;object-fit:cover}.photo-viewer{position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:24px;background:#1f2937ad}.photo-viewer-panel{display:grid;gap:12px;width:min(1100px,100%);max-height:calc(100vh - 48px);overflow:hidden;border:1px solid #e6ebf2;border-radius:10px;background:#fff;padding:12px;box-shadow:0 22px 54px #2a364747}.photo-viewer-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.photo-viewer-stage{display:grid;min-height:360px;max-height:calc(100vh - 150px);place-items:center;overflow:auto;border-radius:8px;background:#f8fafc}.photo-viewer-stage img{max-width:100%;max-height:calc(100vh - 170px);object-fit:contain;transform-origin:center;transition:transform .12s ease}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.single{grid-template-columns:minmax(0,1fr)}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-warning{border:1px solid #f2d08a;border-radius:8px;background:#fff8e8;color:#77612a;padding:10px 12px;font-size:13px}.form-note{border:1px solid #bee4cf;border-radius:8px;background:#edf8f2;color:#2f8057;padding:10px 12px;font-size:13px}.record-hints{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.record-hint{display:grid;gap:3px;border:1px solid #dfe6f0;border-radius:8px;background:#fff;color:#667286;padding:10px 12px;font-size:13px}.record-hint strong{color:#303a4a;font-weight:600}.record-hint.warning{border-color:#f2d08a;background:#fff8e8;color:#77612a}.record-hint.danger{border-color:#ffd0d0;background:#fff1f1;color:#c94040}.record-hint.danger strong,.record-hint.warning strong{color:inherit}.money-warning{display:flex;align-items:center;justify-content:space-between;gap:10px}.money-warning .ghost-action{min-height:32px;background:#fff}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:14px}.check-grid h4{grid-column:1 / -1;margin:0 0 2px;color:#303a4a;font-size:13px;font-weight:600;line-height:1.25}.check-grid label{display:flex;align-items:center;gap:8px;min-height:var(--chip-height);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);color:var(--text);padding:0 10px;font-weight:400}.check-grid input{width:16px;min-height:16px;flex:0 0 auto}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-grid{--calendar-row-height: 44px;--calendar-header-height: 54px;display:grid;grid-template-columns:72px repeat(var(--calendar-days),minmax(180px,1fr));align-items:stretch;overflow:auto;border:1px solid #e6ebf2;border-radius:8px;background:#fff;box-shadow:0 10px 24px #2a36470f}.calendar-header{position:sticky;top:0;z-index:3;display:grid;align-content:center;height:var(--calendar-header-height);border-bottom:1px solid #e6ebf2;border-left:1px solid #e6ebf2;background:#f8fafc;padding:8px}.calendar-time-head{left:0;z-index:4;border-left:0;color:#8a97aa;font-size:13px}.calendar-header strong{font-weight:700;text-transform:capitalize}.calendar-header span{color:#8a97aa;font-size:12px}.calendar-header.today{background:#eef5ff}.calendar-header.today strong{color:#1f68d6}.calendar-times{position:sticky;left:0;z-index:2;display:grid;grid-template-rows:repeat(var(--calendar-rows),var(--calendar-row-height));border-right:1px solid #e6ebf2;background:#fff}.calendar-times span{display:flex;align-items:center;height:var(--calendar-row-height);border-bottom:1px solid #e6ebf2;color:#667286;padding:0 8px;font-size:13px}.calendar-day{position:relative;display:grid;grid-template-rows:repeat(var(--calendar-rows),var(--calendar-row-height));min-width:180px;border-left:1px solid #e6ebf2}.calendar-day.today{background:#fbfdff}.calendar-slot{position:relative;height:var(--calendar-row-height);padding:0;border:0;border-bottom:1px solid #e6ebf2;background:transparent;cursor:pointer}.calendar-slot:hover{background:#edf8f2}.calendar-slot:hover:after,.calendar-slot:focus-visible:after{content:"+ Запись";position:absolute;inset:8px;display:grid;place-items:center;border:1px dashed #b7dfca;border-radius:8px;color:#2f9b68;font-size:12px;font-weight:600}.calendar-event{position:absolute;z-index:1;display:block;overflow:hidden;border-color:#b8d9f6;background:#dceefd;padding:8px;box-shadow:none;cursor:pointer}.calendar-event.overlap{border-color:#f2d08a;background:#fff8e8}.calendar-event strong{display:block;margin-bottom:4px;font-size:13px;font-weight:700}.calendar-event-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.calendar-mini-badge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:600;line-height:1.2}.calendar-mini-badge.neutral{background:#eef3fb;color:#4a5a73}.calendar-mini-badge.warning{background:#fff5df;color:#9a6b18}.calendar-mini-badge.danger{background:#fde7e7;color:#c04a4a}.calendar-event span{display:block;color:#303a4a;font-size:12px;line-height:1.3}.calendar-event-line{display:flex!important;align-items:flex-start;gap:5px;margin-top:3px}.calendar-event-line b{flex:0 0 auto;font-size:12px;font-weight:400;line-height:1.3}.calendar-event-line em{min-width:0;color:inherit;font-style:normal;line-height:1.3;overflow-wrap:anywhere}.calendar-event-line.muted{color:#667286}.calendar-event p{margin-top:4px;color:#667286;font-size:12px;line-height:1.3}.settings-panel{gap:14px}.settings-accordion-list{display:grid;gap:12px}.settings-accordion{padding:0;overflow:hidden}.settings-accordion>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:12px;align-items:center;min-height:56px;padding:0 16px;color:var(--text);cursor:pointer;list-style:none}.settings-accordion>summary::-webkit-details-marker{display:none}.settings-accordion>summary:after{content:"⌄";color:var(--muted);font-size:18px;line-height:1;text-align:center;transition:transform .16s ease}.settings-accordion[open]>summary:after{transform:rotate(180deg)}.settings-accordion>summary span{min-width:0;font-size:16px;font-weight:650}.settings-accordion>summary small{color:var(--muted);font-size:13px;font-weight:500;text-align:right}.settings-accordion-body{display:grid;gap:14px;border-top:1px solid var(--border);padding:14px 16px 16px}.settings-brand{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}.settings-brand img,.settings-brand .brand-mark{width:58px;height:58px}.settings-brand img{object-fit:contain;border:1px solid #e6ebf2;border-radius:12px;background:#fff}.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-export{display:flex;flex-wrap:wrap;gap:8px}.settings-database{display:grid;gap:12px;max-width:820px}.settings-telegram-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-telegram-flow{margin-top:2px}.settings-telegram-grid>div{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);padding:10px 12px}.settings-telegram-grid strong,.settings-telegram-grid span{display:block}.settings-telegram-grid strong{color:var(--text);font-size:14px;font-weight:650;overflow-wrap:anywhere}.settings-telegram-grid span,.settings-telegram-grid p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.settings-note{max-width:760px;color:var(--muted);font-size:13px;line-height:1.45}.settings-note.strong{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);color:var(--text);padding:10px 12px}.settings-telegram-toggle{max-width:420px}.file-action{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.file-action input{display:none}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}.settings-panel-wide{grid-column:1 / -1}.settings-panel-executors{align-self:start}.settings-list{display:grid;gap:8px}.settings-inline-form,.settings-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 52px auto;gap:8px;align-items:center}.settings-inline-form.two,.settings-edit-row.two{grid-template-columns:minmax(0,1fr) auto}.settings-edit-row.user-settings-row{grid-template-columns:minmax(130px,1fr) minmax(110px,.8fr) minmax(130px,.9fr) minmax(140px,1fr) auto auto}.user-settings-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.user-avatar-editor{display:grid;align-content:start;gap:8px}.user-avatar-editor img,.user-avatar-editor span{display:grid;width:72px;height:72px;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--blue-soft);color:var(--blue);font-weight:700;object-fit:cover}.user-avatar-button{display:inline-grid;min-height:34px;place-items:center;padding:0 10px;text-align:center;cursor:pointer}.user-avatar-button input{display:none}.user-settings-fields{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px}.user-settings-footer{display:flex;grid-column:2;flex-wrap:wrap;align-items:center;gap:8px}.user-permissions{display:flex;flex-wrap:wrap;gap:8px}.settings-panel-executors .settings-edit-row.user-settings-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto auto}.settings-check{display:inline-flex;min-height:var(--control-height);align-items:center;gap:8px;margin:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);color:var(--muted);padding:0 10px;font-size:13px;font-weight:500;white-space:nowrap}.settings-check input{width:auto;min-height:auto;padding:0}.settings-inline-form input[type=color],.settings-edit-row input[type=color]{min-width:52px;padding:4px}.settings-row{display:flex;align-items:center;gap:9px;min-height:38px;border:1px solid #e6ebf2;border-radius:8px;background:#f8fafc;padding:8px 10px}.settings-row strong{font-weight:500}.status-dot{width:14px;height:14px;flex:0 0 auto;border-radius:999px;box-shadow:inset 0 0 0 1px #303a4a1f}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.counter-pill{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:#667286;padding:7px 11px;font-size:13px;font-weight:400}.section-counters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.segmented,.quick-filters{display:flex;flex-wrap:wrap;gap:8px}.record-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) repeat(5,minmax(120px,170px));gap:var(--gap);padding:var(--gap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--panel-shadow)}.client-search{grid-template-columns:minmax(260px,1fr) minmax(180px,240px) minmax(130px,170px) minmax(120px,150px);max-width:1120px}.task-toolbar{grid-template-columns:minmax(260px,1fr) minmax(190px,240px) minmax(120px,150px);max-width:980px}.clients-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;align-items:start}.client-list{display:grid;gap:8px}.client-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:10px 12px;font:inherit;text-align:left;cursor:pointer}.client-list button.active{border-color:#bcd4ff;background:var(--blue-soft)}.client-list strong,.client-history-row strong{display:block;font-weight:700}.client-list small,.client-history-row span{display:block;margin-top:3px;color:#8a97aa;font-size:13px;font-weight:400}.client-list em{min-width:28px;border-radius:999px;background:#f4f7fb;color:#667286;padding:5px 8px;font-style:normal;font-weight:600;text-align:center}.client-pagination,.record-pagination,.task-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding-top:4px}.client-pagination{margin-top:4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--panel-shadow)}.record-pagination-panel,.task-pagination-panel{display:flex;width:100%;padding:var(--gap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--panel-shadow)}.record-pagination,.task-pagination{width:min(100%,420px);padding-top:0}.client-pagination span,.record-pagination span,.task-pagination span{color:#667286;font-size:13px;font-weight:500;white-space:nowrap}.client-profile{gap:14px}.client-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.client-profile-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.client-profile h3{margin:0;font-size:18px;font-weight:700}.client-profile p{margin-top:4px;color:#667286;font-weight:400}.client-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.client-metric{display:grid;gap:5px;padding:12px;border:1px solid #e6ebf2;border-radius:8px;background:#f8fafc}.client-metric span{color:#8a97aa;font-size:13px}.client-metric strong{font-size:20px;font-weight:700}.client-facts div{grid-template-columns:minmax(120px,.5fr) minmax(0,1.5fr)}.client-history{display:grid;gap:10px;padding-top:2px}.client-history-list{display:grid;gap:8px}.client-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;box-shadow:none;background:#f8fafc}.client-history-money{display:grid;gap:2px;text-align:right}.client-history-money span{margin:0}.client-history-money b{font-weight:700;white-space:nowrap}.tasks-list{display:grid;gap:10px}.task-summary-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.task-summary-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:#303a4a;padding:12px;font:inherit;text-align:left;cursor:pointer;box-shadow:var(--panel-shadow)}.task-summary-card.active{border-color:#bcd4ff;background:var(--blue-soft)}.task-summary-card span{color:#667286;font-size:13px;font-weight:500}.task-summary-card strong{font-size:22px;font-weight:700}.task-summary-card.danger strong{color:#c94040}.task-summary-card.warning strong{color:#9a6b18}.task-summary-card.normal strong{color:#3f7a56}.task-summary-card.neutral strong{color:#667286}.task-summary-card.done strong{color:#8a97aa}.task-assignee-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.task-assignee-board button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:#303a4a;padding:10px 12px;font:inherit;cursor:pointer;box-shadow:var(--panel-shadow)}.task-assignee-board button.active{border-color:#bcd4ff;background:var(--blue-soft)}.task-assignee-board span{color:#667286;font-size:13px;font-weight:500}.task-assignee-board strong{min-width:34px;border-radius:999px;background:#f4f7fb;color:#303a4a;padding:5px 9px;font-weight:700;text-align:center}.task-context-filters{display:flex;flex-wrap:wrap;gap:8px}.task-context-filters button{display:inline-flex;align-items:center;gap:8px;min-height:var(--chip-height);border:1px solid #dfe6f0;border-radius:var(--radius);background:var(--surface);color:#303a4a;padding:8px 12px;font:inherit;cursor:pointer}.task-context-filters button.active{border-color:#bcd4ff;background:var(--blue-soft);color:#1d5fbf}.task-context-filters span{font-size:13px}.task-context-filters strong{min-width:24px;border-radius:999px;background:#f4f7fb;color:#667286;padding:3px 7px;font-size:12px;font-weight:700;text-align:center}.task-card{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;box-shadow:none}.task-card-overdue{border-color:#ffd0d0}.task-card-done{opacity:.72}.task-card h3{margin:0;font-size:16px;font-weight:700}.task-card p{margin-top:4px;color:#667286;font-size:13px}.task-meta{display:grid;gap:4px;min-width:140px}.task-meta span{color:#667286;font-size:13px}.task-meta .task-due-chip{display:inline-flex;width:fit-content;align-items:center;border:1px solid #d9e1ec;border-radius:999px;background:#fff;color:#667286;padding:4px 8px;font-size:12px;font-weight:600}.task-due-chip.danger{border-color:#ffd0d0;background:#fff1f1;color:#c94040}.task-due-chip.warning{border-color:#f2d08a;background:#fff8e8;color:#77612a}.task-due-chip.normal{border-color:#cfe8d8;background:#f0fbf4;color:#3f7a56}.task-due-chip.done{border-color:#d9e1ec;background:#f4f7fb;color:#8a97aa}.task-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.card-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.record-preview{align-content:start}.record-preview-archive{border-color:#cfe8d8}.record-preview-trash{border-color:#ffd0d0}.record-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.record-preview-badges{display:grid;justify-items:end;gap:6px}.record-preview-badges .photo-state{margin-top:0;white-space:nowrap}.work-photo-badge{display:inline-flex;align-items:center;border-radius:999px;background:#e8f1ff;color:#2456a6;padding:5px 9px;font-size:12px;font-weight:600;white-space:nowrap}.record-preview h3{margin:0;font-size:16px;font-weight:700;line-height:1.2}.record-preview p{color:#667286;font-size:13px;font-weight:400}.status-chip{flex:0 0 auto;border-radius:999px;background:color-mix(in srgb,var(--status-color) 16%,#fff);color:color-mix(in srgb,var(--status-color) 74%,#1f2937);padding:6px 9px;font-size:12px;font-weight:600}.record-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(20px,1fr));gap:4px;margin:3px 0 4px}.record-progress span{height:5px;border-radius:999px;background:#e6ebf2}.record-progress span.active{background:var(--progress-color)}.record-facts{display:grid;gap:6px;margin:0}.record-facts div{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:10px}.record-facts dt{color:#8a97aa;font-size:13px;font-weight:400}.record-facts dd{margin:0;color:#303a4a;font-size:13px;font-weight:400;text-align:right;overflow-wrap:anywhere}.task-line{border-radius:8px;background:#fff7df;color:#77612a!important;padding:9px 10px}.task-line.warning{background:#eef6ff;color:#2456a6!important}.comment{border-top:1px solid #e6ebf2;padding-top:10px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel h3{margin:0;font-size:16px;font-weight:700}.analytics-list{display:grid;gap:9px}.analytics-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;overflow:hidden;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft)}.analytics-row div,.analytics-row b{position:relative;z-index:1}.analytics-row strong,.analytics-row span{display:block}.analytics-row strong{font-weight:600}.analytics-row b{white-space:nowrap;font-weight:700}.analytics-row i{position:absolute;inset:auto auto 0 0;height:4px;background:#2f80ed}.empty-state{display:grid;gap:10px;place-items:center;min-height:96px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);color:#8a97aa;font-weight:400;line-height:1.35;padding:18px;text-align:center}.empty-state.compact{min-height:48px;padding:12px}table{width:100%;border-collapse:collapse}.table-scroll{overflow-x:auto}.money-debts-table{min-width:820px}th,td{padding:12px 14px;border-bottom:1px solid #e6ebf2;text-align:left;font-size:14px}th{color:#8a97aa;background:#f8fafc;font-size:12px;font-weight:600}td span{display:block;color:#8a97aa;font-size:12px;font-weight:400}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.workspace{padding:24px}.metric-grid,.analytics-grid,.records-grid,.clients-layout,.task-card,.settings-grid,.finance-brief-grid,.client-metrics,.user-settings-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.record-toolbar,.client-search,.task-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.section-head{align-items:flex-start}}@media(max-width:680px){.workspace,.sidebar{padding:18px}.metric-grid,.analytics-grid,.records-grid,.work-photo-reminder,.record-toolbar,.client-search,.task-toolbar,.clients-layout,.client-metrics,.task-card,.settings-grid,.settings-fields,.settings-accordion>summary,.settings-inline-form,.settings-inline-form.two,.settings-edit-row,.settings-edit-row.two,.settings-edit-row.user-settings-row,.user-settings-card,.user-settings-fields,.settings-telegram-grid,.money-summary,.finance-brief-grid,.record-modal-summary,.record-form-section,.record-task-composer,.record-task-form-actions,.record-task-item,.check-grid,.form-grid,.form-grid.three,.prepayment-link-result{grid-template-columns:1fr}.user-settings-footer{grid-column:1}.settings-brand{grid-template-columns:1fr}.settings-accordion>summary small{text-align:left}.top-actions{align-items:stretch;flex-direction:column;gap:10px}.action-buttons,.modal-actions{justify-content:stretch}.modal-actions.split,.modal-actions.split>div,.work-photo-reminder-actions,.record-task-form-actions,.record-task-actions{justify-content:stretch}.prepayment-link-result{grid-template-columns:1fr}.primary-action,.ghost-action,.danger-action{flex:1}.calendar-toolbar{align-items:stretch;flex-direction:column}.excursion-add-row{grid-template-columns:1fr}.participant-item,.section-head,.client-profile-head,.panel-head,.record-preview-head{align-items:stretch;flex-direction:column}.section-counters,.client-profile-actions,.task-actions,.card-actions{justify-content:stretch}.section-counters>*,.client-profile-actions>*,.task-actions>*,.card-actions>*{flex:1}.client-history-row,.record-facts div{grid-template-columns:1fr}.client-history-money,.record-facts dd{text-align:left}.modal-backdrop{padding:18px 10px}.modal-card{padding:14px}th,td{padding:10px 12px}}
