/* Mobile is the same authorized CRM, with a navigation and reading layout for touch. */
[hidden]{display:none!important}
.app-menu{flex:1;min-width:0;margin:0;padding:0;border:0}
.app-menu>summary,.mobile-dock,.mobile-install-link{display:none}
.nav-icon{display:inline-block;vertical-align:middle;flex-shrink:0}.app-menu>summary .nav-icon{width:18px;height:18px}
.app-menu-content{display:flex;align-items:center;gap:24px}
.app-menu:not([open])>.app-menu-content{display:flex}
.header nav{flex-wrap:wrap;gap:8px 22px}
.connection-notice{position:sticky;top:0;z-index:20;margin:0;border-radius:0}
.mobile-filter-panel{border:0;padding:0;margin:0 0 20px}
.mobile-filter-panel>summary{display:none}
.mobile-filter-panel:not([open])>form{display:flex}
.mobile-table-sort{display:none}
.mobile-help{max-width:700px;margin:auto}
.mobile-help li{margin:14px 0}
.mobile-help button{margin:10px 0}
@media(min-width:761px) and (pointer:fine),(min-width:761px) and (pointer:none),(min-width:1101px){.app-menu>summary{display:none!important}.app-menu-content{display:flex!important}.mobile-filter-panel>form{display:flex!important}}
@media(max-width:1100px) and (min-width:761px) and (pointer:fine),(max-width:1100px) and (min-width:761px) and (pointer:none){.header{align-items:flex-start}.app-menu-content{flex-wrap:wrap}.header nav{order:0}.account{margin-left:0}}
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 html{scroll-padding-top:18px;scroll-padding-bottom:100px}
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom));overflow-wrap:anywhere}
 .header{padding:12px max(16px,env(safe-area-inset-left));gap:12px;align-items:center;position:relative;z-index:5}
 .brand img{width:90px;height:20px}.brand{gap:10px}.brand span{padding-left:10px}
 .app-menu{flex:0 0 auto;margin-left:auto}
 .app-menu>summary{display:flex;align-items:center;justify-content:center;gap:12px;list-style:none;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:24px;font-size:14px}
 .app-menu>summary::-webkit-details-marker{display:none}
 .app-menu:not([open])>.app-menu-content{display:none}
 .app-menu[open]{flex-basis:100%}
 .app-menu[open]>summary{width:max-content;margin-left:auto}
 .app-menu-content{display:block;padding-top:12px}
 .header nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;overflow:visible;margin:0}
 .header nav a{white-space:normal;display:flex;align-items:center;min-height:48px;padding:10px 12px;background:var(--ground);border-radius:8px;font-size:14px}
 .header nav a[aria-current=page]{border:0;background:#000;color:#fff}
 .account{padding:16px 4px 4px;justify-content:space-between;font-size:14px}.account>span{max-width:none;white-space:normal}
 .account .text-button{min-height:44px;padding:10px}
 .mobile-install-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;margin-top:6px}
 .mobile-dock{position:fixed;z-index:15;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px max(8px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #c9ccc7}
 .mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;text-decoration:none;font-size:11px;border-radius:8px}
 .mobile-dock a>span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;position:relative}
 .mobile-dock a[aria-current=page]{background:#e5e9e1;color:#172a1d}
 .mobile-unread{position:absolute;top:0;right:-8px;width:7px;height:7px;background:#a94f32;border-radius:50%}
 .mobile-count{position:absolute;top:-4px;left:calc(50% + 6px);min-width:18px;padding:0 5px;border-radius:9px;background:#a94f32;color:#fff;font-size:11px;font-style:normal;font-weight:800;line-height:16px;text-align:center}
 body.mobile-keyboard .mobile-dock{display:none}
 .page{padding:22px max(14px,env(safe-area-inset-left)) 30px;min-height:65vh}
 h1{font-size:30px;line-height:1.16}h2{font-size:21px;margin-bottom:16px}h3{font-size:17px}
 .page-heading{gap:12px;margin-bottom:20px}.page-heading .button{min-height:44px}
 .page-heading>*,.section-heading>*,.panel>*{min-width:0;max-width:100%}
 .panel,.action-panel,.project-card,.portfolio-panel{padding:18px 14px;margin-bottom:16px;border-radius:8px}
 .project-cards{gap:14px;grid-template-columns:minmax(0,1fr)}
 .project-totals{gap:22px;margin:14px 0}.project-totals strong{font-size:27px}
 .project-stages{margin-bottom:14px;gap:6px 14px}.project-stages a{min-height:44px}
 .project-actions{gap:8px}.project-actions .button{flex:1}
 .field{margin-bottom:16px}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:48px}
 input[type=radio],input[type=checkbox]{width:22px;height:22px;min-height:22px;flex:0 0 22px}
 label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:44px}
 input[type=file]{font-size:14px;line-height:1.5}
 select[multiple]{min-height:140px;border-radius:12px}
 fieldset{min-width:0;max-width:100%;margin-inline:0}
 .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.facts dd{font-size:17px}
 dl:not(.facts) dd{margin-left:0;overflow-wrap:anywhere;margin-bottom:14px}
 form>.primary,form>.danger{width:100%;min-height:48px;margin-top:8px}
 summary{min-height:44px;display:list-item;padding:10px 2px}
 details form{padding-top:12px}.notice{padding:14px;margin-bottom:18px;font-size:14px}
 .mobile-filter-panel{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:0 12px}
 .mobile-filter-panel>summary{display:list-item;list-style-position:inside;font-size:14px;min-height:48px;padding:12px 0}
 .mobile-filter-panel:not([open])>form{display:none}
 .mobile-filter-panel .filters,.mobile-filter-panel .secondary-filters{margin-top:4px;margin-bottom:12px}
 .filters .field,.filters .grow,.secondary-filters label{flex-basis:100%}
 .view-switch{gap:7px}.view-switch a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;padding:8px 12px}
 .view-tabs{display:flex;flex-wrap:wrap;gap:7px}.view-tabs a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;padding:8px 12px}
 /* Tables without JS remain labeled, horizontally scrollable native tables. */
 .table-wrap{overflow:auto;max-width:100%;background:transparent}
 table:not(.mobile-ready){display:table;min-width:600px}table:not(.mobile-ready) tbody{display:table-row-group}
 table:not(.mobile-ready) thead{position:static;display:table-header-group;clip:auto;width:auto;height:auto;overflow:visible}
 table:not(.mobile-ready) tr{display:table-row}table:not(.mobile-ready) td{display:table-cell;padding:12px}
 table:not(.mobile-ready) td:before{display:none}
 table.mobile-ready,table.mobile-ready tbody,table.mobile-ready tfoot{display:block;min-width:0;width:100%}
 table.mobile-ready tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:12px;background:#fff;border:1px solid #d9ddd7;border-radius:8px;margin-bottom:12px}
 table.mobile-ready td,table.mobile-ready.inventory-compact td{display:block;padding:0;border:0;font-size:14px;min-width:0;white-space:normal;text-align:left}
 table.mobile-ready td:first-child{grid-column:1/-1;display:block;font-size:16px;padding-bottom:8px;border-bottom:1px solid #eceee9}
 table.mobile-ready td:first-child:before{display:none}
 table.mobile-ready td:before{content:attr(data-label);display:block;font-size:12px;line-height:1.4;color:#555;margin-bottom:4px}
 table.mobile-ready td[colspan]{grid-column:1/-1}
 table.mobile-ready td a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
 table.mobile-ready td .cell-note{display:block;margin-top:4px;max-width:none}
 .mobile-table-sort{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;font-size:13px}
 .mobile-table-sort a{display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;background:#fff;border:1px solid #ccc;border-radius:22px;text-decoration:none}
 .mobile-table-sort a[aria-current=true]{background:#e1e7dc}
 .stats-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
 .stats-metrics article{padding:14px 12px;min-width:0}.stats-metrics strong{font-size:23px;letter-spacing:-.5px;overflow-wrap:anywhere;margin:10px 0}
 .stat-value{font-size:28px;overflow-wrap:anywhere}
 .chart-pair{grid-template-columns:minmax(0,1fr);gap:18px}
 .visual-row{grid-template-columns:minmax(75px,1fr) minmax(24px,.6fr) minmax(65px,auto);gap:8px}
 .visual-value{font-size:13px;max-width:125px}.visual-value small{font-size:11px}
 .month-result{grid-template-columns:54px minmax(20px,1fr) auto;gap:8px;font-size:13px}
 .calendar-nav{gap:8px;flex-wrap:wrap}.calendar-day{min-height:48px;padding:4px}.weekday{font-size:12px;padding:5px 0}
 .buyer-options{max-height:45vh;padding:10px}.buyer-options label{padding:10px 0;align-items:flex-start;gap:10px}
 .bundle-option{min-height:48px}.bundle-option input{margin-top:3px}
 .pagination{gap:12px;flex-wrap:wrap;align-items:center;padding-top:18px}.pagination a{min-height:44px;display:inline-flex;align-items:center;padding:8px}
 .post-freeze-form label{display:block}.post-freeze-form button{min-height:44px;width:100%;margin-top:8px}
 .document-list li{padding:12px 0}.document-list button{min-height:44px}.notification-list li{padding:16px 0}.notification-open{padding:14px 0}
 pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.footer{flex-wrap:wrap;gap:5px;padding:16px}
 .project-directory-row{grid-template-columns:minmax(0,1fr) auto}.project-directory-identity{min-width:0}.project-directory-identity>div{min-width:0}
 .project-directory-clickup-only summary{min-height:44px}table.mobile-ready.team-table td[data-label="Veiksmai"],table.mobile-ready.rep-table td[data-label="Veiksmai"],table.mobile-ready.team-table td[data-label="Kaip pridėta"]{grid-column:1/-1}.team-remove summary,.rep-actions summary{min-height:44px}.team-remove button,.rep-actions button{width:100%;min-height:48px}.invite-link-panel textarea{min-height:96px}
 .doc-review-hint,.doc-review-list li>.muted,.doc-review-links{margin-left:0}
 .doc-review-links .button{flex:1 1 0;min-height:44px}
 .doc-review-select button{flex:1 1 0;min-height:44px;font-size:14px;padding:8px 12px}
 .doc-review-actions{bottom:calc(65px + env(safe-area-inset-bottom));display:block;padding:8px 10px 10px}
 .doc-review-count{display:block;margin-bottom:6px}
 .doc-review-buttons{flex-wrap:nowrap;gap:8px}.doc-review-buttons button{flex:1 1 0;min-height:48px;padding:8px 10px;font-size:15px}
}
@media(max-width:380px){.stats-metrics{grid-template-columns:minmax(0,1fr)}.facts{grid-template-columns:minmax(0,1fr)}.project-directory-actions{grid-column:1/-1;grid-row:auto}.project-directory-actions .button{width:100%}.project-directory-statuses{grid-row:auto}.project-directory-team{grid-row:auto}.visual-row{grid-template-columns:minmax(65px,1fr) minmax(20px,.4fr) minmax(65px,auto)}}
.mobile-page-contents{display:none}
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){.mobile-page-contents{display:block;border:1px solid var(--line);border-radius:10px;padding:0 12px;margin:14px 0;background:#fff}.mobile-page-contents summary{font-size:14px}.mobile-page-contents nav{display:grid;gap:2px;padding-bottom:8px}.mobile-page-contents a{display:flex;align-items:center;min-height:44px;font-size:14px;padding:6px 0}.contact-action{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;max-width:100%}}
@media(min-width:1101px){.header{gap:24px;padding:18px 3vw}.header nav{gap:6px 14px}.header nav a{font-size:14px}.app-menu-content{gap:16px}.header .brand{gap:14px}.header .brand img{width:135px;height:30px}.header .account{font-size:13px}}

/* Shared NU:MO app home. Real records use the existing server authorization. */
.app-today{max-width:1100px;margin:auto}.app-home-columns{display:grid;grid-template-columns:1fr 1fr;gap:44px}.app-home-columns section{min-width:0}.app-work-row{display:flex;align-items:center;gap:18px;padding:18px 12px;background:#fff;border-top:1px solid var(--line);text-decoration:none;min-height:64px}.app-work-row>span:first-of-type{flex:1;min-width:0}.app-work-row strong,.app-work-row small,.app-work-row>span>span{display:block;overflow-wrap:anywhere}.app-work-row time{font-variant-numeric:tabular-nums;white-space:nowrap}.app-next-work{background:#e1d5c7;border-top-color:#000}.app-next-work time{font-size:22px}.app-empty{padding:22px 0;border-top:1px solid var(--line);color:#555}.app-source-note{font-size:13px;color:#555;margin:16px 0}.app-work-links a{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none;min-height:48px}.app-home-columns h2{margin-top:24px}.app-work-row:hover,.app-work-links a:hover{text-decoration:underline}
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){.app-home-columns{display:block}.mobile-dock{grid-template-columns:repeat(5,minmax(0,1fr))}body[data-role="DEVELOPER"] .mobile-dock{grid-template-columns:repeat(4,minmax(0,1fr))}body[data-role="MARKETING"] .mobile-dock{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-dock[data-dock="quick"]{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-dock a[aria-current=page]{background:#e1d5c7;color:#000}.app-today .page-heading{align-items:flex-start}.app-today .page-heading h1{font-size:36px}.app-work-row{gap:12px}.app-next-work time{font-size:20px}}

.app-direction-icon{display:block;flex:0 0 18px;align-self:center;color:inherit}
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 .clickup-write-state strong{font-size:16px}
 .clickup-write-resolve .project-actions{flex-direction:column}.clickup-write-resolve button{width:100%}
 .clickup-write-queue .write-steps{font-size:13px}.clickup-write-queue td[data-label="Žingsniai"],.clickup-write-queue td[data-label="Sprendimas"]{grid-column:1/-1}
 .checkbox-field{min-height:44px}
}
/* Admin editing pages (unit, project, user) at phone width: one column, full-width touch targets. */
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){.page-heading-actions{width:100%;justify-content:flex-start}.page-heading-actions .button{flex:1 1 auto;min-height:44px}.edit-grid{grid-template-columns:minmax(0,1fr)}.edit-layout form>.primary{width:100%}.field-route a{display:inline-flex;align-items:center;min-height:44px}}
.app-icon-preview{display:flex;align-items:center;gap:14px;margin:18px 0 0;font-size:15px}.app-icon-preview img{flex:none;border-radius:13px}

/* Objects list on a phone (owner request 2026-09-25): compact rows by default (?view=compact), or a spreadsheet
   (?view=sheet): every column, sortable headers, sticky unit number, horizontal scroll. Desktop keeps its table. */
.unit-compact,.phone-col,.view-switch a.phone-only,.view-switch.phone-only{display:none}
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 .view-switch.phone-only{display:flex}.view-switch a.phone-only{display:inline-flex}.view-switch a.desktop-only{display:none}
 /* The list starts on the first screen: explanations hidden, tabs, views and status counts one sideways row each. */
 .phone-hidden{display:none}
 .phone-scroll-row{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * max(14px,env(safe-area-inset-left)));padding:4px max(14px,env(safe-area-inset-left));scroll-padding-inline:max(14px,env(safe-area-inset-left));scrollbar-width:thin;overscroll-behavior-x:contain}
 .phone-scroll-row>*{flex:none}.page-heading:has(.intro.phone-hidden) h1{margin-bottom:0}
 .view-switch.phone-scroll-row{margin-bottom:12px}.status-summary.phone-scroll-row{gap:16px;padding-top:2px;padding-bottom:10px}.status-summary.phone-scroll-row span{white-space:nowrap}
 .unit-list[data-unit-layout=compact] .unit-compact{display:block}
 .unit-list[data-unit-layout=compact] .table-wrap,.unit-list[data-unit-layout=compact] .origin-bulk-actions{display:none}
 .unit-compact{list-style:none;margin:0 0 12px;padding:0;background:#fff;border:1px solid #d9ddd7;border-radius:8px;overflow:hidden}
 .unit-compact li+li{border-top:1px solid #eceee9}
 .unit-compact-row{display:grid;gap:3px;min-height:56px;padding:8px 12px;text-decoration:none;color:inherit;align-content:center}
 .unit-compact-row:active{background:#f2f5f2}.unit-compact-row:focus-visible{outline-offset:-3px}
 .unit-compact-line{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}
 /* The number tells units apart ("Parkingas · PA112" / "PA113"), so it keeps its full width (up to 60 %); the status
    pill gives way first (its colour stays), the price never. */
 .unit-compact-number{flex:none;max-width:60%;overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600}
 .unit-compact .stage{flex:0 1 auto;min-width:24px;overflow:hidden;text-overflow:ellipsis;padding:2px 8px;font-size:11px;line-height:1.5;white-space:nowrap}
 .unit-compact-price{flex:none;margin-left:auto;padding-left:6px;font-weight:600;font-variant-numeric:tabular-nums}
 /* Line 2: project and facts share the width; within the facts the kind gives way, rooms and area stay whole. */
 .unit-compact-meta{font-size:12px;color:#555}
 .unit-compact-project{flex:0 1 auto;min-width:4.5em;overflow:hidden;text-overflow:ellipsis}
 .unit-compact-facts{display:flex;flex:0 1 auto;min-width:0;overflow:hidden;margin-left:auto;font-variant-numeric:tabular-nums}
 .unit-compact-facts>span{flex:none}.unit-compact-facts>span+span:before{content:"·";margin:0 .3em}
 .unit-compact-facts>.unit-compact-kind{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
 /* Only for a unit that needs attention: stale status (ClickUp card missing), a write to ClickUp, open KYC. */
 .unit-compact-alerts{flex-wrap:wrap;gap:2px 10px;white-space:normal}.unit-compact-alerts .cell-note{margin:0;max-width:none;font-size:12px}
 .unit-compact-alerts .source-missing-note{color:#8f4938;font-weight:600}
 .unit-compact .empty{padding:16px 12px;white-space:normal}
 .unit-list[data-unit-layout=sheet] .table-wrap{overflow-x:auto;max-width:100%;background:#fff;border:1px solid #d9ddd7;border-radius:8px;overscroll-behavior-x:contain;scroll-padding-inline-start:var(--sheet-sticky-width,0px)}
 .unit-list[data-unit-layout=sheet] table{display:table;width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
 .unit-list[data-unit-layout=sheet] thead{position:static;display:table-header-group;width:auto;height:auto;clip:auto;overflow:visible}
 .unit-list[data-unit-layout=sheet] tbody{display:table-row-group}
 .unit-list[data-unit-layout=sheet] tr{display:table-row;margin:0;padding:0;border:0;background:none}
 .unit-list[data-unit-layout=sheet] th,.unit-list[data-unit-layout=sheet] td{display:table-cell;padding:0 10px;border:0;border-bottom:1px solid #e9edea;background:#fff;font-size:13px;line-height:1.3;white-space:nowrap;text-align:left;vertical-align:middle;overflow-wrap:normal}
 .unit-list[data-unit-layout=sheet] th{background:#f2f5f2;font-size:12px}
 .unit-list[data-unit-layout=sheet] td:before{display:none}
 .unit-list[data-unit-layout=sheet] .phone-col{display:table-cell}
 /* The sticky cell keeps only the number (and a manager's checkbox): project, address and tags have their own columns. */
 .unit-list[data-unit-layout=sheet] .desk-col,.unit-list[data-unit-layout=sheet] .sheet-sticky .cell-note,.unit-list[data-unit-layout=sheet] .sheet-sticky .tag-list{display:none}
 .unit-list[data-unit-layout=sheet] td.num{text-align:right;font-variant-numeric:tabular-nums}
 .unit-list[data-unit-layout=sheet] .sheet-sticky{position:sticky;left:0;z-index:1;box-shadow:inset -1px 0 0 #d9ddd7}
 .unit-list[data-unit-layout=sheet] th.sheet-sticky{z-index:2}
 .unit-list[data-unit-layout=sheet] .sort-heading{min-height:44px;min-width:44px;gap:4px}
 .unit-list[data-unit-layout=sheet] .unit-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px;font-size:15px;font-weight:600}
 .unit-list[data-unit-layout=sheet] .origin-select{display:inline-flex;vertical-align:middle;margin-right:6px}
 .unit-list[data-unit-layout=sheet] .stage{padding:2px 8px;font-size:11px}
 .unit-list[data-unit-layout=sheet] td .cell-note{display:inline;margin:0 0 0 6px;font-size:11px}
 .unit-list[data-unit-layout=sheet] .source-missing-note{color:#8f4938;font-weight:600}
 .unit-list[data-unit-layout=sheet] .tag-list{flex-wrap:nowrap;margin:0;max-width:none}
 .unit-list[data-unit-layout=sheet] .broker-list{flex-direction:row;gap:10px}
 .unit-list[data-unit-layout=sheet] .broker-person{font-size:12px;gap:6px;overflow-wrap:normal}
 .unit-list[data-unit-layout=sheet] .broker-avatar{width:24px;height:24px;flex-basis:24px}
 /* No units: the message reads on screen (the compact list's), not in a sideways-scrolling empty table. */
 .unit-list[data-unit-layout=sheet][data-unit-empty] .unit-compact{display:block}
 .unit-list[data-unit-layout=sheet][data-unit-empty] .table-wrap,.unit-list[data-unit-layout=sheet][data-unit-empty] .origin-bulk-actions{display:none}
}
/* FX-40 (pre-launch test 2026-09-26): phones and, since H-10, touch tablets up to 1100 px (iPad) share these rules. */
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 /* H-04, A-16: a side panel (a plain aside or section) takes the full width, not only its content's. */
 .unit-layout{align-items:stretch}
 /* C-09: the client list's search box stays on screen above the collapsed filters (mobile.js, data-phone-search). */
 .mobile-search{display:flex;gap:8px;align-items:flex-end;margin:0 0 12px}
 .mobile-search .field{flex:1 1 auto;min-width:0;margin:0}
 .mobile-search label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .mobile-search button{flex:none;min-height:48px;padding:10px 18px}
 /* H-12, K-LOAD-07: one short row per client (name and project, status, next plan, call button); the recorded action,
    the creation date and empty cells stay in the card that opens from the name. */
 table.mobile-ready.client-catalog-table tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;grid-template-areas:"client client call" "status plan call" "brokers brokers call";gap:0 10px;padding:4px 8px 10px 12px;margin-bottom:6px;align-items:start}
 table.mobile-ready.client-catalog-table td:before{display:none}
 table.mobile-ready.client-catalog-table td.catalog-client{grid-area:client;padding:0;border:0;font-size:16px}
 table.mobile-ready.client-catalog-table td.catalog-client>a{font-weight:600}
 table.mobile-ready.client-catalog-table td.catalog-client>.cell-note{margin-top:-6px}
 table.mobile-ready.client-catalog-table .catalog-created,table.mobile-ready.client-catalog-table td.catalog-action,table.mobile-ready.client-catalog-table td.catalog-empty,table.mobile-ready.client-catalog-table[data-own-list] td.catalog-brokers{display:none}
 table.mobile-ready.client-catalog-table td.catalog-status{grid-area:status;font-size:13px;margin-top:4px}
 table.mobile-ready.client-catalog-table td.catalog-plan{grid-area:plan;font-size:13px;margin-top:4px;font-variant-numeric:tabular-nums}
 table.mobile-ready.client-catalog-table td.catalog-status .cell-note,table.mobile-ready.client-catalog-table td.catalog-plan .cell-note{margin-top:0}
 table.mobile-ready.client-catalog-table td.catalog-brokers{grid-area:brokers;margin-top:6px}
 table.mobile-ready.client-catalog-table td.catalog-contacts{grid-area:call;align-self:center;font-size:0}
 table.mobile-ready.client-catalog-table td.catalog-contacts>:not(.catalog-call){display:none}
 table.mobile-ready.client-catalog-table a.catalog-call{display:inline-flex;align-items:center;justify-content:center;width:48px;min-height:48px;border:1px solid #000;border-radius:50%;background:#fff;color:#000}
 /* G-05: the sticky month column stays narrow ("2026-09" whole, "vyksta" below it). */
 .analytics-page .analytics-monthly tbody th small{display:block;margin-left:0}
 /* G-05 on /analitika/tikslai/: a narrower goal column, so the months keep most of the screen. */
 .targets-grid thead th:first-child,.targets-grid .targets-scope th[scope=rowgroup]{width:104px;min-width:104px;max-width:104px;font-size:13px}
 .targets-grid thead th:nth-child(2),.targets-grid th[scope=row]{left:104px;white-space:normal;min-width:72px}
}

/* FX-40, G20 re-test (pre-launch test 2026-09-26: K-LOAD-07, B-09, B-10, B-21, D-08, A-19, G-22, K-SESSION-13,
   K-ANTRINE-06, K-ANTRINE-25). Presentation only: permissions, data and every form action are unchanged. */
.unit-key-facts,.client-row-call{display:none}

@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 /* A-19, B-21, K-ANTRINE-25, G-22: back links, section links, file links and the analytics links are 44 px tall. */
 .back-link,.tap-link,.section-heading>a,.document-list a,.card-open,.analytics-blocks a:not(.button){display:inline-flex;align-items:center;min-height:44px;max-width:100%}

 .back-link{margin-bottom:8px}

 .saved-views button{min-height:44px}

 .card-open{display:flex}

 /* K-LOAD-07: the client list (/klientai/, both views) keeps its search box on screen and shows one short row per
    client like the catalog (C-09): name, project, stage and next plan, a call button; the phone number, e-mail and
    last action stay on the client's card; a broker's own list leaves out the broker's name. */
 table.mobile-ready.phone-client-rows tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;grid-template-areas:"name name call" "project project call" "stage plan call";gap:0 10px;padding:4px 8px 10px 12px;margin-bottom:6px;align-items:start}

 table.mobile-ready.phone-client-rows td:before{display:none}

 table.mobile-ready.phone-client-rows td.client-row-name{grid-area:name;padding:0;border:0;font-size:16px}

 table.mobile-ready.phone-client-rows td.client-row-name>a{font-weight:600}

 table.mobile-ready.phone-client-rows .client-row-contacts,table.mobile-ready.phone-client-rows td.client-row-action,table.mobile-ready.phone-client-rows[data-own-list] .client-row-owner{display:none}

 table.mobile-ready.phone-client-rows td.client-row-project,table.mobile-ready.phone-client-rows td.client-row-projects{grid-area:project;font-size:13px}

 table.mobile-ready.phone-client-rows td.client-row-projects .cell-note{display:inline;margin:0 0 0 8px}

 table.mobile-ready.phone-client-rows td.client-row-stage{grid-area:stage;font-size:13px;margin-top:4px}

 table.mobile-ready.phone-client-rows td.client-row-plan{grid-area:plan;font-size:13px;margin-top:4px;font-variant-numeric:tabular-nums}

 table.mobile-ready.phone-client-rows td.client-row-stage .cell-note,table.mobile-ready.phone-client-rows td.client-row-plan .cell-note{margin-top:0}

 table.mobile-ready.phone-client-rows td.client-row-plan .muted{font-size:13px}

 table.mobile-ready.phone-client-rows td.client-row-call{display:block;grid-area:call;align-self:center}

 table.mobile-ready.phone-client-rows a.catalog-call{display:inline-flex;align-items:center;justify-content:center;width:48px;min-height:48px;border:1px solid #000;border-radius:50%;background:#fff;color:#000}

 /* B-10: price, area, rooms, floor and type right under the unit's status, before "Kitas veiksmas". */
 .unit-key-facts{display:grid;order:-2;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;width:100%;margin:0 0 16px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:8px}

 .unit-key-facts>div{min-width:0}
 .unit-key-facts .unit-key-price{grid-column:1/-1}

 .unit-key-facts dt{font-size:12px;color:var(--muted)}

 dl.unit-key-facts dd{margin:0;font-size:15px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

 dl.unit-key-facts .unit-key-price dd{font-size:24px;font-weight:600}

 /* D-08: a plan is its time and kind with one row of actions; each form opens under the row, "Suplanuoti" leads. */
 .plan-card{padding:12px 0}
 .plan-card h3{margin-bottom:6px}
 .plan-card p{margin-bottom:6px}

 .plan-actions{display:flex;flex-wrap:wrap;gap:8px}

 .plan-actions>details{flex:0 0 auto;max-width:100%;border:0;margin:0;padding:0}
 .plan-actions>details[open]{flex-basis:100%}

 .plan-actions>details>summary{display:inline-flex;align-items:center;list-style:none;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:22px;background:#fff;font-size:14px}

 .plan-actions>details>summary::-webkit-details-marker{display:none}
 .plan-actions>details[open]>summary{border-color:#000}

 .plan-schedule{margin-bottom:8px}
 .plan-schedule>summary{font-weight:600}

 /* K-ANTRINE-06: on a secondary-market card the status actions come right after the status line. */
 .secondary-actions{order:-1}
 /* K-ANTRINE-19: and they take the full width, even a lone panel. */
 .secondary-actions{width:100%}

 /* K-SESSION-13: the client card's phone and e-mail are 44 px buttons, as on the client's project card. */
 .facts.contact-facts{grid-template-columns:minmax(0,1fr);gap:4px}

 .facts .contact-button{font-size:16px;max-width:100%;overflow-wrap:anywhere}
 .facts .contact-button[href^="tel:"]{white-space:nowrap}

}
/* G22 G-17: on a phone a block's title and its "Suskleisti / Išskleisti" share the first row, "Išsamiau" comes under them. */
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 .analytics-block-heading h2{flex:1 1 0;min-width:0}.analytics-block-heading .analytics-toggle{order:1;margin-left:0;padding:10px 0 10px 10px}
 .analytics-block-heading .analytics-more{order:2;flex-basis:100%}
 .analytics-block.is-folded{padding-top:12px;padding-bottom:12px}
}
/* G22 B-08: at a desk the objects table shows rooms, floor and price per m² (the sheet layout's own cells: 5th, 8th and
   10th column of inventory_table.html); the phone keeps its compact rows and spreadsheet. */
@media(min-width:761px) and (pointer:fine),(min-width:761px) and (pointer:none),(min-width:1101px){
 .inventory-compact .phone-col:nth-child(5),.inventory-compact .phone-col:nth-child(8),.inventory-compact .phone-col:nth-child(10){display:table-cell}
}
/* G22 D-19: "Pakeisti laiką" and "Atšaukti" are 44 px on every touch screen, a large tablet included. */
@media(pointer:coarse){.plan-actions>details>summary{display:inline-flex;align-items:center;min-height:44px}}
/* G22 F-07: on a phone the broker's balances ("NUMO man skolinga", "Mano skola NUMO") and the sales manager's 5 % share
   come right under the heading; the order of the page is otherwise unchanged (the desktop keeps the page order). */
@media(max-width:760px),(pointer:coarse) and (max-width:1100px){
 body[data-role=BROKER] .finance-workspace,.finance-workspace:has(#manager-share){display:flex;flex-direction:column}
 body[data-role=BROKER] .finance-workspace>.page-heading,.finance-workspace:has(#manager-share)>.page-heading{order:-3}
 body[data-role=BROKER] .finance-workspace>p.muted:has(+.project-cards),body[data-role=BROKER] .finance-workspace>.project-cards,
 .finance-workspace:has(#manager-share)>p.muted:has(+.project-cards),.finance-workspace:has(#manager-share)>.project-cards{order:-2}
 .finance-workspace>#manager-share{order:-1}
 .finance-workspace>.project-cards{margin-top:0}
}
