@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--blue:#1769e0;--blue2:#0f5bc9;--navy:#172b4d;--ink:#1e2b3c;--muted:#718096;--line:#e7ecf2;--bg:#f4f7fb;--white:#fff;--green:#159b72;--orange:#d98b22;--red:#d94d59;--shadow:0 8px 28px rgba(29,53,87,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Inter,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:#172b4d;color:#dce6f4;display:flex;flex-direction:column;z-index:20;box-shadow:5px 0 24px rgba(20,40,70,.08)}.brand{height:82px;display:flex;align-items:center;padding:0 20px;gap:11px;border-bottom:1px solid rgba(255,255,255,.09)}.brand-mark{width:39px;height:39px;border-radius:12px;background:linear-gradient(145deg,#3d92ff,#1260d3);display:grid;place-items:center;color:white;font-weight:800;letter-spacing:-1px;box-shadow:0 5px 14px #0e4fae}.brand-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.brand-copy strong{font-size:13px;color:white;white-space:nowrap}.brand-copy span{font-size:10px;color:#9fb1ca}.workspace-label,.nav-caption{font-size:9px;letter-spacing:1.25px;font-weight:700;color:#8195b2;padding:22px 22px 9px}.nav{padding:0 11px;overflow:auto}.nav-item{border:0;background:transparent;color:#c3d0e2;width:100%;height:43px;border-radius:8px;display:flex;align-items:center;gap:12px;padding:0 12px;text-align:left;margin:2px 0;font-size:12px;transition:.18s}.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.nav-item.active{background:linear-gradient(90deg,#2479ed,#1769e0);color:#fff;box-shadow:0 5px 15px rgba(5,75,170,.25)}.nav-ico{width:18px;text-align:center;font-size:17px;opacity:.95}.nav-count{margin-left:auto;background:rgba(255,255,255,.13);padding:3px 7px;border-radius:20px;font-size:10px}.sidebar-bottom{margin-top:auto;padding:16px 20px 18px;border-top:1px solid rgba(255,255,255,.09)}.connection{display:flex;align-items:center;gap:9px;color:#b9c9dd;font-size:11px;margin-bottom:16px}.pulse{width:7px;height:7px;border-radius:50%;background:#e1a63d;box-shadow:0 0 0 4px rgba(225,166,61,.12)}.pulse.online{background:#36c993;box-shadow:0 0 0 4px rgba(54,201,147,.12)}.sidebar-version{font-size:10px;color:#8ea1bc;line-height:1.7}.sidebar-version span{display:block;color:#6f85a4}.main-area{margin-left:252px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:10}.breadcrumbs{display:flex;align-items:center;gap:11px;color:#95a1b2;font-size:12px}.breadcrumbs strong{color:#29384c;font-weight:600}.top-actions{display:flex;align-items:center;gap:19px}.search-wrap{height:36px;width:230px;border:1px solid #e8edf3;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 11px;color:#8b99aa}.search-wrap input{border:0;outline:0;width:100%;font-size:11px;color:var(--ink)}.top-icon{position:relative;border:0;background:transparent;color:#68788e;font-size:21px}.notification-dot{position:absolute;right:0;top:1px;width:6px;height:6px;background:#ee6470;border:1px solid white;border-radius:50%}.profile{display:flex;align-items:center;gap:9px;padding-left:15px;border-left:1px solid var(--line)}.avatar{width:34px;height:34px;border-radius:11px;background:#e7f0ff;color:#1769e0;display:grid;place-items:center;font-size:11px;font-weight:800}.profile-text{display:flex;flex-direction:column;gap:3px}.profile-text strong{font-size:11px}.profile-text span{font-size:10px;color:#8a97a8}.chevron{color:#8a97a8}.content{width:100%;max-width:1600px;margin:0 auto;padding:32px 34px 40px;flex:1}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px;gap:20px}.eyebrow{font-size:9px;font-weight:800;letter-spacing:1.3px;color:#8b9ab0;margin-bottom:8px}h1{font-size:25px;letter-spacing:-.7px;margin:0;color:#1d2d43;font-weight:700}h2{margin:0;font-size:18px;letter-spacing:-.3px}.page-heading p{color:#8491a3;font-size:12px;margin:8px 0 0}.heading-actions{display:flex;gap:9px}.btn{height:36px;border:1px solid transparent;border-radius:7px;padding:0 14px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.15s}.btn-primary{background:var(--blue);color:white;box-shadow:0 4px 10px rgba(23,105,224,.18)}.btn-primary:hover{background:var(--blue2);transform:translateY(-1px)}.btn-light{background:#fff;border-color:#e3e9f0;color:#596a80}.btn-light:hover{background:#f8fafc}.btn-small{height:29px;padding:0 10px;font-size:10px}.icon-btn{border:0;background:transparent;color:#718096;font-size:23px;width:32px;height:32px;border-radius:7px}.icon-btn:hover{background:#f0f4f8}.mobile-menu,.sidebar-close{display:none}.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.stat-card,.panel,.table-card{background:white;border:1px solid #e9eef4;border-radius:11px;box-shadow:var(--shadow)}.stat-card{padding:18px 19px;position:relative;overflow:hidden}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#7e8da1;font-size:10px;font-weight:600}.stat-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:16px}.stat-value{font-size:27px;font-weight:700;letter-spacing:-1px;margin:13px 0 5px;color:#1e2c40}.stat-note{font-size:10px;color:#94a0af}.tone-blue{background:#eaf2ff;color:#2476e5}.tone-green{background:#e7f8f1;color:#159b72}.tone-orange{background:#fff4e3;color:#d98b22}.tone-red{background:#ffeded;color:#d94d59}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);align-items:start}.panel{padding:18px 19px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.panel-title{font-size:13px;font-weight:700}.panel-subtitle{font-size:10px;color:#95a1b1;margin-top:4px}.link-btn{border:0;background:transparent;color:var(--blue);font-size:10px;font-weight:600}.task-list{display:flex;flex-direction:column}.task-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 84px;gap:14px;align-items:center;padding:13px 0;border-top:1px solid #f0f3f7}.task-row:first-child{border-top:0}.task-name{font-size:11px;font-weight:600;color:#34445a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-meta{font-size:9px;color:#98a4b3;margin-top:5px}.progress-track{height:5px;background:#edf1f6;border-radius:10px;overflow:hidden;margin-top:6px}.progress-fill{height:100%;background:#3a83ed;border-radius:10px}.task-percent{font-size:9px;color:#8492a5;text-align:right}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:5px;font-size:9px;font-weight:600;white-space:nowrap}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.s-new{background:#edf3ff;color:#3979d8}.s-work{background:#e8f5ff;color:#2480ba}.s-done,.s-approved{background:#e8f8f1;color:#168d68}.s-late,.s-rejected{background:#fff0ef;color:#d05259}.s-pending{background:#fff5e6;color:#c1842d}.s-neutral{background:#f0f3f7;color:#738196}.activity-list{display:flex;flex-direction:column;gap:15px}.activity-item{display:flex;gap:10px;align-items:flex-start}.activity-dot{width:27px;height:27px;flex:none;border-radius:8px;background:#edf3ff;color:#2672df;display:grid;place-items:center;font-size:12px}.activity-text{font-size:10px;color:#526176;line-height:1.5}.activity-text strong{color:#27384e}.activity-time{font-size:9px;color:#a0aaba;margin-top:3px}.table-card{overflow:hidden}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;border-bottom:1px solid #edf1f5;gap:12px}.table-toolbar-left{display:flex;align-items:center;gap:9px}.table-search{height:31px;width:205px;border:1px solid #e7edf3;border-radius:6px;padding:0 10px;outline:none;font-size:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#fafbfd;color:#8a98aa;font-size:9px;letter-spacing:.35px;font-weight:700;padding:12px 15px;border-bottom:1px solid #edf1f5}td{padding:13px 15px;border-bottom:1px solid #f0f3f7;color:#526176;font-size:10px}tbody tr:hover{background:#fbfdff}tbody tr:last-child td{border-bottom:0}.cell-main{font-size:11px;font-weight:600;color:#2c3d53}.cell-sub{font-size:9px;color:#9aa6b5;margin-top:4px}.table-actions{display:flex;gap:5px}.mini-action{border:1px solid #e7edf3;background:white;color:#738196;border-radius:5px;padding:5px 8px;font-size:9px}.mini-action:hover{border-color:#b8d2f7;color:var(--blue)}.empty{padding:38px 20px;text-align:center;color:#98a4b3;font-size:11px}.empty b{display:block;color:#596a80;font-size:12px;margin-bottom:6px}.filter-select{height:31px;border:1px solid #e7edf3;border-radius:6px;background:white;padding:0 9px;color:#64748b;font-size:10px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-day{min-height:100px;background:white;border:1px solid #e9eef4;border-radius:8px;padding:9px}.calendar-day.today{border-color:#7fb1f4;background:#f7fbff}.calendar-day.muted{opacity:.45}.day-num{font-size:10px;font-weight:700;color:#64748b}.day-event{margin-top:8px;background:#eaf2ff;color:#286bc8;border-left:2px solid #3d83e8;padding:5px 6px;border-radius:3px;font-size:8px;white-space:normal;line-height:1.35}.modal-backdrop{position:fixed;inset:0;background:rgba(18,34,56,.45);z-index:50;display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:white;border-radius:13px;box-shadow:0 24px 70px rgba(10,30,60,.25)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 23px;border-bottom:1px solid var(--line)}.modal-body{padding:20px 23px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:600;color:#66768b}.field input,.field select,.field textarea{width:100%;border:1px solid #e2e9f0;border-radius:7px;padding:9px 10px;outline:none;color:#304156;font-size:11px;background:white}.field textarea{min-height:75px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#75aaf0;box-shadow:0 0 0 3px #eaf3ff}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:15px 23px;border-top:1px solid var(--line)}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:8px}.toast{background:#1d314c;color:white;padding:12px 15px;border-radius:8px;box-shadow:var(--shadow);font-size:11px;max-width:340px}.toast.error{background:#a83d48}.loading{padding:55px;text-align:center;color:#8b99aa;font-size:11px}.spinner{display:inline-block;width:15px;height:15px;border:2px solid #dce7f5;border-top-color:#2476e5;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:9px}@keyframes spin{to{transform:rotate(360deg)}}.footer{padding:16px 34px;border-top:1px solid #e9eef4;color:#a0aaba;font-size:9px;display:flex;justify-content:space-between}.sidebar-overlay{display:none}
@media(max-width:1100px){.sidebar{width:220px}.main-area{margin-left:220px}.content{padding:26px 24px}.topbar{padding:0 24px}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:260px}.sidebar.open{transform:translateX(0)}.sidebar-close,.mobile-menu{display:block}.main-area{margin-left:0}.topbar{height:60px;padding:0 15px}.mobile-menu{margin-right:9px}.breadcrumbs{margin-right:auto}.search-wrap{display:none}.profile-text,.chevron{display:none}.top-actions{gap:10px}.content{padding:22px 15px}.page-heading{align-items:flex-start;flex-direction:column}.heading-actions{width:100%}.stats-grid{gap:10px}.stat-card{padding:14px}.stat-value{font-size:23px}.dashboard-grid{grid-template-columns:1fr}.task-row{grid-template-columns:minmax(0,1fr) 76px}.task-row .task-percent{display:none}.table-toolbar{align-items:flex-start;flex-direction:column}.table-search{width:100%}.modal-body{grid-template-columns:1fr}.field.full{grid-column:auto}.footer{padding:14px 15px;gap:10px;flex-direction:column}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Диаграмма Ганта */
.gantt-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:14px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px}
.gantt-filters label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px;font-weight:700}
.gantt-filters select{min-width:210px;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}
.gantt-hint{margin-left:auto;color:var(--muted);font-size:11px}
.gantt-panel{padding:0;overflow:hidden}
.gantt-scroll{overflow:auto;max-width:100%}
.gantt-header,.gantt-row{display:flex;min-width:max-content}
.gantt-header{position:sticky;top:0;z-index:3;background:#f7f9fc;border-bottom:1px solid var(--line)}
.gantt-label-head,.gantt-label{width:260px;min-width:260px;max-width:260px;padding:10px 14px;border-right:1px solid var(--line);background:#fff}
.gantt-label-head{display:flex;align-items:center;font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--muted);background:#f7f9fc}
.gantt-calendar{display:flex;min-height:48px}
.gantt-day{width:42px;min-width:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #edf0f5;font-size:11px;color:var(--ink)}
.gantt-day span{font-size:9px;color:var(--muted);text-transform:lowercase}
.gantt-day.weekend{background:#f1f4f8}
.gantt-week{width:42px;min-width:42px;display:flex;align-items:center;justify-content:center;border-right:1px solid #edf0f5;font-size:10px;color:var(--muted)}
.gantt-row{min-height:54px;border-bottom:1px solid #edf0f5}
.gantt-row:hover .gantt-label{background:#f8fbff}
.gantt-label{display:flex;flex-direction:column;justify-content:center;gap:4px}
.gantt-task-name{padding:0;border:0;background:none;text-align:left;color:var(--ink);font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gantt-task-name:hover{color:var(--blue)}
.gantt-label>span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gantt-track{position:relative;min-height:54px;background-image:linear-gradient(to right,#edf0f5 1px,transparent 1px);background-size:42px 100%}
.gantt-bar{position:absolute;top:13px;height:28px;border-radius:6px;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;color:#fff;font-size:10px;font-weight:800;box-shadow:0 2px 5px #142b4a18}
.gantt-bar.work{background:#3d82df}
.gantt-bar.done{background:#159b72}
.gantt-bar.late{background:#d94d59}
.gantt-bar i{position:absolute;left:0;bottom:0;height:3px;background:#ffffffa8;pointer-events:none}
.gantt-bar span{position:relative;z-index:1;text-shadow:0 1px 2px #16345b66}
@media(max-width:700px){.gantt-label-head,.gantt-label{width:190px;min-width:190px;max-width:190px}.gantt-hint{width:100%;margin:0}.gantt-filters select{min-width:160px}}

/* Gantt 2.0: hierarchy by work group, project and task */
.gantt-scale-buttons{display:flex;gap:5px;align-items:center}
.gantt-period{height:48px;display:flex;align-items:center;justify-content:center;border-right:1px solid #e8edf4;color:#63738a;font-size:10px;text-transform:capitalize;white-space:nowrap}
.gantt-group-row,.gantt-project-row{display:flex;min-width:max-content;min-height:38px;border-bottom:1px solid #e9eef5}
.gantt-group-row{background:#f2f6fc}
.gantt-project-row{background:#fafbfd}
.gantt-tree-label{width:260px;min-width:260px;max-width:260px;display:flex;align-items:center;gap:8px;padding:8px 12px;border-right:1px solid var(--line);font-size:11px;font-weight:700;color:#34465e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gantt-group-row .gantt-tree-label{font-size:11px;color:#233b5b}
.gantt-project-row .gantt-tree-label{padding-left:20px;font-weight:600;color:#53657d}
.gantt-tree-label small{margin-left:auto;color:#94a1b2;font-size:9px;font-weight:500}
.tree-caret{color:#7e8da2}.tree-group-icon{color:#347bd4}.tree-project-icon{color:#8797aa}.tree-indent{width:12px;flex:none}.tree-indent-2{width:26px;flex:none}
.gantt-group-track{min-height:38px;background-image:linear-gradient(to right,#e9eef5 1px,transparent 1px);background-size:42px 100%}
.gantt-row .gantt-label{width:260px;min-width:260px;max-width:260px;flex-direction:row;align-items:center;gap:6px;padding:7px 10px}
.gantt-row .gantt-task-name{max-width:155px;overflow:hidden;text-overflow:ellipsis}
.gantt-row .gantt-label>span:last-child{max-width:85px;font-size:9px}
.gantt-track{background-image:linear-gradient(to right,#edf0f5 1px,transparent 1px);background-size:42px 100%}
.gantt-bar{border:0;text-align:left;justify-content:space-between;gap:7px;padding:0 8px;background:linear-gradient(to right,var(--bar-color) 0%,var(--bar-color) var(--progress),var(--bar-bg) var(--progress),var(--bar-bg) 100%);color:#fff}
.gantt-bar.work{--bar-color:#2678d8;--bar-bg:#a9c9ee}
.gantt-bar.late{--bar-color:#c9404d;--bar-bg:#efb5ba}
.gantt-bar.done{--bar-color:#128a68;--bar-bg:#a6d9c9}
.gantt-bar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600}
.gantt-bar b{flex:none;font-size:9px;text-shadow:0 1px 2px #17375b66}
.gantt-bar i{display:none}
.gantt-no-dates{position:absolute;left:10px;top:19px;color:#9aa6b5;font-size:9px;font-style:italic}
.gantt-legend{display:flex;gap:18px;flex-wrap:wrap;padding:12px 4px;color:#75849a;font-size:10px}
.gantt-legend span{display:flex;align-items:center;gap:6px}
.legend-dot{width:9px;height:9px;border-radius:3px;display:inline-block}
.legend-dot.work{background:#2678d8}.legend-dot.late{background:#c9404d}.legend-dot.done{background:#128a68}
.legend-progress{width:18px;height:7px;border-radius:3px;background:linear-gradient(to right,#2678d8 50%,#a9c9ee 50%);display:inline-block}
.gantt-note{padding:9px 12px;border-radius:7px;background:#f7f9fc;color:#8592a5;font-size:10px}
@media(max-width:700px){.gantt-tree-label,.gantt-row .gantt-label{width:190px;min-width:190px;max-width:190px}.gantt-row .gantt-label>span:last-child{display:none}.gantt-scale-buttons{flex-wrap:wrap}}

/* CRM update: group membership and compact day calendar */
.member-list{display:flex;flex-wrap:wrap;gap:5px;max-width:390px}.member-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;background:#eef4fc;border-radius:5px;color:#405873;font-size:9px}.member-chip button{border:0;background:transparent;color:#a14c55;font-weight:700;padding:0 1px}.member-add{display:flex;gap:6px;margin-top:8px;align-items:center}.member-add select{max-width:190px}.calendar-panel{padding:14px 16px}.calendar-grid{gap:5px}.calendar-weekday{text-align:center;padding:4px;color:#8b98a9;font-size:9px;font-weight:700}.calendar-day{min-height:0;height:76px;padding:7px 8px}.calendar-day-button{width:100%;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #e9eef4;background:#fff;cursor:pointer;transition:.12s}.calendar-day-button:hover{border-color:#9cc2f3;background:#f8fbff}.calendar-day-button.selected{border:2px solid #347fe4;background:#f0f6ff;padding:6px 7px}.calendar-day-button.muted{pointer-events:none;border-color:transparent;background:transparent}.calendar-counts{display:flex;gap:4px;flex-wrap:wrap}.calendar-counts i{font-style:normal;font-size:8px;padding:2px 4px;border-radius:4px}.count-task{background:#eaf2ff;color:#286bc8}.count-appeal{background:#fff1e6;color:#b96b27}.day-open{font-size:8px;color:#8b9bb0;margin-top:auto}.calendar-nav{display:flex;gap:6px}.day-details{margin-top:14px}.day-detail-section{margin-top:12px}.day-detail-section h3{font-size:11px;color:#6b7c91;margin:0 0 8px}.day-detail-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #eef1f5}.day-detail-row b{display:block;font-size:10px;color:#34445a}.day-detail-row small{display:block;margin-top:4px;color:#8b98a9;font-size:9px}.day-progress{display:block;text-align:right;font-size:10px;color:#5b7ba6;margin-top:5px}.day-empty{padding:12px;color:#a0aaba;font-size:10px;background:#fafbfd;border-radius:6px}.day-detail-section+.day-detail-section{border-top:1px solid #e9eef4;padding-top:14px}@media(max-width:760px){.calendar-day{height:66px;padding:5px}.day-open{display:none}.calendar-counts{gap:2px}.calendar-counts i{font-size:7px}.day-detail-row{grid-template-columns:minmax(0,1fr) auto}.day-detail-row>.mini-action{grid-column:1/-1;justify-self:start}.member-add{flex-wrap:wrap}}

/* Дополнительные карточки и быстрый выбор проекта */
.calendar-day-button{cursor:pointer;min-height:92px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.calendar-day-button:hover{border-color:var(--primary,#3978e8);background:#f5f8ff;box-shadow:0 3px 12px #244b8618}
.day-open{display:none!important}
.day-modal{width:min(900px,calc(100vw - 32px));max-height:88vh;overflow:auto}
.day-modal .modal-body{max-height:calc(88vh - 150px);overflow:auto}
.group-card-modal{width:min(620px,calc(100vw - 32px))}
.group-open-link{border:0;background:none;padding:0;color:#245fc4;font:inherit;font-weight:700;cursor:pointer;text-align:left}
.group-open-link:hover{text-decoration:underline}
.group-card-members{display:flex;flex-direction:column;gap:7px;margin:12px 0 18px}
.group-member-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #e7ebf2;border-radius:8px;background:#fff}
.group-add-row{display:flex;gap:10px;align-items:center;padding-top:14px;border-top:1px solid #e7ebf2}
.group-add-row select{flex:1;min-width:0}
.danger-text{color:#b54747}
.project-new-input{margin-top:8px;width:100%}
