:root{--zoom: 1}@media (min-width: 3000px){:root{--zoom: 1.5}}@media (min-width: 4400px){:root{--zoom: 2}}html{zoom:var(--zoom)}html .h-screen{height:calc(100vh / var(--zoom));height:calc(100dvh / var(--zoom))}html .min-h-screen{min-height:calc(100vh / var(--zoom));min-height:calc(100dvh / var(--zoom))}:root{--ink-950: #fafafa;--ink-900: #ffffff;--ink-850: #f8fafc;--ink-800: #f1f5f9;--ink-700: #e2e8f0;--brand-400: #2563eb;--brand-500: #2563eb;--brand-600: #1d4ed8;--brand-50: #eff6ff;--text: #344256;--heading: #0f172a;--text-muted: #65758b;color-scheme:light}html,body{background:var(--ink-950);color:var(--text)}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500;color:var(--text);transition:background-color .15s,color .15s}.nav-link:hover{background:var(--ink-800);color:var(--heading)}.nav-link.active{background:var(--ink-800);color:var(--heading);font-weight:600}.nav-link.active .nav-icon{color:var(--brand-500)}.nav-icon{width:1.1rem;height:1.1rem;fill:currentColor;flex-shrink:0;color:#65758b}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:.375rem;font-size:.875rem;font-weight:600;white-space:nowrap;transition:background-color .15s,border-color .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-500);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-600)}.btn-secondary{background:#fff;color:var(--heading);border:1px solid var(--ink-700)}.btn-secondary:hover:not(:disabled){background:var(--ink-800)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.select-dark,.input-dark{background:#fff;border:1px solid var(--ink-700);color:var(--heading);border-radius:.375rem;padding:.45rem .75rem;font-size:.875rem}.select-dark:focus,.input-dark:focus{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 3px #2563eb26}.select-dark{appearance:none;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2365758b'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.1rem}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.module-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}@media (max-width: 1023px){.projects-header{flex-direction:column-reverse;align-items:stretch}.projects-actions{flex-wrap:wrap}.projects-actions>.btn{flex:1 1 9rem;justify-content:center}}@media (min-width: 1024px){.projects-header{flex-direction:column;align-items:stretch;gap:.75rem}.projects-actions{width:100%;flex-wrap:wrap}.projects-actions>.btn{flex:1 1 auto;justify-content:center}}@media (max-width: 479px){.projects-actions{display:flex!important;flex-wrap:wrap;align-items:stretch!important;width:100%}.projects-actions>.btn{flex:1 1 9rem;justify-content:center;padding:.55rem .5rem;font-size:.78rem;line-height:1.2;text-align:center;white-space:normal}html[lang=ka] .projects-actions>.btn{font-size:.8rem}.projects-actions>.btn-primary,html[lang=ka] .projects-actions>.btn-primary{flex-basis:100%;font-size:.875rem}}.panel{background:var(--ink-900);border:1px solid var(--ink-700);border-radius:.5rem;padding:1.25rem;box-shadow:0 1px 2px #0f172a0a}.panel-title{font-size:.95rem;font-weight:600;color:var(--heading);margin-bottom:.75rem}.empty-state{display:grid;place-items:center;min-height:8rem;color:var(--text-muted);font-size:.875rem;text-align:center}.panel.empty-state{min-height:16rem;border-style:dashed}.kpi-card{background:var(--ink-900);border:1px solid var(--ink-700);border-radius:.5rem;padding:1.25rem;box-shadow:0 1px 2px #0f172a0a}.kpi-label{font-size:.8rem;font-weight:500;color:var(--text)}.kpi-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.375rem}.kpi-value{margin-top:.5rem;font-size:1.75rem;font-weight:700;color:var(--heading);font-variant-numeric:tabular-nums}.kpi-meta{margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.kpi-value.positive{color:#16a34a}.kpi-value.negative{color:#dc2626}.fx-rate{margin-left:auto;flex-shrink:0;white-space:nowrap;font-size:.8125rem;color:#475569;padding:.25rem .625rem;border:1px solid var(--ink-700);border-radius:9999px}.fx-rate:hover{border-color:#94a3b8}.fx-rate b{color:#0f172a;font-weight:600}.fx-label{font-size:.6875rem;font-weight:600;letter-spacing:.04em;color:#94a3b8}.fx-diff{font-size:.75rem;color:#64748b}@media (max-width: 480px){.fx-label,.fx-diff{display:none}}.currency-switch{margin-left:auto;display:inline-flex;flex-shrink:0;border:1px solid var(--ink-700);border-radius:9999px;overflow:hidden}.currency-switch:not(.hidden)+.fx-rate{margin-left:.5rem}.lang-menu{position:relative;flex-shrink:0}.lang-globe{display:inline-flex;align-items:center;gap:.2rem;height:2.1rem;padding:0 .45rem 0 .5rem;border-radius:.6rem;color:#c9c9d1;background:#ffffff0d;transition:background .15s,color .15s}.lang-globe:hover,.lang-globe[aria-expanded=true]{color:#fff;background:#ffffff1a}.lang-globe svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.lang-globe .globe-icon{width:1.2rem;height:1.2rem;stroke-width:1.5}.lang-globe .globe-caret{width:.7rem;height:.7rem;stroke-width:1.6;opacity:.7;transition:transform .15s}.lang-globe[aria-expanded=true] .globe-caret{transform:rotate(180deg)}.lang-globe[aria-expanded=true] .globe-icon{color:#ff7a3d}.lang-list{position:absolute;right:0;top:calc(100% + .4rem);z-index:60;min-width:9rem;padding:.3rem;background:#141418;border:1px solid rgba(255,255,255,.14);border-radius:.6rem;box-shadow:0 12px 30px -10px #000000b3}.lang-list[hidden]{display:none}.lang-list button{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.45rem .65rem;border-radius:.4rem;font-size:.85rem;text-align:left;color:#c9c9d1;background:transparent}.lang-list button:hover{background:#ffffff0f;color:#fff}.lang-list button.is-active{color:#fff;cursor:default}.lang-list button.is-active:after{content:"✓";color:#e8541a;font-weight:700}#sidebar .lang-list{top:auto;bottom:calc(100% + .4rem)}#view-workspace .app-bar>.min-w-0{flex:1 1 auto}.currency-switch+.fx-rate{margin-left:.5rem}.lang-menu+.fx-rate{margin-left:.5rem}.show-block:not(.hidden){display:block}.show-grid:not(.hidden){display:grid}.show-flex:not(.hidden){display:flex}.currency-switch button{padding:.25rem .7rem;font-size:.8125rem;font-weight:600;color:#64748b;background:transparent}.currency-switch button:hover{color:#0f172a}.currency-switch button.is-active{background:#0f172a;color:#fff}.status-chip{display:inline-block;padding:.15rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:600;text-transform:capitalize}.status-done{background:#dcfce7;color:#15803d}.status-in_progress{background:#dbeafe;color:#1d4ed8}.status-pending{background:#f1f5f9;color:#475569}.status-blocked{background:#fee2e2;color:#b91c1c}.status-handed{background:#e0f2fe;color:#0369a1}.task-pct-cell{width:5.5rem}.task-pct{display:flex;align-items:center;gap:.2rem}.task-pct span{font-size:.75rem;color:var(--text-muted)}.task-pct-input{width:3.6rem;padding:.2rem .35rem;font-size:.8rem;text-align:right;color:var(--heading);background:#fff;border:1px solid var(--ink-700);border-radius:.375rem}.task-pct-bar{position:relative;height:3px;margin-top:.3rem;border-radius:999px;background:var(--ink-700)}.task-pct-bar>div{height:100%;border-radius:999px;background:#16a34a}.task-pct-plan{position:absolute;top:-2px;width:2px;height:7px;margin-left:-1px;border-radius:1px;background:#64748b}.task-pct-hint{display:block;margin-top:.25rem;font-size:.65rem;color:var(--text-muted)}.task-pct-hint.is-behind{color:#dc2626}.task-check{width:1.1rem;height:1.1rem;cursor:pointer;accent-color:#16a34a}.data-table tr.is-done .task-name{color:var(--text-muted);text-decoration:line-through}.data-table tr.is-overdue td{background:#fef2f2}.data-table tr.is-overdue .task-name{color:#991b1b}.data-table .task-name{color:var(--heading);font-weight:500}.select-inline{min-width:10rem;padding-top:.25rem;padding-bottom:.25rem;font-size:.8rem;background-color:#fff}.select-inline:hover{background-color:var(--ink-850)}.select-contractor{min-width:0;width:10rem;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-sm{padding:.35rem .7rem;font-size:.8rem}.kpi-value-sm{font-size:1.4rem;overflow-wrap:anywhere}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th{padding:.6rem .75rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-muted);background:var(--ink-850);border-bottom:1px solid var(--ink-700);white-space:nowrap}.data-table td{padding:.6rem .75rem;border-bottom:1px solid var(--ink-800);vertical-align:top;color:var(--text)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table tbody tr:hover{background:var(--ink-850)}.data-table tfoot td{font-weight:600;color:var(--heading);border-top:1px solid var(--ink-700);border-bottom:0}.data-table tr.is-cancelled td{opacity:.45}.data-table tr.is-cancelled p:first-child{text-decoration:line-through}.data-table tr.is-current td{background:var(--brand-50)}.data-table tr.is-muted td{color:var(--text-muted);font-style:italic}.variance-over{color:#dc2626;font-weight:600}.variance-under{color:#16a34a}.table-action{padding:.2rem .45rem;border-radius:.375rem;font-size:.75rem;font-weight:500;color:var(--brand-500)}.table-action:hover{background:var(--brand-50);color:var(--brand-600)}.table-action.is-danger{color:#dc2626}.table-action.is-danger:hover{background:#fef2f2;color:#b91c1c}.ask-panel{border-color:#bfdbfe}.ask-badge{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:.375rem;background:var(--brand-50);color:var(--brand-500);font-size:.85rem}.ask-answer{padding:.9rem 1rem;border-radius:.5rem;background:var(--ink-850);border:1px solid var(--ink-700);color:var(--heading);font-size:.9rem;line-height:1.6;white-space:pre-wrap}.ask-answer .ask-q{margin-bottom:.4rem;font-size:.75rem;color:var(--text-muted);white-space:normal}.ask-answer .ask-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.6rem;white-space:normal}.ask-answer .ask-head .ask-q{margin-bottom:0}.ask-langs{display:flex;flex-shrink:0;gap:.25rem}.ask-lang{padding:.15rem .55rem;border:1px solid var(--ink-700);border-radius:999px;font-size:.7rem;color:var(--text);background:#fff;white-space:nowrap}.ask-lang:hover{border-color:var(--brand-500);color:var(--brand-500)}.ask-lang.is-active{background:var(--brand-50);border-color:var(--brand-500);color:var(--brand-600)}.log-card{padding:1rem 1.1rem;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:.5rem;box-shadow:0 1px 2px #0f172a0a}.log-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin-bottom:.5rem}.log-card-date{font-weight:600;color:var(--heading)}.log-card-meta{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.log-card-actions{display:flex;gap:.25rem;white-space:nowrap}.log-card-crew{margin-bottom:.6rem;font-size:.75rem;color:var(--text-muted)}.log-card-delays{margin-bottom:.6rem;font-size:.75rem;color:#b45309}.log-card-defects{margin-bottom:.6rem;font-size:.75rem;color:#475569}.log-card-defects span:first-child{font-weight:600}.finish-was{display:block;font-size:.75rem;color:var(--text-muted);text-decoration:line-through}.finish-extended{display:block;color:#0369a1;cursor:help}.finish-ext-days{margin-left:.25rem;padding:0 .35rem;border-radius:999px;background:#e0f2fe;font-size:.6875rem;font-weight:600}.impact-list{max-height:13rem;overflow-y:auto;border:1px solid var(--ink-700);border-radius:.375rem;background:var(--ink-850)}.impact-row{display:flex;align-items:center;gap:.625rem;padding:.45rem .625rem;border-bottom:1px solid var(--ink-700)}.impact-row:last-child{border-bottom:0}.impact-row input[type=checkbox]{flex:none;accent-color:var(--brand-500)}.impact-row-name{min-width:0;flex:1;font-size:.8125rem;color:var(--heading)}.impact-row-who{display:block;font-size:.6875rem;color:var(--text-muted)}.impact-list .empty-state{border:0}.chip-ok,.chip-open{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:600}.chip-ok{background:#dcfce7;color:#15803d}.chip-open{background:#fef3c7;color:#b45309}.photo-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.photo-tile{position:relative;width:84px;height:84px}.photo-tile img{width:100%;height:100%;object-fit:cover;border-radius:.375rem}.photo-drop{position:absolute;top:-6px;right:-6px;width:20px;height:20px;line-height:18px;border-radius:999px;border:1px solid var(--ink-700);background:#fff;color:var(--heading);font-size:14px}.photo-drop:hover{background:#dc2626;color:#fff}.photo-add{display:inline-block;padding:.4rem .75rem;border:1px dashed #cbd5e1;border-radius:.375rem;font-size:.8125rem;color:var(--text);cursor:pointer;background:#fff}.photo-add:hover{border-color:var(--brand-500);color:var(--brand-500)}.photo-strip{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.6rem}.photo-thumb{width:64px;height:64px;border-radius:.375rem;overflow:hidden}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb:hover{outline:2px solid var(--brand-500)}.modal-photo{width:min(60rem,calc(100vw - 2rem));padding:0;background:#0f172a;border-color:#0f172a}.photo-view{position:relative;display:flex;flex-direction:column;align-items:center;padding:2.5rem 1rem 1rem}.photo-view img{max-width:100%;max-height:calc(100vh / var(--zoom) - 10rem);max-height:calc(100dvh / var(--zoom) - 10rem);border-radius:.375rem}.photo-view .modal-close{position:absolute;top:.5rem;right:.75rem;z-index:1;color:#cbd5e1}.photo-view .modal-close:hover{background:#ffffff1a;color:#fff}.photo-view-note{margin-top:.5rem;font-size:.75rem;color:#94a3b8}.photo-nav{position:absolute;top:50%;transform:translateY(-50%);padding:.25rem .75rem;border-radius:.375rem;background:#0f172ab3;color:#e2e8f0;font-size:1.75rem;line-height:1}.photo-prev{left:.5rem}.photo-next{right:.5rem}.photo-nav:hover{background:#1e293bf2}.log-notes{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.log-notes p{white-space:pre-wrap;font-size:.85rem;color:var(--text)}.log-notes .log-lang{display:block;margin-bottom:.2rem;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-500)}@media (max-width: 639px){.log-notes{grid-template-columns:1fr}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem}.project-card{position:relative;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:.5rem;box-shadow:0 1px 2px #0f172a0a;transition:border-color .15s,box-shadow .15s,transform .15s}.project-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #0f172a14;transform:translateY(-2px)}.project-card.is-active{border-color:var(--brand-500)}.project-card-open{display:block;width:100%;padding:1.25rem;text-align:left;border-radius:inherit}.project-card-corner{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:.4rem}.plan-badge{display:block;width:2.4rem;height:2.4rem;border-radius:9999px;overflow:hidden;flex-shrink:0;box-shadow:0 2px 6px #0f172a1f}.plan-badge svg{display:block;width:100%;height:100%}.plan-badge.is-concierge{background:linear-gradient(160deg,#ffedd5,#fed7aa);box-shadow:0 0 0 2px #fff,0 0 0 3.5px #e8541a}.plan-badge.is-software{background:linear-gradient(160deg,#e0f2fe,#bfdbfe);box-shadow:0 0 0 2px #fff,0 0 0 3.5px #60a5fa}.project-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1rem;text-align:center}.project-stats dt{font-size:.7rem;color:var(--text-muted)}.project-stats dd{font-size:1rem;font-weight:600;color:var(--heading);font-variant-numeric:tabular-nums}.project-stats dd.is-alert{color:#dc2626}.modal{width:min(48rem,calc(100vw - 2rem));max-height:calc(100vh / var(--zoom) - 2rem);max-height:calc(100dvh / var(--zoom) - 2rem);padding:0;margin:auto;background:var(--ink-900);color:var(--text);border:1px solid var(--ink-700);border-radius:.5rem;box-shadow:0 25px 50px -12px #0f172a40}.modal-sm{width:min(24rem,calc(100vw - 2rem))}.modal-wide{width:min(72rem,calc(100vw - 2rem))}@media (min-width: 640px){#modal-project{width:min(38rem,calc(100vw - 2rem))}}@media (min-width: 640px){#modal-access{width:min(100rem,calc(100vw - 2rem))}}.modal::backdrop{background:#0f172a66;backdrop-filter:blur(2px)}#modal-login::backdrop,#modal-set-password::backdrop{background:#fafafa;backdrop-filter:none}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--ink-700)}.modal-header h2{font-size:1.05rem;font-weight:600;color:var(--heading)}.modal-body{padding:1.25rem;max-height:calc(65vh / var(--zoom));max-height:calc(65dvh / var(--zoom));overflow-y:auto}.modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--ink-700);background:var(--ink-850);border-radius:0 0 .5rem .5rem}.modal-close{flex:none;width:2rem;height:2rem;border-radius:.375rem;font-size:1.4rem;line-height:1;color:var(--text-muted)}.modal-close:hover{background:var(--ink-800);color:var(--heading)}.form-label{display:block;margin-bottom:.35rem;font-size:.8rem;font-weight:500;color:var(--text)}.check-row{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.875rem;color:var(--heading)}.check-row input{margin-top:.2rem;width:1rem;height:1rem;accent-color:var(--brand-500);flex-shrink:0}.check-row small{display:block;margin-top:.1rem;font-size:.75rem;color:var(--text-muted)}.form-error{padding:.5rem .75rem;font-size:.8rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem}.input-dark::placeholder{color:#94a3b8}textarea.input-dark{resize:vertical}.select-dark:disabled{opacity:.6}.signed-in{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.2rem;max-width:100%;vertical-align:middle}.signed-in-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-tag{max-width:100%;padding:.05rem .5rem;border-radius:999px;font-size:.68rem;font-weight:600;line-height:1.5;white-space:nowrap}.role-tag.is-founder{background:var(--brand-600);color:#fff}.role-tag.is-cofounder{background:var(--brand-50);color:var(--brand-600);border:1px solid var(--brand-600)}.team-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:6px 0 2px 44px}.team-actions .btn{max-width:100%;white-space:normal;text-align:center}.team-given{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px 44px}.team-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 4px 2px 10px;border:1px solid var(--brand-600);border-radius:999px;font-size:12px;color:var(--text);overflow-wrap:anywhere}.team-chip.is-off{border-color:var(--ink-700);color:#94a3b8;text-decoration:line-through}.team-chip button{flex:none;width:20px;height:20px;border:0;border-radius:50%;background:none;color:inherit;font-size:15px;line-height:1;cursor:pointer}.team-chip button:hover{background:#dc262626;color:#dc2626}.role-tag.is-admin{background:var(--brand-50);color:var(--brand-600)}.role-tag.is-manager{background:#ecfdf5;color:#047857}.role-tag.is-inspector{background:#f5f3ff;color:#6d28d9}.role-tag.is-safety{background:#ecfeff;color:#0e7490}.role-tag.is-accountant{background:#fffbeb;color:#b45309}.role-tag.is-viewer{background:var(--ink-800);color:#475569}.role-tag.is-contractor{background:#ecfdf5;color:#047857}.role-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.role-card{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--ink-700);border-radius:.5rem;background:var(--ink-900)}.role-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.5rem;flex-shrink:0}.role-icon svg{width:1.15rem;height:1.15rem;fill:currentColor}.role-card.is-admin .role-icon{background:var(--brand-50);color:var(--brand-600)}.role-card.is-manager .role-icon{background:#ecfdf5;color:#047857}.role-card.is-inspector .role-icon{background:#f5f3ff;color:#6d28d9}.role-card.is-safety .role-icon{background:#ecfeff;color:#0e7490}.role-card.is-accountant .role-icon{background:#fffbeb;color:#b45309}.role-card.is-viewer .role-icon{background:var(--ink-800);color:#475569}.role-name{font-size:.875rem;font-weight:600;color:var(--heading)}.role-what{margin-top:.15rem;font-size:.75rem;line-height:1.4;color:var(--text-muted)}.role-count{margin-left:auto;padding-left:.25rem;font-size:1.35rem;font-weight:700;line-height:1.1;color:var(--heading);font-variant-numeric:tabular-nums}.access-toolbar{display:flex;align-items:center;gap:.75rem}.access-toolbar .input-dark{flex:1;min-width:0}.access-card{padding:1rem;border:1px solid var(--ink-700);border-radius:.5rem;background:var(--ink-900)}.access-card.is-admin{border-color:#bfdbfe;background:linear-gradient(180deg,#f8fbff,#fff)}.access-head{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.avatar{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:999px;flex-shrink:0;font-size:.85rem;font-weight:700;letter-spacing:.02em;background:hsl(var(--hue, 215) 80% 93%);color:hsl(var(--hue, 215) 55% 30%)}.access-who{flex:1 1 14rem;min-width:0}.access-name{font-weight:600;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-other-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-role{order:3;display:block;width:100%}.access-role-what{display:block;margin-top:.35rem;font-size:.75rem;color:var(--text-muted)}.access-meta{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-meta .is-warn{color:#b45309}.access-meta.access-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .5rem;overflow:visible;white-space:normal;color:var(--heading)}.access-meta.access-title .link-btn{font-size:.75rem;white-space:nowrap}.access-actions{display:flex;gap:.15rem}.role-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:999px;background:var(--brand-50);color:var(--brand-600);font-size:.8rem;font-weight:600}.role-badge svg{width:.95rem;height:.95rem;fill:currentColor}.seg{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--ink-700);border-radius:.5rem;background:var(--ink-800)}.seg button{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:.375rem;font-size:.8rem;font-weight:600;color:var(--text-muted);white-space:nowrap;transition:background-color .15s,color .15s,box-shadow .15s}.seg button svg{width:.95rem;height:.95rem;fill:currentColor;flex-shrink:0}.seg button:hover:not([aria-pressed=true]):not(:disabled){color:var(--heading)}.seg button[aria-pressed=true]{background:#fff;color:var(--heading);box-shadow:0 1px 2px #0f172a1f,0 0 0 1px #0f172a0d}.seg button[data-role=manager][aria-pressed=true]{color:#047857}.seg button[data-role=inspector][aria-pressed=true]{color:#6d28d9}.seg button[data-role=safety][aria-pressed=true]{color:#0e7490}.seg button[data-role=accountant][aria-pressed=true]{color:#b45309}.seg button:disabled{opacity:.5;cursor:not-allowed}.icon-btn{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.375rem;color:var(--text-muted);transition:background-color .15s,color .15s}.icon-btn svg{width:1.05rem;height:1.05rem;fill:currentColor}.icon-btn:hover{background:var(--brand-50);color:var(--brand-600)}.icon-btn.is-danger:hover{background:#fef2f2;color:#b91c1c}.access-projects{margin-top:.9rem;padding-top:.85rem;border-top:1px dashed var(--ink-700)}.access-projects-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem;font-size:.75rem}.access-projects-title{font-weight:600;color:var(--heading)}.access-projects-count{padding:.05rem .45rem;border-radius:999px;background:var(--ink-800);color:var(--text-muted);font-variant-numeric:tabular-nums}.access-projects-count.is-zero{background:#fef3c7;color:#b45309}.access-title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:.6rem;align-items:baseline;padding:.3rem 0;font-size:.8rem}.access-title-project{font-weight:600;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-btn{font-size:.75rem;font-weight:600;color:var(--brand-500)}.company-folder{position:relative;display:flex;flex-direction:column;gap:.6rem;text-align:left;width:100%;padding:1.25rem;border-radius:.9rem;background:var(--ink-900);border:1px solid var(--ink-700);transition:border-color .15s,box-shadow .15s,transform .15s}.company-folder:hover{border-color:#e8541a;box-shadow:0 10px 30px -18px #e8541ab3;transform:translateY(-2px)}.company-folder .folder-icon{width:2.75rem;height:2.75rem;border-radius:.7rem;display:grid;place-items:center;background:#e8541a1f;color:#e8541a}.company-folder .folder-icon svg{width:1.5rem;height:1.5rem;fill:currentColor}.company-folder .folder-name{font-size:1.05rem;font-weight:600;color:var(--heading, #0f172a)}.company-folder .folder-meta{font-size:.8rem;color:#64758b}.company-folder .folder-status{position:absolute;top:1.25rem;right:1.25rem;font-size:.7rem;font-weight:600;padding:.15rem .55rem;border-radius:999px}.company-folder .folder-status.is-active{background:#dcfce7;color:#15803d}.company-folder .folder-status.is-trial{background:#fef3c7;color:#b45309}.company-folder .folder-status.is-suspended{background:#fee2e2;color:#b91c1c}.company-folder .folder-link{font-size:.75rem;font-weight:600;color:#475569}.company-folder .folder-link.is-firm{color:#b45309}.link-btn:hover{color:var(--brand-600);text-decoration:underline}.back-btn{position:relative;display:inline-flex;align-items:center;gap:.35rem}.back-btn svg{width:1rem;height:1rem;flex:none;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}.back-btn:hover svg{transform:translate(-3px)}.back-btn:hover{text-decoration:none}.back-btn:hover:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor}.back-btn.hidden{display:none}.chip-toggles{display:flex;flex-wrap:wrap;gap:.4rem}.chip-toggle{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.3rem .75rem .3rem .55rem;border:1px solid var(--ink-700);border-radius:999px;background:#fff;font-size:.8rem;color:var(--text);transition:background-color .15s,border-color .15s,color .15s}.chip-toggle svg{width:.9rem;height:.9rem;fill:currentColor;flex-shrink:0;opacity:.4}.chip-toggle span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-toggle small{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.chip-toggle:hover{border-color:var(--brand-500)}.chip-toggle[aria-pressed=true]{border-color:#93c5fd;background:var(--brand-50);color:var(--brand-600);font-weight:600}.chip-toggle[aria-pressed=true] svg{opacity:1}.chip-toggle[aria-pressed=true] small{color:#3b82f6;font-weight:400}.access-note{margin-top:.6rem;font-size:.75rem;color:var(--text-muted)}.access-flags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.access-legend-note{font-size:.75rem;color:var(--text-muted)}.flag-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem .3rem .55rem;border:1px dashed var(--ink-700);border-radius:.375rem;background:#fff;font-size:.78rem;font-weight:600;color:var(--text-muted);transition:background-color .15s,border-color .15s,color .15s}.flag-toggle svg{width:.95rem;height:.95rem;fill:currentColor;flex-shrink:0}.flag-toggle:hover:not(:disabled){border-color:var(--brand-500);color:var(--heading)}.flag-toggle[aria-pressed=true]{border-style:solid;border-color:#fcd34d;background:#fffbeb;color:#b45309}.flag-toggle[data-access-flag=all_projects][aria-pressed=true]{border-color:#a5b4fc;background:#eef2ff;color:#4338ca}.flag-toggle:disabled{opacity:.5;cursor:not-allowed}.log-inbox{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;padding:.6rem .9rem;border:1px solid #fde68a;border-radius:.5rem;background:#fffbeb;font-size:.85rem;color:#92400e}.log-tag{padding:.05rem .5rem;border-radius:999px;background:#fef3c7;color:#b45309;font-size:.7rem;font-weight:600;white-space:nowrap}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.chat-layout.has-threads{grid-template-columns:15rem minmax(0,1fr)}.chat-threads{display:flex;flex-direction:column;gap:2px;max-height:65vh;max-height:65dvh;overflow-y:auto}.chat-thread{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .65rem;border-radius:.5rem;text-align:left}.chat-thread:hover{background:var(--ink-850)}.chat-thread.is-open{background:var(--brand-50);box-shadow:inset 3px 0 #e8541a}.chat-thread-name{font-size:.85rem;font-weight:600;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread.is-unread .chat-thread-name:after{content:"";display:inline-block;width:.45rem;height:.45rem;margin-left:.4rem;border-radius:999px;background:#e8541a;vertical-align:middle}.chat-thread-meta{font-size:.72rem;color:var(--text-muted)}.chat-thread-meta.is-waiting{color:#b45309;font-weight:600}.chat-pane{display:flex;flex-direction:column;gap:.75rem;min-width:0}.chat-with{font-weight:600;color:var(--heading)}.chat-messages{display:flex;flex-direction:column;gap:.6rem;min-height:12rem;max-height:55vh;max-height:55dvh;overflow-y:auto;padding:.75rem;border:1px solid var(--ink-700);border-radius:.6rem;background:var(--ink-850)}.chat-msg{align-self:flex-start;max-width:min(36rem,85%);padding:.5rem .75rem;border-radius:.75rem .75rem .75rem .2rem;border:1px solid var(--ink-700);background:#fff}.chat-msg.is-ours{align-self:flex-end;border-radius:.75rem .75rem .2rem;border-color:#fed7c3;background:var(--brand-50)}.chat-msg-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.2rem;font-size:.75rem;color:var(--heading)}.chat-badge{padding:0 .4rem;border-radius:999px;background:#e8541a;color:#fff;font-size:.65rem;font-weight:600}.chat-topic-tag{padding:0 .4rem;border-radius:999px;background:var(--ink-800);color:#475569;font-size:.65rem;font-weight:600}.chat-time{color:var(--text-muted);font-size:.7rem}.chat-body{margin:0;font-size:.875rem;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.chat-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:.5rem}.chat-form textarea{resize:none;min-height:0}.chat-form .chat-topic.hidden+textarea{grid-column:1 / 3}@media (max-width: 767px){.chat-layout.has-threads{grid-template-columns:minmax(0,1fr)}.chat-threads{flex-direction:row;overflow-x:auto;max-height:none;padding-bottom:.25rem}.chat-thread{flex:0 0 auto;max-width:12rem}.chat-form{grid-template-columns:minmax(0,1fr) auto}.chat-form .chat-topic{grid-column:1 / -1}.chat-form .chat-topic.hidden+textarea{grid-column:auto}}.concierge-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1rem;padding:.6rem .9rem;border:1px solid #c7d2fe;border-radius:.5rem;background:#eef2ff;font-size:.85rem;color:#3730a3}.concierge-strip.is-waiting{border-color:#fde68a;background:#fffbeb;color:#92400e}.concierge-strip-label{font-weight:600}.concierge-strip-who{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;font-weight:600;color:var(--heading)}.concierge-strip-who .link-btn{font-weight:400;font-size:.8rem}.log-approved{display:inline-flex;align-items:center;gap:.25rem;padding:.05rem .5rem;border-radius:999px;background:#dcfce7;color:#15803d;font-size:.7rem;font-weight:600;white-space:nowrap}.log-approved svg{width:.85rem;height:.85rem;fill:currentColor}.log-approve{padding:.2rem .75rem;font-size:.75rem}.project-card-inbox{margin-top:.6rem;font-size:.75rem;font-weight:600;color:#b45309}.access-note.is-warn{color:#b45309}@media (max-width: 767px){.role-legend{grid-template-columns:1fr;gap:.5rem}.role-card{padding:.7rem .85rem}}@media (max-width: 639px){.access-who{flex:1 1 8rem}.access-actions{order:2}.access-head .seg{order:3;width:100%}.access-head .seg button{flex:1;justify-content:center}.access-head .role-badge{order:3;margin-left:3.25rem}}.toast{max-width:24rem;padding:.7rem 1rem;font-size:.875rem;color:var(--heading);background:#fff;border:1px solid var(--ink-700);border-left:3px solid #64748b;border-radius:.375rem;box-shadow:0 10px 25px #0f172a1f;animation:toast-in .2s ease-out}.toast-success{border-left-color:#16a34a}.toast-error{border-left-color:#dc2626}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}body>div[style*="visibility: hidden"]>img{display:inline!important}.pdf-offscreen{position:fixed;top:0;left:-10000px;pointer-events:none}.pdf-page{width:718px;background:#fff;color:#0f172a;font-family:Inter,Noto Sans Georgian,system-ui,sans-serif;font-size:12px;line-height:1.5}.pdf-page em{font-style:normal;font-weight:400;color:#64748b}.pdf-page th em,.pdf-facts span em{display:block;font-size:.85em}.pdf-page h2 em{font-size:.85em;text-transform:none;letter-spacing:0;margin-left:4px}.pdf-summary-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pdf-lang{margin-bottom:4px;font-size:11px;font-weight:600;color:#b45309}.pdf-page h1{font-size:22px;font-weight:700;color:#0f172a;line-height:1.35}.pdf-page h2{font-size:14px;font-weight:700;color:#0f172a;margin-bottom:8px}.pdf-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:12px;border-bottom:3px solid #f59e0b}.pdf-header>div:first-child{min-width:0}.pdf-header-date{text-align:right;flex:none}.pdf-header-date [data-field=date-ka],.pdf-header-date [data-field=date-en]{white-space:nowrap}.pdf-eyebrow{font-size:11.5px;font-weight:600;color:#b45309}.pdf-muted{color:#64748b}.pdf-strong{font-weight:700}.pdf-indent{color:#475569;font-size:.95em}.pdf-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.pdf-facts>div{padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.pdf-facts span{display:block;font-size:10px;color:#64748b}.pdf-facts strong{display:block;font-size:14px;color:#0f172a}.pdf-section{margin-top:18px}.pdf-note{margin-top:6px;font-size:10px;font-style:italic;color:#64748b}.pdf-notes{white-space:pre-wrap}.pdf-page table{width:100%;border-collapse:collapse;font-size:11px}.pdf-page th,.pdf-page td{border:1px solid #cbd5e1;padding:6px 8px;text-align:center;vertical-align:middle}.pdf-page th{background:#f1f5f9;font-weight:600}.pdf-page .num{font-variant-numeric:tabular-nums}.pdf-page .pdf-empty{color:#64748b;font-style:italic;text-align:center}.pdf-page tr.pdf-group-row td{background:#f1f5f9;font-weight:700;color:#0f172a}.pdf-page .pdf-bi{white-space:pre-line}.pdf-photos{width:100%;border-collapse:collapse}.pdf-photos td{width:50%;padding:0 0 14px;border:0;vertical-align:top}.pdf-photos td+td{padding-left:14px}.pdf-photos td>div{border-radius:4px;line-height:0;text-align:center}.pdf-photos img{display:inline-block;max-width:100%;max-height:230px;width:auto;height:auto;border-radius:4px}.pdf-page h2,.pdf-page h3{page-break-after:avoid;break-after:avoid;page-break-inside:avoid;break-inside:avoid}.pdf-page tr,.pdf-page td,.pdf-page th{page-break-inside:avoid;break-inside:avoid}.doc-signature{margin-top:28px;padding-top:12px;border-top:1px solid #e2e8f0;width:60%}.doc-signature-label{font-size:11px;font-weight:600;color:#b45309}.doc-signature-name{margin-top:4px;font-size:14px;font-weight:700;color:#0f172a}.doc-signature-title{font-size:11.5px;color:#334155;white-space:nowrap}.doc-signature-title-en{font-size:11px;color:#64748b;white-space:nowrap}.doc-signature-name span,.doc-signature-title span{font-weight:400;color:#64748b}.doc-signature-sign{width:220px;margin-top:10px}.doc-signature-mark{display:block;width:auto;height:auto;max-width:160px;max-height:64px;margin:0 0 -7px 8px}.doc-signature-line{padding-top:4px;border-top:1px solid #94a3b8;font-size:10px;color:#64748b}.doc-signatures{display:flex;gap:40px;margin-top:28px;padding-top:12px;border-top:1px solid #e2e8f0}.doc-signatures{align-items:stretch}.doc-signatures .doc-signature{flex:1 1 0;width:auto;min-width:0;margin:0;padding:0;border:0;display:flex;flex-direction:column}.doc-signatures .doc-signature-sign{width:100%;margin-top:auto;padding-top:10px}.rpt{font-size:11.5px}.rpt em{font-style:normal;font-weight:400;color:#64748b;margin-left:3px}.rpt th em{display:block;font-size:.85em;margin-left:0}.rpt h2{margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid #e2e8f0;font-size:13px;line-height:1.5;text-transform:none;letter-spacing:0}.rpt h2 em{font-size:.85em;margin-left:4px}.rpt-section{margin-top:22px}.rpt-muted{color:#64748b}.rpt-neg{color:#be123c;font-weight:600}.rpt-strong{font-weight:700}.rpt-none{color:#94a3b8;font-style:italic}.rpt-none em{display:inline;margin-left:4px}.rpt-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:18px 20px;border-radius:8px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-bottom:4px solid #f59e0b}.rpt-header h1{color:#fff;font-size:24px;margin:2px 0}.rpt-header .rpt-muted{color:#cbd5e1}.rpt-header-date{text-align:right}.rpt-client{margin-top:4px;color:#fde68a;font-size:11px}.rpt-client strong{color:#fff}.rpt-client-en{display:block;color:#fff;font-weight:600}.rpt-currency{margin-top:3px;color:#cbd5e1;font-size:10.5px}.rpt-currency em{color:#94a3b8;margin-left:4px}.pdf-client{margin-top:2px;font-weight:600;color:#334155}.pdf-client:empty{display:none}.rpt-eyebrow{font-size:11.5px;font-weight:600;color:#fbbf24}.rpt-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rpt-tiles-4{grid-template-columns:repeat(4,1fr);margin-bottom:10px}.rpt-activity{display:grid;grid-template-columns:1fr 210px;gap:12px;align-items:end;margin-bottom:20px}.rpt-activity .rpt-columns,.rpt-activity .rpt-tile{margin:0}.rpt-tile{padding:10px 12px;border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:6px;background:#f8fafc}.rpt-tile span{display:block;font-size:10px;color:#475569}.rpt-tile span em{display:block;margin-left:0}.rpt-tile strong{display:block;margin-top:2px;font-size:18px;color:#0f172a}.rpt-tile small{display:block;margin-top:2px;font-size:10px;color:#64748b}.rpt-tile small em{margin-left:2px}.rpt-tile-ok{border-left-color:#059669}.rpt-tile-bad{border-left-color:#e11d48}.rpt-tile-bad strong{color:#be123c}.rpt-tile-warn{border-left-color:#d97706}.rpt-tile-muted{border-left-color:#94a3b8}.rpt-tile-muted strong{color:#64748b}.rpt-late{color:#be123c;font-weight:700}.rpt-block{display:block;margin-left:0}.rpt-foot-note{margin-top:6px;color:#64748b;font-size:10px}.rpt-foot-note em{margin-left:4px}.rpt-chip{display:inline-block;text-align:center;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:600;line-height:1.35;white-space:nowrap}.rpt th{white-space:normal}.rpt tr.rpt-group-row td{background:#f1f5f9;font-weight:700;color:#0f172a}.rpt-ok{background:#d1fae5;color:#047857}.rpt-bad{background:#ffe4e6;color:#be123c}.rpt-warn{background:#fef3c7;color:#b45309}.rpt-muted.rpt-chip,.rpt-chip.rpt-muted{background:#f1f5f9;color:#475569}.rpt td .rpt-chip{white-space:normal}.rpt table{margin-top:4px}.rpt tbody tr:nth-child(2n) td{background:#f8fafc}.rpt tr.rpt-current td{background:#fffbeb}.rpt tr.rpt-month-row td{font-weight:700;background:#eef2f7;border-top:1px solid #cbd5e1}.rpt tr.rpt-month-row.rpt-current td{background:#fef3c7}.rpt tr.rpt-month-row em{font-weight:400;color:#64748b}.rpt tfoot td{font-weight:700;background:#f1f5f9}.rpt td em{margin-left:3px}.rpt-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.rpt-log{padding:10px 12px;margin-bottom:8px;border:1px solid #e2e8f0;border-radius:6px}.rpt-log-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px}.rpt-log-meta{margin-left:auto;color:#475569}.rpt-log-meta em{margin-left:3px}.rpt-crew{margin-bottom:6px;font-size:10.5px}.rpt-notes{white-space:pre-wrap}.rpt-notes-en{color:#475569}.rpt-info{background:#dbeafe;color:#1d4ed8}.rpt-dark{background:#1e293b;color:#fff}.rpt-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px;border-bottom:2px solid #0f172a}.rpt .rpt-h h2{margin:0;padding-bottom:7px;border:0;font-size:14px;line-height:1.5}.rpt-h-note{font-size:10.5px;font-weight:600;color:#475569}.rpt-sub-h{margin:16px 0 6px;font-size:12px;font-weight:700;line-height:1.5}.rpt h2,.rpt h3,.rpt .rpt-h,.rpt .rpt-sub-h{page-break-after:avoid;break-after:avoid}.rpt h2,.rpt h3,.rpt .rpt-h,.rpt .rpt-sub-h,.rpt p,.rpt .rpt-legend,.rpt .rpt-tile,.rpt .rpt-panel,.rpt tr,.rpt td,.rpt th,.rpt .rpt-chart{page-break-inside:avoid;break-inside:avoid}.rpt-sub-h em{margin-left:4px}.rpt-header{display:block;padding:20px 22px 16px}.rpt-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.rpt-header-top>div:first-child{flex:1 1 auto;min-width:0}.rpt-header-date{flex:0 0 auto}.rpt-header h1{font-size:26px;letter-spacing:-.01em}.rpt-h1-en{margin-top:-2px;font-size:15px;font-weight:600;color:#e2e8f0}.rpt-sub{color:#cbd5e1}.rpt-verdict{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.rpt-verdict-ok{background:#059669;color:#fff}.rpt-verdict-bad{background:#e11d48;color:#fff}.rpt-verdict-muted{background:#475569;color:#fff}.rpt-verdict-warn{background:#d97706;color:#fff}.rpt-strip{margin-top:16px}.rpt-strip em{color:#94a3b8}.rpt-strip-ends{display:flex;justify-content:space-between;font-size:10.5px;color:#cbd5e1}.rpt-strip-ends strong{color:#fff;margin-left:3px}.rpt-strip-late{color:#fda4af!important}.rpt-strip-track{position:relative;height:14px;margin:6px 0 4px;border-radius:999px;background:#ffffff1f}.rpt-strip-time{position:absolute;inset:0 auto 0 0;border-radius:999px;background:#f59e0bbf}.rpt-strip-work{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:#34d399}.rpt-strip-today{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#fff}.rpt-strip-today span{position:absolute;top:17px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:9px;font-weight:700;color:#fff}.rpt-strip-legend{margin-top:14px;font-size:10px;color:#cbd5e1}.rpt-strip-legend strong{color:#fff;margin-left:2px}.rpt-dot{margin:0 6px;color:#64748b}.rpt-glance{display:grid;grid-template-columns:340px 1fr;gap:12px;align-items:stretch}.rpt-ring-box{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.rpt-ring{flex-shrink:0}.rpt-ring-legend{flex:1;min-width:0}.rpt-ring-legend p{display:flex;align-items:center;gap:4px;margin:4px 0;font-size:10.5px;line-height:1.25}.rpt-ring-legend p>span em{display:block}.rpt-ring-legend strong{font-size:13px}.rpt-ring-legend em{margin-left:0}.rpt-ring-legend strong{margin-left:auto}.rpt-ring-legend p.rpt-gap{display:block;margin-top:8px;font-weight:700;color:#0f172a}.rpt-gap em{margin-left:3px}.rpt-tiles-2{grid-template-columns:1fr 1fr}.rpt-sw{display:inline-block;width:9px;height:9px;border-radius:2px;flex-shrink:0;margin-right:4px}.rpt-sw-round{border-radius:999px}.rpt-sw-ok{background:#059669}.rpt-sw-plan{background:#64748b}.rpt-sw-plan-light{background:#cbd5e1}.rpt-sw-info{background:#3b82f6}.rpt-sw-bad{background:#e11d48}.rpt-sw-warn{background:#f59e0b}.rpt-sw-muted{background:#cbd5e1}.rpt-sw-dark{background:#1e293b}.rpt-rooms{margin-top:8px}.rpt-room-block+.rpt-room-block{margin-top:8px}.rpt-room-block-name{font-size:10px;font-weight:700;color:#334155;margin-bottom:2px}.rpt-room-block-name em{color:#64748b;margin-left:3px}.rpt-room-floor{display:flex;gap:6px;padding:3px 0;border-top:1px solid #f1f5f9}.rpt-room-floor:first-child{border-top:0}.rpt-room-floor-name{flex:0 0 62px;padding-top:2px;font-size:9px;color:#475569;text-align:right}.rpt-room-floor-name em{display:block;margin-left:0;font-size:8.5px;color:#94a3b8}.rpt-room-list{display:flex;flex-wrap:wrap;gap:3px}.rpt-room{display:inline-block;min-width:20px;padding:2px 3px;border:1px solid #e2e8f0;border-radius:3px;font-size:8.5px;font-style:normal;font-weight:600;text-align:center;color:#334155;background:#f8fafc}.rpt-room-muted{background:#f8fafc;color:#64748b}.rpt-room-has-work{position:relative}.rpt-room-has-work:after{content:"";position:absolute;top:-2px;right:-2px;width:5px;height:5px;border-radius:999px;background:#2563eb;border:1px solid #fff}.rpt-room-key{min-width:12px;height:10px;padding:0;vertical-align:middle}.rpt .rpt-html-only{display:none}.rpt-click-note{margin:6px 0 8px;font-size:10px;color:#1d4ed8}.rpt-click-key{display:block;margin-top:4px}.rpt-pop-facts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px;font-size:11px;color:#334155}.rpt-pop-notes{margin:0 0 10px;font-size:11px;color:#475569;white-space:pre-wrap}.rpt-room-info{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}.rpt-room-ok{background:#d1fae5;border-color:#a7f3d0;color:#047857}.rpt-room-dark{background:#1e293b;border-color:#1e293b;color:#fff}.rpt-sw-fill{background:linear-gradient(90deg,#1e293b 50%,#94a3b8 50%)}.rpt-sw-line{display:inline-block;width:14px;height:0;margin-right:4px;vertical-align:middle;border-top:2px solid}.rpt-sw-today{border-color:#e11d48}.rpt-sw-end{border-color:#0f172a;border-top-style:dashed}.rpt-sw-plan-line{border-color:#64748b;border-top-style:dashed}.rpt-sw-paid-line{border-color:#f59e0b}.rpt-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:8px;font-size:10px;color:#334155}.rpt-legend-item{display:inline-flex;align-items:center}.rpt-legend em{margin-left:3px}.rpt-panel{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px}.rpt-panel h3{margin-bottom:6px;font-size:12px;font-weight:700}.rpt-panel h3 em{margin-left:4px}.rpt-alert-list,.rpt-ahead{margin:0;padding:0;list-style:none}.rpt-alert-list li{display:flex;gap:7px;padding:5px 0;border-top:1px solid #f1f5f9;font-size:10.5px}.rpt-alert-list li:first-child{border-top:0}.rpt-alert-list b{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:15px;height:15px;border-radius:999px;font-size:10px;color:#fff}.rpt-alert-bad b{background:#e11d48}.rpt-alert-warn b{background:#f59e0b}.rpt-alert-list em{display:block;margin-left:0}.rpt-ongoing-note{margin:6px 0 2px;padding:7px 10px;border-left:3px solid #e11d48;border-radius:4px;background:#fff1f2;color:#be123c;font-size:10.5px;font-weight:600}.rpt-all-good{padding:8px 10px;border-radius:6px;background:#ecfdf5;color:#047857;font-weight:600}.rpt-all-good em{color:#059669;margin-left:4px}.rpt-ahead li{display:flex;gap:8px;padding:4px 0;border-top:1px solid #f1f5f9;font-size:10.5px}.rpt-ahead li:first-child{border-top:0}.rpt-ahead-date{flex-shrink:0;width:40px;padding:1px 0;border-radius:4px;background:#0f172a;color:#fff;font-weight:700;text-align:center;align-self:flex-start}.rpt-ahead-what em{display:block;margin-left:0;font-size:9.5px}.rpt-gantt{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.rpt-g-row{display:flex;align-items:stretch;border-top:1px solid #f1f5f9}.rpt-g-row:nth-child(odd):not(.rpt-g-head){background:#fcfdfe}.rpt-g-head{border-top:0;background:#f1f5f9;font-size:10px;font-weight:600}.rpt-g-label{flex:0 0 196px;padding:5px 8px;min-width:0}.rpt-g-label strong{display:block;font-size:10.5px;line-height:1.3}.rpt-g-label span{display:block;font-size:9px;color:#64748b;line-height:1.3}.rpt-g-label .rpt-g-en{font-size:9.5px;color:#334155}.rpt-g-head .rpt-g-label em{display:block;margin-left:0}.rpt-g-track{position:relative;flex:1;min-height:34px}.rpt-g-months{min-height:30px}.rpt-g-month{position:absolute;top:0;bottom:0;padding:4px 0 0 3px;border-left:1px solid #cbd5e1;font-size:9.5px;line-height:1.2;overflow:hidden;white-space:nowrap}.rpt-g-month em{display:block;margin-left:0;font-size:9px}.rpt-g-line{position:absolute;top:0;bottom:0;width:1px;background:#eef2f6}.rpt-g-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#e11d48;z-index:2}.rpt-g-end{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed #0f172a;z-index:2}.rpt-g-bar{position:absolute;top:50%;height:14px;margin-top:-7px;border-radius:4px;overflow:hidden;z-index:1}.rpt-g-fill{height:100%}.rpt-g-done{background:#6ee7b7}.rpt-g-done .rpt-g-fill{background:#059669}.rpt-g-active{background:#bfdbfe}.rpt-g-active .rpt-g-fill{background:#2563eb}.rpt-g-overdue{background:#fecdd3}.rpt-g-overdue .rpt-g-fill{background:#e11d48}.rpt-g-upcoming{background:#e2e8f0}.rpt-g-upcoming .rpt-g-fill{background:#64748b}.rpt-g-ext{position:absolute;top:50%;height:14px;margin-top:-7px;border-radius:0 4px 4px 0;background:#7dd3fc;z-index:1}.rpt-g-bar-extended{border-top-right-radius:0;border-bottom-right-radius:0}.rpt-sw-ext{background:#7dd3fc}.rpt span.rpt-was{position:relative;display:inline-block;font-size:inherit;color:#0f172a}.rpt span.rpt-was:after{content:"";position:absolute;left:0;right:0;top:52%;border-top:1px solid #0f172a}.rpt-g-pct{flex:0 0 108px;padding:5px 8px 5px 4px;text-align:right}.rpt-g-pct strong{display:block;font-size:11px}.rpt-g-head .rpt-g-pct em{display:block;margin-left:0}.rpt-g-row:not(.rpt-g-head) .rpt-g-pct{display:flex;flex-direction:column;justify-content:center}.rpt-g-state{display:block;font-size:8px;font-weight:600;line-height:1.25;color:#64748b;overflow-wrap:normal}.rpt-g-state-overdue{color:#be123c}.rpt-g-state-done{color:#047857}.rpt-g-state-active{color:#1d4ed8}.rpt-chart{margin:4px 0 10px;padding:10px 0 0}.rpt-chart svg{display:block}.rpt-compact{font-size:10.5px}.rpt-compact th,.rpt-compact td{padding:4px 7px}.rpt-punch td:nth-child(2),.rpt-punch td:nth-child(3){text-align:left}.rpt-punch th:nth-child(3){width:34%}.rpt-punch th:last-child{width:11%}.ncr-facts th{width:32%;text-align:left;background:#f8fafc}.ncr-facts td{text-align:left}.ncr-box{min-height:44px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:4px}.ncr-ticks{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin-bottom:6px}.ncr-tick span{font-size:14px;margin-right:4px}.ncr-signs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.ncr-sign{border:1px solid #cbd5e1;border-radius:4px;padding:8px 10px}.ncr-sign p{margin:0 0 12px}.rpt-delay{table-layout:fixed;margin-bottom:8px}.rpt-delay th[scope=row]{width:120px}.rpt .rpt-delay tbody tr:nth-child(2n) td{background:none}.rpt-hbars{display:grid;gap:5px;margin-bottom:10px}.rpt-hbar{display:grid;grid-template-columns:180px 1fr 150px;align-items:center;gap:8px;font-size:10.5px}.rpt-hbar-label{line-height:13px}.rpt-hbar-label em{display:block;color:#475569}.rpt-hbar-track{height:14px}.rpt-hbar-budget{position:relative;height:100%;border-radius:3px;background:#cbd5e1;overflow:visible}.rpt-hbar-done{height:100%;border-radius:3px;background:#059669}.rpt-hbar-paid{position:absolute;top:-3px;bottom:-3px;width:3px;margin-left:-1.5px;border-radius:2px;background:#f59e0b}.rpt-hbar-cause{height:100%;border-radius:3px;background:#e11d48}.rpt-hbar-value{text-align:right;font-weight:700}.rpt-hbar-value em{display:block;margin-left:0;font-weight:400;font-size:9.5px}.rpt-hbar-value em em{display:inline;margin-left:2px}.rpt-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rpt-card{padding:10px 12px;border:1px solid #e2e8f0;border-top:3px solid #0f172a;border-radius:8px}.rpt-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.rpt-card-head>div:first-child{min-width:0}.rpt-card-head .rpt-chip{flex-shrink:0}.rpt-card-head strong{display:block;font-size:12px}.rpt-card-head .rpt-muted{display:block;font-size:10px}.rpt-segbar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:#f1f5f9}.rpt-segbar-lg{height:14px;margin-top:4px}.rpt-seg{display:block;height:100%}.rpt-seg-ok{background:#059669}.rpt-seg-warn{background:#f59e0b}.rpt-seg-bad{background:#e11d48}.rpt-seg-muted{background:#cbd5e1}.rpt-seg-info{background:#3b82f6}.rpt-seg-dark{background:#1e293b}.rpt-card-stats{display:flex;flex-wrap:wrap;gap:2px 10px;margin:6px 0;font-size:9.5px;color:#334155}.rpt-card-stats span{display:inline-flex;align-items:center}.rpt-card-stats b{margin-right:3px}.rpt-card-stats em{margin-left:3px}.rpt-card-money{display:flex;justify-content:space-between;gap:8px;padding-top:6px;border-top:1px solid #f1f5f9;font-size:10px}.rpt-card-money em{display:block;margin:0}.rpt-card-value{display:block;margin-top:2px}.rpt-minibar{height:4px;margin-top:4px;border-radius:999px;background:#f1f5f9;overflow:hidden}.rpt-minibar i{display:block;height:100%;background:#f59e0b}.rpt-card-contact{margin-top:6px;font-size:9.5px;color:#64748b}.rpt-type-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.rpt-type{padding:3px 9px;border-radius:999px;background:#f1f5f9;font-size:10px;color:#334155}.rpt-columns{display:flex;align-items:flex-end;gap:6px;height:110px;padding:18px 4px 0;border-bottom:1px solid #cbd5e1}.rpt-col{position:relative;display:flex;flex-direction:column;justify-content:flex-end;flex:1;max-width:48px;height:100%}.rpt-col-bar{border-radius:3px 3px 0 0;background:#334155}.rpt-col-value{margin-bottom:2px;text-align:center;font-size:9.5px;font-weight:700}.rpt-col-label{position:absolute;bottom:-15px;left:0;right:0;text-align:center;font-size:8.5px;color:#64748b}.rpt-col-note{margin:20px 0 10px;font-size:10px}.rpt-col-note em{margin-left:2px}@media print{#sidebar,header,#sidebar-overlay{display:none!important}body{background:#fff;color:#000}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.bar-list{display:grid;gap:.55rem}.bar-list-row{display:grid;grid-template-columns:minmax(0,11rem) 1fr 3.5rem;align-items:center;gap:.75rem;font-size:.85rem}.bar-list-label{color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-list-track{height:.6rem;border-radius:999px;background:var(--ink-700);overflow:hidden}.bar-list-fill{display:block;height:100%;border-radius:999px;background:#ef4444}.bar-list-value{text-align:right;font-weight:600;color:#dc2626;font-variant-numeric:tabular-nums}.crew-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) 5.5rem auto;align-items:center;gap:.5rem}@media (max-width: 640px){.crew-row{grid-template-columns:minmax(0,1fr) 5rem auto}.crew-row>:first-child{grid-column:1 / -1}.crew-row select{width:100%;min-width:0}.crew-row>:last-child{justify-self:end}}.log-work-row{position:relative;display:grid;gap:.5rem .75rem;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 6.5rem 6.5rem;padding:.75rem 2.5rem .75rem .75rem;border:1px solid var(--ink-700);border-radius:.6rem;background:var(--ink-850)}.log-work-row .lw-work,.log-work-row .lw-where,.log-work-row .lw-who{grid-column:span 2}.log-work-row .form-label{margin-bottom:.2rem}.log-work-row [data-lw=name]{margin-top:.4rem}.log-work-row .lw-remove{position:absolute;top:.4rem;right:.4rem;font-size:1.1rem;line-height:1}@media (max-width: 639px){.log-work-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.log-work-row .lw-work,.log-work-row .lw-where,.log-work-row .lw-who{grid-column:1 / -1}}.log-card-work{margin:.25rem 0 .5rem;padding-left:1rem;list-style:disc;font-size:.8rem;color:var(--text)}.log-card-work li{margin:.1rem 0}.log-card-work .text-slate-500{font-size:.75rem}.floor-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.floor-totals{margin-bottom:.75rem;font-size:.85rem;color:var(--text-muted)}.floor-totals b{color:var(--heading)}.floor-tab{padding:.3rem .8rem;border:1px solid var(--ink-700);border-radius:999px;font-size:.8rem;color:var(--text);background:#fff;white-space:nowrap}.floor-tab:hover{border-color:var(--brand-500);color:var(--brand-400)}.floor-tab.is-active{background:var(--brand-50);border-color:var(--brand-500);color:var(--brand-400)}body.read-only [data-admin-only],body.no-money [data-money]{display:none!important}@media (min-width: 640px){body.no-money .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}body.read-only #log-inbox{display:none!important}body.read-only :is(#btn-new-project,#btn-edit-project,#btn-access,.project-card-delete,#archive-block,#form-ask,.hint,#finance-position,#cash-position){display:none!important}body.no-logs-view [data-nav=daily-logs],body.no-defects-view [data-nav=punch-list],body.no-delays-view [data-nav=delays],body.no-safety-view [data-nav=safety],body.no-timetable-view :is([data-nav=timetable],[data-nav=units]),body.no-variations-view [data-nav=variations],body.no-contractors-view [data-nav=contractors],body.no-files-view [data-nav=files]{display:none!important}body.no-logs-add :is(#btn-new-log-page,#form-room-work),body.no-defects-add #btn-new-defect,body.no-delays-add #btn-new-delay,body.no-safety-add #btn-new-event,body.no-variations-add #btn-new-variation,body.no-timetable-add :is(#btn-add-task,#btn-import-mpp,#btn-baseline,#btn-add-unit,#btn-rooms-import,#btn-rooms-template),body.no-contractors-add #btn-add-contractor,body.no-money-add :is(#btn-add-rental,#btn-add-material,#btn-add-money-in,#form-payment,#form-contract,[data-site-pay]),body.no-files-add :is(#btn-new-file,[data-file-revise]){display:none!important}body.no-logs-edit :is([data-log-edit],[data-log-approve],[data-room-work-edit]),body.no-delays-edit [data-delay-edit],body.no-safety-edit [data-event-edit],body.no-variations-edit [data-variation-edit],body.no-timetable-edit :is([data-task-edit],[data-unit-edit]),body.no-contractors-edit [data-contractor-edit],body.no-money-edit :is([data-money-in-edit],[data-rental-edit],[data-material-edit],[data-material-paid]){display:none!important}body.no-timetable-edit :is([data-task-pct],[data-task-contractor]){pointer-events:none;opacity:.75}body.no-logs-edit.no-defects-edit.no-delays-edit [data-photo-drop^=kept]{display:none!important}body.no-logs-delete :is([data-log-delete],[data-room-work-delete]),body.no-delays-delete [data-delay-delete],body.no-safety-delete [data-event-delete],body.no-variations-delete [data-variation-delete],body.no-timetable-delete :is([data-task-delete],[data-unit-delete]),body.no-contractors-delete [data-contractor-delete],body.no-money-delete :is([data-money-in-delete],[data-rental-delete],[data-material-delete],[data-site-pay-delete],[data-payment-delete],[data-contract-delete]),body.no-files-delete [data-file-delete]{display:none!important}body.read-only.company-admin #archive-block{display:flex!important}.defect-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.defect-filters select{min-width:10rem}.ncr-tag{display:flex;align-items:center;gap:.4rem;margin-bottom:.2rem}.ncr-no{font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:.05rem .45rem;border-radius:.3rem;background:var(--brand-50);color:var(--brand-600)}.ncr-fields{border-left:3px solid var(--brand-500, #f59e0b);padding-left:.75rem}@media (max-width: 639px){.defect-filters select{flex:1 1 100%}}.bottom-nav{display:none}@media (max-width: 1023px){.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;grid-template-columns:repeat(5,1fr);padding:.25rem .25rem calc(.25rem + env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(8px);border-top:1px solid var(--ink-700)}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:3.25rem;border-radius:.6rem;font-size:.68rem;font-weight:500;color:var(--text-muted);text-decoration:none}.bottom-nav svg{width:1.4rem;height:1.4rem;fill:currentColor}.bottom-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav .active{color:var(--brand-500);background:var(--brand-50);font-weight:600}#sidebar-toggle{display:none}#main-content{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}}@media (max-width: 639px){#topbar-project-location,.fx-rate{display:none}.currency-switch button{padding:.25rem .55rem}.module-header{flex-wrap:wrap;align-items:flex-start}.module-header>:first-child{flex:1 1 100%}.module-header>.btn{flex:1 1 100%;justify-content:center}.module-header>.grid>.btn-primary{grid-column:1 / -1}.module-header>.shrink-0{flex:1 1 100%}.module-header>.shrink-0>.btn{width:100%;justify-content:center}#view-workspace .app-bar .lang-menu{display:none}.kpi-card{min-width:0;padding:1rem}.kpi-label,.kpi-meta,.kpi-value{overflow-wrap:break-word}}.sidebar-lang{display:none}@media (max-width: 639px){.sidebar-lang{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--uc-line);font-size:.8rem;color:var(--uc-muted)}}@media (max-width: 639px){.data-table,.data-table tbody,.data-table tfoot,.data-table tr,.data-table td{display:block;width:100%}.data-table thead{display:none}.data-table tbody tr,.data-table tfoot tr{margin-bottom:.6rem;padding:.4rem .8rem;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:.75rem}.data-table tbody tr:hover{background:var(--ink-900)}.data-table tfoot tr{background:var(--ink-850)}.data-table td,.data-table tfoot td{display:flow-root;padding:.35rem 0;border:0;text-align:right;white-space:normal;overflow-wrap:break-word}.data-table td+td{border-top:1px dashed var(--ink-800)}.data-table td:before{content:attr(data-label);float:left;max-width:45%;margin-right:.75rem;padding-top:.1rem;font-size:.72rem;color:var(--text-muted);text-align:left}.data-table td[data-stack]{text-align:left}.data-table td[data-stack]:before{float:none;display:block;max-width:none;margin:0 0 .15rem}.data-table td[data-stack] select,.data-table td[data-stack] .select-contractor{width:100%;max-width:none;text-align:left}.data-table td[data-stack] .ncr-tag{justify-content:flex-start}.data-table td[data-label=""]:before,.data-table td:not([data-label]):before{display:none}.data-table td[data-label=""]{text-align:left}.data-table td[data-label=""]:has(>.table-action),.log-card-actions{display:flex;flex-wrap:wrap;gap:.4rem;padding-top:.6rem}.data-table td[data-label=""]>.table-action,.log-card-actions>.table-action{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.35rem .75rem;margin:0;border:1px solid var(--ink-700);border-radius:.5rem;background:var(--ink-900);max-width:100%;font-size:.8rem;text-align:center;white-space:normal;line-height:1.2}.data-table td[data-label=""]>.table-action.is-danger,.log-card-actions>.table-action.is-danger{flex:0 0 auto;border-color:#fecaca}.log-card-actions{width:100%;white-space:normal}.data-table tbody tr.is-overdue{background:#fef2f2;border-color:#fecaca}.data-table tbody tr.is-current{background:var(--brand-50)}.data-table tbody tr.is-overdue:hover{background:#fef2f2}.data-table tbody tr.is-current:hover{background:var(--brand-50)}.data-table tr.is-overdue td,.data-table tr.is-current td{background:transparent}.data-table .ncr-tag{flex-wrap:wrap;justify-content:flex-end}.data-table .ncr-no{white-space:nowrap}.data-table td.task-name{font-size:.95rem}.data-table td:empty,.data-table td[data-empty]{display:none}.data-table .num{white-space:normal}}@media (max-width: 639px){dialog.modal:not(.modal-photo):not(.report-preview){width:100vw;max-width:100vw;max-height:94vh;max-height:94dvh;margin:auto 0 0;border-radius:1rem 1rem 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}dialog.modal:not(.modal-photo):not(.report-preview)[open]{animation:sheet-up .22s ease-out}.modal-body{max-height:calc(94vh - 8.5rem);max-height:calc(94dvh - 8.5rem)}.modal-footer{border-radius:0;flex-wrap:wrap;padding-bottom:calc(1.75rem + env(safe-area-inset-bottom,0px))}.modal-footer .btn{flex:1 1 auto;justify-content:center}}@keyframes sheet-up{0%{transform:translateY(2.5rem);opacity:.6}to{transform:none;opacity:1}}@media (max-width: 639px){.panel:has(>.overflow-x-auto>.data-table:not(.keep-table)),.panel:has(>.data-table:not(.keep-table)),.panel:has(>#contractors-table .contractor-card){padding:0;background:transparent;border:0;box-shadow:none}.panel>.flex.justify-between:has(>.btn){flex-wrap:wrap}.panel>.flex.justify-between:has(>.btn)>:first-child{flex:1 1 auto;min-width:0}#access-list .access-row{grid-template-columns:auto minmax(0,1fr) 1rem;row-gap:.3rem}#access-list .access-row .avatar{grid-row:1 / span 2}#access-list .access-row .role-chip{grid-column:2;grid-row:2}#access-list .access-row .row-open{grid-column:3;grid-row:1 / span 2}.log-find.flex{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.log-find input{width:100%}.log-find>label:has(#log-search){grid-column:1 / -1}.log-find>.btn{justify-self:start}.data-table.keep-table{display:table;width:max-content;min-width:100%;font-size:.78rem}.data-table.keep-table thead{display:table-header-group}.data-table.keep-table tbody{display:table-row-group}.data-table.keep-table tfoot{display:table-footer-group}.data-table.keep-table tr,.data-table.keep-table tbody tr,.data-table.keep-table tfoot tr{display:table-row;margin:0;padding:0;border:0;border-radius:0;background:transparent}.data-table.keep-table th,.data-table.keep-table td,.data-table.keep-table td[data-empty]{display:table-cell;width:auto;padding:.45rem .6rem;white-space:nowrap;text-align:right;border-top:1px solid var(--ink-800)}.data-table.keep-table td+td{border-top:1px solid var(--ink-800)}.data-table.keep-table td:before{content:none}.data-table.keep-table :is(th,td):first-child{position:sticky;left:0;z-index:1;text-align:left;background:var(--ink-900);box-shadow:1px 0 0 var(--ink-700)}.data-table.keep-table tfoot td{font-weight:600;background:var(--ink-850)}.module-header .hint{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}.module-header .hint.is-open{display:block;-webkit-line-clamp:unset}#topbar-project-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.25}.project-card .project-card-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kpi-value{font-size:1.3rem;overflow-wrap:break-word}.kpi-value-sm{font-size:1.15rem}.kpi-label{font-size:.75rem}.kpi-row.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.kpi-row>:last-child:nth-child(odd){grid-column:1 / -1}}@media (pointer: coarse){.btn{min-height:2.75rem}.btn-sm{min-height:2.4rem}.table-action{padding:.5rem .65rem;font-size:.8rem}.nav-link{min-height:2.75rem}.modal-close{width:2.75rem;height:2.75rem}input,select,textarea{font-size:16px!important}.input-dark,.select-dark{min-height:2.75rem}.floor-tab{padding:.5rem .9rem}}@media (prefers-reduced-motion: reduce){dialog.modal[open]{animation:none}}body.auth-pending #view-projects,body.auth-pending #view-workspace{visibility:hidden}.week-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem}.week-stats div{padding:.6rem .75rem;border:1px solid var(--ink-700);border-radius:.6rem;background:var(--ink-850)}.week-stats b{display:block;font-size:1.3rem;color:var(--heading)}.week-stats span{font-size:.75rem;color:var(--text-muted)}.week-list{display:grid;gap:.6rem;font-size:.85rem}.week-list li{line-height:1.4}.week-work{display:block;font-weight:500;color:var(--heading)}.week-other{display:block;font-size:.78rem;color:var(--text-muted)}.week-meta{display:block;font-size:.78rem;color:#94a3b8}.latest-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.5rem}.latest-photos button{display:block;padding:0;border-radius:.5rem;overflow:hidden;background:var(--ink-850)}.latest-photos img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}@media (max-width: 639px){.latest-photos{grid-template-columns:repeat(3,1fr)}}.report-preview{width:100vw;height:100vh;height:100dvh;max-width:100vw;max-height:100vh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:#eef2f6}.report-preview[open]{display:flex;flex-direction:column}.report-preview::backdrop{background:#0f172a80}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.6rem 1rem;padding-top:calc(.6rem + env(safe-area-inset-top));background:#fff;border-bottom:1px solid var(--ink-700)}.preview-title{font-weight:600;color:var(--heading);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.preview-scroll{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}#preview-frame{display:block;width:1px;min-width:100%;height:100%;border:0;background:#eef2f6}.preview-close{flex-shrink:0}@media (max-width: 639px){.preview-bar{display:grid;grid-template-columns:1fr auto;padding:.5rem .75rem;row-gap:.4rem}.preview-title{grid-column:1;grid-row:1;font-size:.9rem;white-space:normal}.preview-close{grid-column:2;grid-row:1}.preview-actions{grid-column:1 / -1;grid-row:2}.preview-actions .btn{flex:1;justify-content:center;padding-left:.5rem;padding-right:.5rem}}@media (max-width: 639px){.data-table tbody tr{display:flex;flex-direction:column}.data-table td.task-name{order:-1;display:block;text-align:left;font-size:.95rem;font-weight:600;padding-bottom:.45rem;border-top:0}.data-table td.task-name:before{display:none}.data-table td.task-name+td{border-top:1px dashed var(--ink-800)}.kpi-value-sm{font-size:1.15rem;overflow-wrap:break-word}}body.read-only .task-pct-input{border-color:transparent;background:transparent;padding-left:0;padding-right:0}body.read-only .select-contractor{appearance:none;-webkit-appearance:none;border-color:transparent;background:transparent;padding-left:0;padding-right:0}@media (max-width: 639px){body.read-only .select-contractor{max-width:none;width:auto;text-align:right;text-overflow:clip}}.project-stats dd.is-text{font-size:.85rem;padding-top:.15rem;white-space:nowrap}input[type=date]{-webkit-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;width:100%}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-calendar-picker-indicator{margin-left:auto}:root{--brand-400: #e8541a;--brand-500: #e8541a;--brand-600: #c2410c;--brand-50: #fff1ea;--uc-black: #0b0b0e;--uc-black-2: #141418;--uc-line: rgba(255, 255, 255, .08);--uc-text: #c9c9d1;--uc-muted: #8b8b96;--uc-grad: linear-gradient(100deg, #ff7a3d 0%, #e8541a 50%, #f08a3e 100%)}.select-dark:focus,.input-dark:focus{box-shadow:0 0 0 3px #e8541a2e}.btn{border-radius:.55rem;transition:background-color .15s,border-color .15s,opacity .15s,box-shadow .2s,transform .2s}.btn-primary{background:var(--uc-grad);color:#fff;box-shadow:0 6px 18px -8px #e8541ab3}.btn-primary:hover:not(:disabled){background:var(--uc-grad);box-shadow:0 10px 24px -8px #e8541ad9;transform:translateY(-1px)}.btn-primary,.btn-primary:hover:not(:disabled){background-origin:border-box}.btn-secondary:hover:not(:disabled){border-color:#f3b598}.project-card{transition:border-color .2s,box-shadow .2s,transform .2s}@media (hover: hover){.project-card:hover{border-color:#f3b598;box-shadow:0 14px 34px -20px #e8541a99;transform:translateY(-2px)}}.app-bar{background:radial-gradient(600px 120px at 90% 0%,rgba(232,84,26,.22),transparent 70%),var(--uc-black);border-bottom:1px solid var(--uc-line);color:var(--uc-text)}.app-bar .text-white{color:#fafafa}.app-bar .text-slate-500{color:var(--uc-muted)}.app-bar .text-slate-400{color:#a1a1aa}.app-bar .hover\:text-white:hover{color:#fff}.app-bar .hover\:bg-ink-800:hover{background:#ffffff0f}.app-bar .border-ink-700{border-color:var(--uc-line)}.app-bar .currency-switch{border-color:#ffffff24}.app-bar .currency-switch button{color:var(--uc-muted)}.app-bar .currency-switch button:hover{color:#fff}.app-bar .currency-switch button.is-active,.app-bar .currency-switch button[aria-pressed=true]{background:#e8541a;color:#fff}.app-bar .fx-rate{border-color:#ffffff24;color:var(--uc-text);background:transparent}.app-bar .fx-rate b{color:#fff}.app-bar .select-dark{background-color:var(--uc-black-2);border-color:#ffffff24;color:#fafafa}.app-bar .role-tag.is-founder{background:linear-gradient(100deg,#ff7a3d,#e8541a);color:#fff}.app-bar .role-tag.is-cofounder{background:#e8541a1f;color:#ff9a66;border:1px solid rgba(255,122,61,.5)}.app-bar .role-tag.is-admin{background:#e8541a2e;color:#ff9a66}.app-bar .role-tag.is-manager{background:#4ade8024;color:#86efac}.app-bar .role-tag.is-inspector{background:#a78bfa29;color:#c4b5fd}.app-bar .role-tag.is-safety{background:#22d3ee24;color:#67e8f9}.app-bar .role-tag.is-accountant{background:#fbbf2424;color:#fcd34d}.app-bar .role-tag.is-viewer{background:#ffffff14;color:var(--uc-text)}.app-bar .role-tag.is-contractor{background:#4ade8024;color:#86efac}#sidebar{background:var(--uc-black);border-right:1px solid var(--uc-line);color:var(--uc-text)}#sidebar .sidebar-brand{border-bottom:1px solid var(--uc-line);background:radial-gradient(260px 90px at 0% 0%,rgba(232,84,26,.25),transparent 70%)}#sidebar .border-ink-700{border-color:var(--uc-line)}#sidebar .text-slate-500{color:var(--uc-muted)}#sidebar .text-slate-400{color:#a1a1aa}#sidebar .hover\:text-white:hover{color:#fff}#sidebar .text-white{color:#fafafa}#sidebar .nav-link{position:relative;color:#b4b4bd}#sidebar .nav-link .nav-icon{color:#71717a;transition:color .15s}#sidebar .nav-link:hover{background:#ffffff0d;color:#fff}#sidebar .nav-link:hover .nav-icon{color:#ff9a66}#sidebar .nav-link.active{background:linear-gradient(90deg,#e8541a38,#e8541a0a);color:#fff}#sidebar .nav-link.active .nav-icon{color:#ff7a3d}#sidebar .nav-link.active:before{content:"";position:absolute;left:-.75rem;top:.35rem;bottom:.35rem;width:3px;border-radius:0 3px 3px 0;background:#e8541a}#sidebar *{scrollbar-color:#3f3f46 transparent}@media (max-width: 1023px){.bottom-nav{background:#0b0b0ef7;backdrop-filter:none;border-top:1px solid var(--uc-line)}.bottom-nav a,.bottom-nav button{color:#8b8b96}.bottom-nav .active{color:#ff7a3d;background:#e8541a24}}#modal-login::backdrop,#modal-set-password::backdrop{background:radial-gradient(700px circle at 88% 8%,rgba(232,84,26,.38),transparent 60%),radial-gradient(600px circle at 4% 100%,rgba(255,159,67,.16),transparent 60%),url(../../assets/unicraft-mark-faint.svg) no-repeat right -140px center / 640px,#0a0a0b;backdrop-filter:none}#modal-login,#modal-set-password{background:linear-gradient(180deg,#17171b,#111114);border:1px solid rgba(255,255,255,.1);border-radius:1.1rem;color:var(--uc-text);box-shadow:0 40px 120px -30px #e8541a8c,inset 0 1px #ffffff0a;width:min(26rem,calc(100vw - 2rem))}#modal-login .modal-body,#modal-set-password .modal-body{padding:1.9rem}#modal-login .text-white,#modal-set-password .text-white{color:#fafafa}#modal-login h2,#modal-set-password h2{font-size:1.35rem}#modal-login .text-slate-500,#modal-set-password .text-slate-500{color:var(--uc-muted)}#modal-login .text-slate-400{color:#a1a1aa}#modal-login .text-brand-400{color:#ff7a3d}#modal-login a,#modal-login .hover\:underline:hover{color:inherit}#modal-login .form-label,#modal-set-password .form-label{color:#d4d4d8}#modal-login .input-dark,#modal-set-password .input-dark{background:#1c1c21;border-color:#ffffff1f;color:#fafafa;padding:.65rem .85rem;border-radius:.6rem}#modal-login .input-dark::placeholder,#modal-set-password .input-dark::placeholder{color:#6b6b75}#modal-login .input-dark:focus,#modal-set-password .input-dark:focus{border-color:#e8541a;box-shadow:0 0 0 3px #e8541a40}#modal-login .btn-primary,#modal-set-password .btn-primary{padding:.8rem 1rem;font-size:.95rem;color:#140700}#modal-login .text-emerald-400{color:#4ade80}#modal-login .form-error,#modal-set-password .form-error{color:#fca5a5}#modal-login .modal-body,#modal-set-password .modal-body{max-height:none;overflow:visible}#modal-login,#modal-set-password{overflow-y:auto}.auth-form{display:flex;flex-direction:column;gap:.85rem}.pw-wrap{position:relative;display:block}.pw-wrap .input-dark{padding-right:2.9rem}.pw-toggle{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:.45rem;color:#8b8b95;background:transparent;cursor:pointer;transition:color .15s,background .15s}.pw-toggle:hover{color:#ff7a3d;background:#e8541a1a}.pw-toggle svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pw-toggle .pw-hide,.pw-toggle[aria-pressed=true] .pw-show{display:none}.pw-toggle[aria-pressed=true] .pw-hide{display:block}.auth-fields{display:flex;flex-direction:column;gap:.85rem}.auth-fields.hidden{display:none}.auth-found{display:block;margin-top:.4rem;font-size:.85rem;color:#fca5a5;line-height:1.4}.auth-found.is-ok{color:#4ade80;font-weight:600}.auth-found.hidden{display:none}.auth-form .form-label{display:block;margin-bottom:.3rem;font-size:.85rem}.auth-title{font-size:1.35rem;font-weight:700;color:#fafafa;line-height:1.3}.auth-sub{margin-top:.15rem;font-size:.88rem;color:var(--uc-muted);line-height:1.45}.auth-links{display:flex;flex-direction:column;align-items:center;gap:.45rem;font-size:.82rem;text-align:center}.auth-back{position:fixed;top:1.25rem;left:1.5rem;z-index:1;display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem .45rem .6rem;border:1px solid rgba(232,84,26,.4);border-radius:.6rem;font-size:.875rem;font-weight:600;color:#ff7a3d!important;text-decoration:none;background:#e8541a1f;transition:background .15s,color .15s,border-color .15s}.auth-back:hover{color:#140700!important;border-color:transparent;background:linear-gradient(100deg,#ff7a3d,#e8541a,#f08a3e)}.auth-back svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media (max-width: 639px){.auth-back{top:.9rem;left:.9rem;width:2.6rem;height:2.6rem;padding:0;justify-content:center;border-radius:9999px}.auth-back svg{width:1.25rem;height:1.25rem}.auth-back span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#modal-login[open]{animation:none}#modal-login{max-height:calc(100vh / var(--zoom) - 4.5rem);max-height:calc(100dvh - 4.5rem)}}.auth-terms{font-size:.75rem;color:var(--uc-muted);text-align:center;line-height:1.5}.auth-terms a{color:#a1a1aa}#modal-login input:is(:-webkit-autofill,:-webkit-autofill:hover,:-webkit-autofill:focus,:-webkit-autofill:active),#modal-set-password input:is(:-webkit-autofill,:-webkit-autofill:hover,:-webkit-autofill:focus,:-webkit-autofill:active){-webkit-text-fill-color:#fafafa;-webkit-box-shadow:0 0 0 1000px #1c1c21 inset;box-shadow:0 0 0 1000px #1c1c21 inset;caret-color:#fafafa;transition:background-color 600000s ease-out 0s}#modal-login input:autofill,#modal-set-password input:autofill{background-color:#1c1c21;color:#fafafa}#modal-login input:-webkit-autofill:focus,#modal-set-password input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #1c1c21 inset,0 0 0 3px rgba(232,84,26,.25);border-color:#e8541a}.input-dark:-webkit-autofill{-webkit-text-fill-color:var(--heading);transition:background-color 600000s ease-out 0s}@media (max-width: 639px){#modal-login,#modal-set-password{border-radius:1.2rem 1.2rem 0 0;width:100%}#modal-login::backdrop,#modal-set-password::backdrop{background:radial-gradient(420px circle at 80% 15%,rgba(232,84,26,.4),transparent 60%),url(../../assets/unicraft-mark-faint.svg) no-repeat center 18% / 300px,#0a0a0b}}html[lang=ka] .fx-label,html[lang=ka] .avatar,html[lang=ka] .ncr-no{letter-spacing:0}html[lang=ka] .text-xs{font-size:.8rem;line-height:1.15rem}html[lang=ka] .form-label{font-size:.85rem}html[lang=ka] .company-notice-title{font-size:.9rem;letter-spacing:0;text-transform:none}html[lang=ka] .log-notes .log-lang{font-size:.75rem;letter-spacing:0;text-transform:none}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}#modal-login .form-error,#modal-set-password .form-error{background:#ef44441a;border:1px solid rgba(248,113,113,.3);color:#fca5a5}.access-toolbar .select-dark{width:auto}.access-filters{display:flex;flex-wrap:wrap;gap:.4rem}.access-filters:empty{display:none}.filter-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--ink-700);background:#fff;font-size:.8rem;font-weight:500;color:var(--text)}.filter-chip b{font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.filter-chip:hover{border-color:#f3b598}.filter-chip.is-on{background:#e8541a;border-color:#e8541a;color:#fff}.filter-chip.is-on b{color:#fffc}.filter-chip.is-warn:not(.is-on){border-color:#fcd34d;background:#fffbeb;color:#b45309}.access-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.access-layout.has-detail{grid-template-columns:minmax(0,1fr) minmax(0,27rem)}.access-rows{display:flex;flex-direction:column;border:1px solid var(--ink-700);border-radius:.6rem;background:#fff;overflow:hidden}.access-rows>.empty-state{border:0}.access-row{display:grid;grid-template-columns:auto minmax(0,1fr) 8.5rem 8.5rem 6.5rem 1rem;align-items:center;gap:.75rem;width:100%;padding:.55rem .85rem;text-align:left;border-bottom:1px solid var(--ink-800);background:#fff;transition:background-color .12s}@media (min-width: 768px){html[lang=ka] .access-row{grid-template-columns:auto minmax(0,1fr) 12rem 8.5rem 6.5rem 1rem}}.access-row:last-child{border-bottom:0}.access-row:hover{background:var(--ink-850)}.access-row.is-open{background:var(--brand-50);box-shadow:inset 3px 0 #e8541a}.access-row .avatar{width:2rem;height:2rem;font-size:.72rem}.row-who{display:flex;flex-direction:column;min-width:0}.row-name{font-size:.875rem;font-weight:600;color:var(--heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-email{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-chip{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;font-weight:600;padding:.12rem .55rem;border-radius:999px;white-space:nowrap}.role-chip.is-admin{background:var(--brand-50);color:var(--brand-600)}.role-chip.is-manager{background:#ecfdf5;color:#047857}.role-chip.is-inspector{background:#f5f3ff;color:#6d28d9}.role-chip.is-safety{background:#ecfeff;color:#0e7490}.role-chip.is-accountant{background:#fffbeb;color:#b45309}.role-chip.is-viewer{background:var(--ink-800);color:#475569}.row-projects{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text);white-space:nowrap}.row-money svg{width:.9rem;height:.9rem;fill:#047857}.row-seen{font-size:.75rem;color:var(--text-muted);white-space:nowrap;text-align:right}.row-seen.is-warn{color:#b45309;font-weight:600}.row-open{width:1rem;height:1rem;fill:#94a3b8}.access-row.is-open .row-open{fill:#e8541a}.access-detail{position:sticky;top:0;max-height:calc(65vh / var(--zoom) - 6rem);max-height:calc(65dvh / var(--zoom) - 6rem);overflow-y:auto}.access-detail .access-card{border-color:var(--ink-700)}.detail-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.detail-title{font-size:.75rem;font-weight:700;color:var(--text-muted)}.access-group{border-bottom:1px solid var(--ink-700)}.access-group:last-child{border-bottom:0}.access-group>summary{display:flex;align-items:center;gap:.5rem;padding:.7rem .85rem;cursor:pointer;list-style:none;background:var(--ink-850);font-weight:700;color:var(--heading);position:sticky;top:0;z-index:1}.access-group>summary::-webkit-details-marker{display:none}.access-group>summary:before{content:"›";color:#e8541a;font-size:1.1rem;transition:transform .15s}.access-group[open]>summary:before{transform:rotate(90deg)}.group-count{margin-left:auto;font-size:.75rem;font-weight:600;color:var(--text-muted);background:#fff;border:1px solid var(--ink-700);border-radius:999px;padding:0 .5rem}@media (max-width: 767px){.access-row{grid-template-columns:auto minmax(0,1fr) auto 1rem}.row-projects,.row-seen{display:none}.access-layout.has-detail{grid-template-columns:minmax(0,1fr)}.access-detail:not(.hidden){position:fixed;inset:0;z-index:70;max-height:none;padding:1rem;background:var(--ink-950);overflow-y:auto}}.lang-list button:focus-visible{outline-offset:-2px}#add-user-role,.access-head .seg,.access-detail .seg{display:flex;flex-direction:column;width:100%;gap:4px;padding:4px}#add-user-role button,.access-head .seg button,.access-detail .seg button{width:100%;min-width:0;justify-content:flex-start;gap:.6rem;padding:.6rem .85rem;font-size:.875rem;white-space:normal;line-height:1.25;text-align:left}#add-user-role button svg,.access-head .seg button svg,.access-detail .seg button svg{display:block;width:1.1rem;height:1.1rem}#add-user-role button[aria-pressed=true],.access-head .seg button[aria-pressed=true],.access-detail .seg button[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px #e8541a}#add-user-role button[aria-pressed=true]:after,.access-head .seg button[aria-pressed=true]:after,.access-detail .seg button[aria-pressed=true]:after{content:"✓";margin-left:auto;color:#e8541a;font-weight:700}.access-head .seg{order:3}@media (min-width: 768px){#add-user-role{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 767px){.access-toolbar{flex-wrap:wrap;gap:.5rem}.access-toolbar .input-dark{flex:1 1 100%}.access-toolbar .select-dark{flex:1 1 0}}@media (max-width: 639px){.module-header>.grid{flex:1 1 100%;min-width:0}.module-header .grid>.btn{min-width:0;justify-content:center;text-align:center;white-space:normal;line-height:1.25}}.project-stats>div{min-width:0}.project-stats dt{overflow-wrap:anywhere;hyphens:auto}.role-help{display:inline-grid;place-items:center;flex-shrink:0;width:1.15rem;height:1.15rem;border-radius:999px;border:1px solid currentColor;color:#94a3b8;font-size:.68rem;font-weight:700;line-height:1;cursor:help}.role-help:hover,.role-help.is-open{color:#e8541a}.role-tip{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:80;padding:.6rem .75rem;border-radius:.5rem;background:#1e293b;color:#f8fafc;font-size:.78rem;font-weight:500;line-height:1.45;text-align:left;white-space:normal;box-shadow:0 12px 30px -12px #0f172a99;cursor:default}.role-help:hover .role-tip,.role-help.is-open .role-tip{display:block}#add-user-role button,.seg button,.access-flags{position:relative}.flag-toggle .role-help{margin-left:.35rem}#add-user-role button .role-help,.access-head .seg button .role-help,.access-detail .seg button .role-help{order:2;margin-left:auto}#add-user-role button[aria-pressed=true]:after,.access-head .seg button[aria-pressed=true]:after,.access-detail .seg button[aria-pressed=true]:after{order:1}#add-user-role button[aria-pressed=true] .role-help,.access-head .seg button[aria-pressed=true] .role-help,.access-detail .seg button[aria-pressed=true] .role-help{margin-left:.6rem}#projects-columns,.concierge-columns{display:grid;gap:1.5rem;align-items:start}@media (min-width: 1024px){.concierge-columns{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){#projects-columns.has-firm-work{grid-template-columns:1fr 1fr}}#projects-columns:not(.has-firm-work) #own-projects-title,#projects-columns:has(#projects-container.hidden) #own-projects-title{display:none}.project-card.is-client-work{border-color:#f59e0b8c;border-left:4px solid #f59e0b;background:linear-gradient(180deg,rgba(251,191,36,.08),transparent 60%),var(--ink-900)}.project-card.is-client-work:hover{border-color:#f59e0b}.client-work-tag{padding:.15rem .55rem;border-radius:9999px;font-size:.7rem;font-weight:700;color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.firm-invite{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.85rem 1rem;border-radius:.75rem;border:1px solid rgba(251,191,36,.4);background:#fbbf2414}.firm-photo{width:72px;height:72px;border-radius:.5rem;overflow:hidden;border:1px solid var(--ink-700);background:var(--ink-800);padding:0}.firm-photo img{width:100%;height:100%;object-fit:cover;display:block}.page-help{margin-top:.5rem;font-size:.8rem;max-width:46rem}.module-header+.page-help{margin:-.5rem 0 1rem}.page-help summary{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;color:#e8541a;font-weight:600;list-style:none}.page-help summary::-webkit-details-marker{display:none}.page-help summary:before{content:"?";display:inline-grid;place-items:center;width:1.1rem;height:1.1rem;border-radius:999px;border:1px solid currentColor;font-size:.7rem}.page-help[open] summary{margin-bottom:.5rem}.page-help-list{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.45rem 1rem;margin:0;padding:.75rem .9rem;border-radius:.6rem;border:1px solid var(--ink-700);background:var(--ink-800)}.page-help-list dt{font-weight:600;color:var(--heading)}.page-help-list dd{margin:0;color:var(--text-muted)}@media (max-width: 640px){.page-help-list{grid-template-columns:1fr;gap:.15rem}.page-help-list dd{margin-bottom:.45rem}}.limit-row{display:grid;gap:.35rem;padding:.85rem 1rem;border-radius:.75rem;border:1px solid var(--ink-700);background:var(--ink-800)}.limit-track{height:.55rem;border-radius:999px;background:var(--ink-700);overflow:hidden}.limit-fill{height:100%;border-radius:999px;background:#22c55e;transition:width .4s ease}.limit-row.is-orange .limit-fill{background:#f59e0b}.limit-row.is-red .limit-fill{background:#ef4444}.limit-row.is-red{border-color:#ef444480}.billing-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.billing-kpis .kpi-card{padding:.85rem 1rem}.billing-kpis .kpi-value{margin-top:.25rem;font-size:1.25rem}@media (max-width: 640px){.billing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.billing-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.billing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem}.bill-chip{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap;background:#f1f5f9;color:#475569}.bill-chip.is-issued{background:#fef3c7;color:#b45309}.bill-chip.is-overdue{background:#fee2e2;color:#b91c1c}.bill-chip.is-paid{background:#dcfce7;color:#15803d}.bill-chip.is-void{color:#94a3b8;text-decoration:line-through}.billing-company>summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;cursor:pointer;list-style:none}.billing-company>summary::-webkit-details-marker{display:none}.billing-company>summary:before{content:"▸";color:var(--text-muted);transition:transform .15s}.billing-company[open]>summary:before{transform:rotate(90deg)}.billing-company[open]>summary{margin-bottom:.75rem}.billing-lines input{width:100%;min-width:0}.billing-lines td{vertical-align:top}.billing-note{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.billing-bank{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.3rem 1rem;margin:0}.billing-bank dt{color:var(--text-muted)}.billing-bank dd{margin:0;color:var(--heading);font-weight:500;overflow-wrap:anywhere}.invoice{--inv-ink: #0a0a0b;--inv-panel: #16161a;--inv-orange: #e8541a;--inv-orange-2: #ff7a3d;--inv-amber: #ffb347;--inv-tint: #fff5ef;--inv-line: #f1ddd2}.invoice th,.invoice td{text-align:left}.invoice .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.inv-head{padding:22px 24px 18px;border-radius:10px 10px 0 0;background:linear-gradient(135deg,var(--inv-ink) 0%,var(--inv-panel) 70%,#241812 100%);color:#fafafa}.inv-head-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.inv-logo{height:38px;width:auto}.inv-head-title{text-align:right}.inv-eyebrow{margin:0;color:var(--inv-amber);font-size:11px;font-weight:700;letter-spacing:.04em}.inv-number{margin:2px 0 0;color:#fff;font-size:24px;font-weight:800;letter-spacing:-.01em;line-height:1.2}.inv-facts{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}.inv-fact-list{display:flex;flex-wrap:wrap;gap:12px 26px}.inv-amount{flex-shrink:0;padding:9px 14px;border:1px solid rgba(232,84,26,.45);border-radius:8px;background:#e8541a1f;text-align:right}.inv-amount p{margin:0}.inv-amount-value{margin-top:2px!important;color:var(--inv-orange-2);font-size:22px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}.inv-fact p{margin:0}.inv-fact-label{color:#8b8b96;font-size:9.5px;font-weight:600}.inv-fact-value{margin-top:3px!important;color:#fff;font-size:12.5px;font-weight:700}.inv-fact-sub{color:#c9c9d1;font-size:10.5px}.inv-band{height:5px;border-radius:0 0 10px 10px;background:linear-gradient(90deg,var(--inv-orange-2) 0%,var(--inv-orange) 45%,var(--inv-amber) 100%)}.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inv-party{padding:12px 14px;border:1px solid var(--inv-line);border-left:3px solid var(--inv-orange);border-radius:8px;background:#fffaf7}.inv-party p{margin:0 0 2px}.inv-party .rpt-sub-h{margin:0 0 6px;color:var(--inv-orange)}.inv-party .rpt-sub-h em{color:#b8380c;opacity:.75}.invoice .inv-lines{border-collapse:separate;border-spacing:0;border:1px solid #e7e2df;border-radius:8px;overflow:hidden}.invoice .inv-lines th{background:var(--inv-panel);color:#fafafa;border:0;padding:7px 9px}.invoice .inv-lines th em{color:#c9c9d1}.invoice .inv-lines td{border:0;border-top:1px solid #f1ece9;padding:7px 9px}.invoice .inv-lines tbody tr:nth-child(2n) td{background:#fdf9f7}.inv-lines th:first-child,.inv-lines td:first-child{width:28px;text-align:center}.inv-lines tfoot td:first-child{width:auto;text-align:right}.invoice .inv-lines tfoot .inv-total td{border-top:0;background:linear-gradient(90deg,var(--inv-orange) 0%,var(--inv-orange-2) 100%);color:#fff;font-size:13.5px;font-weight:800}.invoice .inv-lines tfoot .inv-total td em{color:#ffe6d8}.invoice .inv-lines tfoot .inv-total td.num{background:#b8380c}.invoice .inv-lines tfoot .inv-vat td{background:var(--inv-tint);color:#7c2d12;font-weight:500;font-size:10.5px}.invoice .inv-lines tfoot .inv-vat td em{color:#b8380c}.inv-pay{padding:14px 16px;border:1px solid var(--inv-line);border-radius:8px;background:#fffaf7}.inv-pay .rpt-sub-h{margin-top:0;color:var(--inv-orange)}.inv-pay p{margin:0 0 4px}.invoice .inv-bank{margin-top:10px;border:1px solid var(--inv-line);border-radius:6px;border-collapse:separate;border-spacing:0;overflow:hidden}.invoice .inv-bank th{width:34%;background:var(--inv-tint);color:#7c2d12;border:0;border-top:1px solid var(--inv-line)}.invoice .inv-bank td{background:#fff;border:0;border-top:1px solid var(--inv-line)}.invoice .inv-bank tr:first-child th,.invoice .inv-bank tr:first-child td{border-top:0}.inv-note{padding:10px 12px;border-left:3px solid var(--inv-amber);background:#fffbf3}.inv-stamp{display:inline-block;margin-top:18px;padding:6px 14px;border:2px solid #047857;border-radius:6px;color:#047857;font-size:13px;font-weight:700;transform:rotate(-2deg)}.inv-stamp-void{border-color:#be123c;color:#be123c}.inv-foot{display:flex;justify-content:space-between;gap:12px;margin-top:26px;padding-top:10px;border-top:2px solid var(--inv-orange);color:#8b8b96;font-size:10px}.auth-found.is-bad{color:#f87171}.bell-btn{position:relative;display:inline-grid;place-items:center;flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff08;color:#c9c9d1;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.bell-btn svg{width:1.15rem;height:1.15rem;fill:currentColor}.bell-btn:hover,.bell-btn.has-unread{color:#ff7a3d;border-color:#ff7a3d8c;background:#e8541a1a}.bell-btn.has-unread svg{animation:bell-ring 2.4s ease-in-out 1;transform-origin:50% 10%}@keyframes bell-ring{0%,60%,to{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(8deg)}40%{transform:rotate(-6deg)}}.bell-dot{position:absolute;top:-.3rem;right:-.35rem;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;line-height:1.15rem;text-align:center;box-shadow:0 0 0 2px #0a0a0b}#view-workspace .app-bar .bell-btn{margin-left:.25rem}.bell-panel{position:fixed;top:4.4rem;right:1rem;z-index:60;width:min(24rem,calc(100vw - 1rem));max-height:min(32rem,calc(100vh / var(--zoom) - 6rem));max-height:min(32rem,calc(100dvh / var(--zoom) - 6rem));display:flex;flex-direction:column;border-radius:.9rem;border:1px solid rgba(255,255,255,.1);background:#16161a;color:#c9c9d1;box-shadow:0 24px 60px -18px #000000b3,0 0 0 1px #e8541a14;overflow:hidden}.bell-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.bell-title{font-weight:700;color:#fafafa}.bell-head .link-btn{color:#ff7a3d;font-size:.8rem}.bell-list{overflow-y:auto}.bell-item{display:grid;gap:.2rem;width:100%;padding:.75rem 1rem .75rem 1.4rem;text-align:left;border:0;border-bottom:1px solid rgba(255,255,255,.05);background:none;color:#a1a1aa;cursor:pointer;position:relative;font:inherit}.bell-item:hover{background:#ffffff0a}.bell-item.is-unread{color:#fafafa;background:#e8541a12}.bell-item.is-unread:before{content:"";position:absolute;left:.6rem;top:1.05rem;width:.45rem;height:.45rem;border-radius:999px;background:#e8541a}.bell-item-text{font-size:.85rem;line-height:1.35}.bell-item-time{font-size:.72rem;color:#71717a}.bell-empty{padding:1.5rem 1rem;text-align:center;color:#71717a;font-size:.85rem}@media (max-width: 640px){.bell-panel{top:4rem;right:.5rem}}.row-actions{display:inline-grid;grid-template-columns:repeat(2,max-content);gap:.25rem .35rem;justify-content:end}.row-actions .table-action{text-align:center}.contractor-cards{display:grid;gap:.75rem}.contractor-card{display:grid;grid-template-columns:minmax(13rem,1.1fr) minmax(0,2.2fr) auto;gap:1rem 1.5rem;align-items:start;padding:1rem 1.1rem;border-radius:.75rem;border:1px solid var(--ink-700)}.c-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem .75rem}.c-stat{display:flex;flex-direction:column;gap:.1rem}.c-stat-value{font-weight:600;color:var(--heading);font-variant-numeric:tabular-nums}.c-stat-value small{font-weight:400;color:var(--text-muted);font-size:.72rem}.c-stat-label{font-size:.72rem;color:var(--text-muted);line-height:1.25}.c-side{display:grid;gap:.6rem;justify-items:end}.contractor-card>*{min-width:0}.c-who p{overflow-wrap:anywhere}.c-who .status-chip{white-space:normal}@media (max-width: 900px){.contractor-card{grid-template-columns:1fr}.c-side{justify-items:start}.c-side .row-actions{justify-content:start}}.sidebar-mark{display:none}@media (min-width: 1024px){#sidebar{position:fixed;inset:0 auto 0 0;width:4.5rem;overflow:hidden;transform:none;transition:width .18s ease,box-shadow .18s ease}#sidebar:hover,#sidebar:has(:focus-visible){width:21.5rem;box-shadow:14px 0 40px -14px #000000a6}#sidebar:not(:hover):not(:has(:focus-visible)) .nav-link{font-size:0;gap:0;justify-content:center}#sidebar .nav-link{line-height:1.3}#sidebar .sidebar-brand{padding-left:1.25rem}#sidebar:not(:hover):not(:has(:focus-visible)) .sidebar-logo{display:none}#sidebar:not(:hover):not(:has(:focus-visible)) .sidebar-mark{display:block}#sidebar .sidebar-foot{white-space:nowrap;transition:opacity .15s}#sidebar:not(:hover):not(:has(:focus-visible)) .sidebar-foot{opacity:0}#view-workspace>div>div:has(>header.app-bar){margin-left:4.5rem}}.company-notice:not(.hidden){display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.85rem 1rem;border-radius:.75rem;font-size:.875rem;border:1px solid rgba(251,191,36,.45);background:#fbbf241a}.company-notice-lock{display:none}.company-notice-text{color:var(--text)}.company-notice.is-locked{padding:1rem 1.25rem;color:#1f2937;border:1px solid #fecaca;border-left:6px solid #dc2626;background:linear-gradient(90deg,#fef2f2,#fff 70%);box-shadow:0 8px 24px -14px #dc262673}.company-notice.is-locked .company-notice-lock{display:grid;place-items:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:9999px;background:#dc2626;animation:lock-pulse 2s ease-out infinite}.company-notice-lock svg{width:1.3rem;height:1.3rem;fill:#fff}.company-notice-title:not(.hidden){display:inline-block}.company-notice-title{margin:0 0 .4rem;padding:.15rem .65rem;border-radius:9999px;background:#facc15;color:#713f12;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.company-notice.is-locked .company-notice-text{color:#1f2937;font-size:.95rem;font-weight:500}@keyframes lock-pulse{0%{box-shadow:0 0 #dc262673}70%{box-shadow:0 0 0 .75rem #dc262600}to{box-shadow:0 0 #dc262600}}@media (prefers-reduced-motion: reduce){.company-notice.is-locked .company-notice-lock{animation:none}}.company-notice-contact:not(.hidden){display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.65rem;color:#991b1b;font-size:.85rem;font-weight:500}.company-notice-contact a{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:9999px;background:#dc2626;color:#fff;font-weight:600;text-decoration:none;white-space:nowrap}.company-notice-contact a:hover{background:#b91c1c}.company-notice-contact svg{width:.95rem;height:.95rem;fill:currentColor}.report-lang{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.report-lang .form-label{margin:0}.report-lang select{min-width:11rem}.data-table .plan-badge{width:1.6rem;height:1.6rem;box-shadow:none}.credit-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem}.credit-card{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border-radius:.75rem;border:1px solid var(--ink-700);background:var(--ink-900)}.credit-card.is-software{border-left:4px solid #60a5fa}.credit-card.is-concierge{border-left:4px solid #e8541a}.credit-card .plan-badge{width:2.8rem;height:2.8rem}.credit-card-plan{margin:0;font-size:.75rem;font-weight:700;color:var(--text-muted)}.credit-card-n{margin:0;font-size:1.35rem;font-weight:800;color:var(--heading);line-height:1.2}.credit-card-who{margin:0;font-size:.75rem;color:var(--text-muted)}.billing-history>summary{cursor:pointer}.topup{display:grid;gap:1rem;margin-top:.75rem}.topup-plan{padding:1rem;border-radius:.85rem;border:1px solid var(--ink-700);background:var(--ink-900)}.topup-plan.is-concierge{background:linear-gradient(160deg,#fff7ed,var(--ink-900) 55%);border-color:#fed7aa}.topup-plan.is-software{background:linear-gradient(160deg,#eff6ff,var(--ink-900) 55%);border-color:#bfdbfe}.topup-head{display:flex;align-items:center;gap:.85rem;margin-bottom:.85rem}.topup-head .plan-badge{width:3rem;height:3rem}.topup-head h3{margin:0;font-size:1.05rem;font-weight:700;color:var(--heading)}.topup-head p{margin:0;font-size:.8rem;color:var(--text-muted)}.topup-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem}.topup-pack{position:relative;display:flex;flex-direction:column;gap:.2rem;padding:.9rem;border-radius:.7rem;background:#fff;border:1px solid var(--ink-700);box-shadow:0 1px 2px #0f172a0d}.topup-pack .btn{margin-top:.6rem}.topup-months{margin:0;font-size:.85rem;font-weight:600;color:var(--text)}.topup-price{margin:0;font-size:1.4rem;font-weight:800;color:var(--heading)}.topup-each{margin:0;font-size:.75rem;color:var(--text-muted)}.topup-off{position:absolute;top:-.55rem;right:.6rem;padding:.1rem .5rem;border-radius:9999px;background:#16a34a;color:#fff;font-size:.72rem;font-weight:700}.plan-pick:not(.hidden){display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.plan-pick legend{grid-column:1 / -1;margin-bottom:.35rem}.plan-option{position:relative;display:flex;align-items:center;gap:.6rem;padding:.7rem;border-radius:.7rem;border:1.5px solid var(--ink-700);cursor:pointer;background:var(--ink-900)}.plan-option input{position:absolute;opacity:0;pointer-events:none}.plan-option:has(input:checked){border-color:var(--brand-500);box-shadow:0 0 0 3px #e8541a26}.plan-option:has(input:focus-visible){outline:2px solid var(--brand-500);outline-offset:2px}.plan-option-text{display:flex;flex-direction:column;min-width:0}.plan-option-text b{font-size:.9rem;color:var(--heading)}.plan-option-text small{font-size:.75rem;color:var(--text-muted)}.plan-option-text em{font-style:normal;font-size:.75rem;font-weight:600;color:#16a34a}.plan-option-text em.is-empty{color:#dc2626}.plan-pick-empty:not(.hidden){grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin:0;padding:.6rem .8rem;border-radius:.6rem;background:#fef2f2;color:#991b1b;font-size:.85rem;font-weight:500}@media (max-width: 480px){.plan-pick:not(.hidden){grid-template-columns:1fr}}.danger-zone{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-top:.5rem;padding:.9rem 1rem;border-radius:.75rem;border:1px solid #fecaca;background:#fff5f5}.danger-zone h3{margin:0;font-size:.9rem;font-weight:700;color:#991b1b}.danger-zone p{margin:.15rem 0 0;font-size:.8rem;color:#7f1d1d}.project-card-cover{margin:.65rem 0 0;padding-right:5.5rem;font-size:.75rem;font-weight:500;color:var(--text-muted)}.project-card-cover.is-soon{color:#b45309;font-weight:600}.project-card-cover.is-out{color:#dc2626;font-weight:700}.project-card-extend{position:absolute;right:1rem;bottom:1rem;padding:.3rem .8rem;border-radius:9999px;font-size:.75rem;font-weight:700;border:1px solid var(--ink-700);background:var(--ink-900);color:var(--heading);transition:background-color .15s,color .15s,border-color .15s}.project-card-extend:hover{border-color:var(--brand-500);color:var(--brand-500)}.project-card-extend.is-due{background:#dc2626;border-color:#dc2626;color:#fff;box-shadow:0 6px 16px -8px #dc2626b3}.project-card-extend.is-due:hover{background:#b91c1c;color:#fff}.extend-balance{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem;padding:.6rem .8rem;border-radius:.6rem;background:#f0fdf4;color:#166534;font-size:.85rem;font-weight:500}.billing-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem}.invoice-lang{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.billing-top .invoice-lang{margin-bottom:0}.invoice-lang .form-label{margin:0}.invoice-lang select{min-width:11rem}.billing-bank-h{margin:.75rem 0 .35rem;font-size:.8rem;font-weight:700;color:var(--heading)}.inv-bank-h{margin:12px 0 4px;font-size:11.5px;font-weight:700;color:#0f172a}.auth-agree:not(.hidden){display:flex;align-items:flex-start;gap:.6rem;font-size:.8rem;line-height:1.45;color:#d4d4d8;cursor:pointer}.auth-agree input{flex-shrink:0;width:1.05rem;height:1.05rem;margin-top:.1rem;accent-color:#e8541a}.auth-agree a{color:#ffb347;text-decoration:underline}.activity-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.activity-filters select{min-width:10rem;max-width:100%}.activity-what{font-weight:600;color:var(--heading)}.activity-delete .activity-what{color:#dc2626}.activity-create .activity-what{color:#16a34a}.activity-changes{margin:.35rem 0 0;padding:.4rem .55rem;border-radius:.4rem;background:var(--ink-800);font-size:.72rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--text)}@media (min-width: 640px){#modal-activity{width:min(64rem,calc(100vw - 2rem))}}.files-filter{display:flex;flex-wrap:wrap;gap:.4rem}.files-filter:empty{display:none}.file-rows{display:grid;gap:.25rem}.file-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .25rem;border-top:1px solid var(--ink-700)}.file-rows>.file-row:first-child{border-top:0}.file-icon{width:1.4rem;height:1.4rem;flex:none;fill:var(--brand-600)}.file-name{font-weight:600;color:var(--heading);overflow-wrap:anywhere}.file-rev{margin-left:.25rem;padding:.05rem .4rem;border-radius:.3rem;background:var(--brand-50);color:var(--brand-600);font-size:.75rem;font-weight:700}.file-actions{display:flex;flex:none;align-items:center;gap:.4rem}.file-row.is-old{opacity:.6}.file-row.is-old .file-icon{fill:var(--text-muted)}.file-old{margin:0 0 .25rem 2.15rem}.file-old>summary{cursor:pointer;font-size:.8rem;color:var(--text-muted);padding:.2rem 0}.file-access>summary{cursor:pointer}.file-access-table th,.file-access-table td{text-align:center;white-space:nowrap}.file-access-table tbody th{text-align:left}.file-access-table input{width:1.1rem;height:1.1rem;accent-color:var(--brand-600)}@media (max-width: 640px){.file-row{flex-wrap:wrap}.file-actions{width:100%;justify-content:flex-end}}@media (max-width: 639px){#view-projects>.app-bar>img{display:none}body.unicraft-bar #view-projects>.app-bar>img[src*=unicraft-logo-dark]{display:block;height:1.6rem;width:auto}#view-projects>.app-bar{height:auto;min-height:4rem;padding-top:.6rem;padding-bottom:.6rem}#view-projects #company-box{flex:1 1 auto;min-width:0;padding-left:0;border-left:0}#view-projects #company-name{white-space:normal;overflow:visible;text-overflow:clip;font-size:.95rem;line-height:1.25}#view-projects #company-select{max-width:none;width:100%}}.perm-table td{padding:.3rem .4rem}#perm-access-table{max-height:min(70vh,40rem);max-height:min(70dvh,40rem);overflow:auto;overscroll-behavior:contain;border:1px solid var(--ink-700);border-radius:.5rem}.perm-table{border-collapse:separate;border-spacing:0}.perm-table thead th{position:sticky;top:0;z-index:2}.perm-table tbody th,.perm-table thead th:first-child{position:sticky;left:0;z-index:1;background:var(--ink-900);box-shadow:1px 0 0 var(--ink-700)}.perm-table thead th:first-child{z-index:3;background:var(--ink-850)}.perm-table td:last-child{white-space:normal;min-width:9rem}@media (min-width: 1200px){#perm-access-table{max-height:none;overflow:visible}.perm-table thead th{top:-1.25rem}}.perm-table td,.perm-table tbody th{vertical-align:middle}.perm-step{width:100%;min-width:9.5rem;padding:.3rem 1.8rem .3rem .55rem;font-size:.8rem;background-position:right .4rem center}.perm-step.is-odd{border-color:#f59e0b;background-color:#fffbeb}.perm-table .perm-sub th{padding-left:1.6rem;font-weight:400;font-size:.82rem;color:var(--text-muted)}.perm-table .perm-sub td,.perm-table .perm-sub th{padding-top:.2rem;padding-bottom:.2rem;border-top:0}.perm-table .perm-sub input:disabled{opacity:.35}@media (max-width: 639px){.truncate,.signed-in-name,.access-name,.access-other-name,.access-meta,.access-title-project,.chip-toggle span,.chat-thread-name,.bar-list-label,.preview-title,.row-name,.row-email,.role-chip{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.module-header .hint,.module-header .hint.is-open{display:block;-webkit-line-clamp:unset;overflow:visible;cursor:auto}}body.no-ai :is(#form-ask,#btn-parse-log,#btn-translate-delay,#btn-translate-variation,#btn-translate-event,#btn-translate-defect){display:none!important}.fix-history{margin:.25rem 0 0;padding:0;list-style:none;font-size:.75rem;color:var(--text-muted)}.fix-history li{padding-left:.75rem;border-left:2px solid #fecaca;margin-top:.15rem}.report-parts{display:flex;flex-direction:column;gap:.15rem;padding-left:.25rem;border-left:2px solid var(--ink-700)}.report-parts-all{font-weight:600}body.no-reports [data-nav=reports]{display:none!important}.firm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.75rem}.firm-card{padding:.85rem 1rem;border:1px solid var(--ink-700);border-radius:.75rem;background:#fff;box-shadow:0 1px 2px #0f172a0a}.firm-card.is-warn{border-color:#fde68a;background:#fffbeb}.firm-card.is-bad{border-color:#fecaca;background:#fef2f2}.firm-card.is-ok{border-color:#bbf7d0;background:#f0fdf4}.firm-card-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}html[lang=ka] .firm-card-label{text-transform:none;letter-spacing:0;font-size:.78rem}.firm-card-value{margin-top:.2rem;font-size:1.5rem;font-weight:700;color:var(--heading);line-height:1.2}.firm-card.is-warn .firm-card-value{color:#b45309}.firm-card.is-bad .firm-card-value{color:#b91c1c}.firm-card.is-ok .firm-card-value{color:#15803d}.firm-card-meta{margin-top:.3rem;font-size:.75rem;color:var(--text-muted)}.firm-bar{display:block;height:.4rem;margin:.35rem 0;border-radius:999px;background:var(--ink-800);overflow:hidden}.firm-bar>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f97316,#e8541a)}.firm-tabs{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--ink-700);scrollbar-width:none}.firm-tabs button{flex:none;padding:.55rem .9rem;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:.85rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.firm-tabs button:hover{color:var(--heading)}.firm-tabs button[aria-selected=true]{color:#e8541a;border-bottom-color:#e8541a}.firm-tabs button b{margin-left:.3rem;padding:0 .4rem;border-radius:999px;background:var(--ink-800);font-size:.7rem;color:var(--heading)}.firm-tabs button[aria-selected=true] b{background:var(--brand-50);color:#e8541a}.firm-panel{padding-top:.25rem}.firm-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.75rem}.firm-item{padding:.9rem 1rem;border:1px solid var(--ink-700);border-left:4px solid #e8541a;border-radius:.75rem;background:#fff}.firm-item.is-late{border-left-color:#dc2626}.firm-item.is-done{border-left-color:#16a34a}.firm-item.is-done .firm-bar>i{background:#16a34a}.firm-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.firm-item-head h4{font-weight:600;color:var(--heading);overflow-wrap:anywhere}.firm-item-pct{font-weight:700;color:var(--heading)}.firm-item-dates{font-size:.78rem;color:var(--text-muted)}.firm-late{color:#dc2626;font-weight:600}.firm-item-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.7rem;padding-top:.6rem;border-top:1px dashed var(--ink-700)}.firm-item-money dt{font-size:.7rem;color:var(--text-muted)}.firm-item-money dd{margin:0;font-weight:600;color:var(--heading);font-size:.85rem}.firm-item-money small{display:block;font-weight:400;font-size:.7rem;color:var(--text-muted)}@media (max-width: 639px){.firm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.firm-card-value{font-size:1.25rem}}.account-menu{position:relative;min-width:0}.account-btn{display:inline-flex;align-items:center;gap:.45rem;max-width:100%;height:2.1rem;padding:0 .5rem;border-radius:.6rem;color:#c9c9d1;transition:background .15s,color .15s}.account-btn:hover{color:#fff;background:#ffffff14}.account-btn[aria-expanded=true]{color:#ff7a3d;background:#e8541a1f;box-shadow:inset 0 0 0 1px #ff7a3d8c}.account-btn .account-icon{width:1.15rem;height:1.15rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.account-btn .globe-caret{width:.7rem;height:.7rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;opacity:.7;transition:transform .15s}.account-btn[aria-expanded=true] .globe-caret{transform:rotate(180deg)}.account-name{min-width:0;overflow:hidden;text-align:left}.account-btn:has(.signed-in){height:auto;min-height:2.1rem;padding-top:.3rem;padding-bottom:.3rem}.account-btn .signed-in{gap:.15rem}.account-btn .signed-in-name{line-height:1.25}@media (min-width: 640px){header .account-btn .account-icon{display:none}}.account-list{position:absolute;right:0;top:calc(100% + .4rem);z-index:60;min-width:16rem;padding:.3rem;background:#141418;border:1px solid rgba(255,255,255,.14);border-radius:.6rem;box-shadow:0 12px 30px -10px #000000b3}.account-list[hidden]{display:none}.account-email{padding:.4rem .65rem .5rem;margin-bottom:.2rem;border-bottom:1px solid rgba(255,255,255,.1);font-size:.75rem;color:#8b8b95;overflow-wrap:anywhere}.account-list button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .65rem;border-radius:.4rem;font-size:.85rem;text-align:left;color:#c9c9d1}.account-list button:hover{background:#ffffff0f;color:#fff}.account-list button.is-out:hover{color:#fca5a5}.account-list svg{width:1rem;height:1rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.account-lang-icon{width:1.05rem;height:1.05rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.account-lang{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .65rem .55rem;margin-bottom:.2rem;border-bottom:1px solid rgba(255,255,255,.1);font-size:.75rem;color:#8b8b95}.account-lang-pick{display:inline-flex;padding:2px;border-radius:.45rem;background:#ffffff0f}.account-lang-pick button{width:auto;min-width:2.6rem;padding:.25rem .5rem;border-radius:.35rem;font-size:.74rem;font-weight:600;letter-spacing:.02em;color:#c9c9d1}.account-lang-pick button.is-active{background:#e8541a;color:#fff;cursor:default}.account-lang-pick button:not(.is-active):hover{background:#ffffff14;color:#fff}#sidebar .account-list{top:auto;bottom:calc(100% + .4rem);left:0;right:auto}#sidebar .account-menu{flex:1 1 auto}@media (min-width: 640px){dialog.modal:not(.modal-photo):not(.report-preview):not(#modal-login):not(#modal-set-password){margin:5vh auto auto;margin:5dvh auto auto;max-height:90vh;max-height:90dvh}}@media (max-width: 639px){.access-flags{flex-wrap:nowrap}.access-flags .flag-toggle{flex:1 1 0;min-width:0;justify-content:center;padding:.35rem .4rem;font-size:.74rem;line-height:1.2;text-align:center}.access-flags .flag-toggle .role-help{margin-left:.2rem}}@media (max-width: 639px){.perm-table tr.perm-sub{display:flex;flex-direction:row;align-items:center;gap:.75rem}.perm-table tr.perm-sub th{position:static;flex:1 1 auto;min-width:0;padding-left:0;border:0;box-shadow:none;text-align:left}.perm-table tr.perm-sub td{display:flex;flex:none;width:auto;min-width:0;padding:0;border:0}.perm-table tr.perm-sub td:before{content:none;display:none}}.logo-off{display:none!important}.company-logo{flex:none;display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;padding:0;border-radius:999px;overflow:hidden}.company-logo:not(.is-empty){box-shadow:0 0 0 1px #ffffff2e}.company-logo img{display:block;width:100%;height:100%;object-fit:cover}.company-logo:not(:disabled){cursor:pointer}.company-logo:not(:disabled):not(.is-empty):hover{box-shadow:0 0 0 2px #ff7a3d8c}.company-logo.is-empty{border:1.5px dashed rgba(255,255,255,.35);color:#ffffff8c;transition:color .15s,border-color .15s}.company-logo.is-empty:hover{color:#ff7a3d;border-color:#ff7a3d}.company-logo.is-empty svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}#view-projects .company-logo+#company-box{padding-left:.75rem}.company-logo-preview{display:grid;place-items:center;min-height:7rem;padding:1rem;border:1px dashed var(--ink-700);border-radius:.6rem;background:#1b1b21;color:#8b8b95;font-size:.85rem}.company-logo-preview img{max-height:6rem;max-width:100%;object-fit:contain}.company-folder .folder-icon.has-logo{background:none;border:1px solid var(--ink-700);overflow:hidden;border-radius:999px}.company-folder .folder-icon.has-logo img{width:100%;height:100%;object-fit:cover}.company-folder .folder-icon.is-empty{background:transparent;border:1.5px dashed var(--ink-700);border-radius:999px}.project-card-open .client-logo{width:2rem;height:2rem;border-radius:999px;object-fit:cover;margin-bottom:.4rem;box-shadow:0 0 0 1px var(--ink-700)}.firm-title-logo{display:inline-block;width:1.8rem;height:1.8rem;border-radius:999px;object-fit:cover;margin-right:.6rem;vertical-align:middle}.logo-cropper{display:grid;justify-items:center;gap:.75rem}.logo-crop{position:relative;width:15rem;height:15rem;overflow:hidden;border-radius:.75rem;background:#fff;cursor:grab;touch-action:none;user-select:none}.logo-crop:active{cursor:grabbing}.logo-crop img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;pointer-events:none}.logo-crop:after{content:"";position:absolute;inset:0;border-radius:999px;box-shadow:0 0 0 30rem #0b0b0f99;outline:2px solid rgba(255,255,255,.9);pointer-events:none}.logo-zoom{display:flex;align-items:center;gap:.6rem;width:15rem;color:var(--text-muted)}.logo-zoom input{flex:1;accent-color:#e8541a}.logo-zoom svg{width:1.1rem;height:1.1rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}*{-webkit-tap-highlight-color:transparent}:focus:not(:focus-visible){outline:none}.phone-field{display:flex;gap:.4rem;min-width:0}.phone-field .phone-local{flex:1;min-width:0}.phone-country{flex:none;min-width:7rem;display:inline-flex;align-items:center;gap:.4rem;width:auto;cursor:pointer;white-space:nowrap;font-variant-numeric:tabular-nums}.phone-country:hover{border-color:#94a3b8}.phone-country:focus-visible{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 3px #e8541a2e}.phone-country[aria-expanded=true]{border-color:var(--brand-500)}.phone-flag{width:1.25rem;height:.9375rem;flex:none;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #0f172a1f}.phone-caret{width:.9rem;height:.9rem;flex:none;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;opacity:.6}.phone-menu{position:fixed;z-index:1000;display:flex;flex-direction:column;gap:.4rem;padding:.5rem;background:var(--ink-900);border:1px solid var(--ink-700);border-radius:.6rem;box-shadow:0 18px 40px -12px #0f172a59}.phone-menu ul{overflow-y:auto;min-height:0;margin:0;padding:0;list-style:none}.phone-menu li button{appearance:none;background:none;border:0;font:inherit;cursor:pointer;display:flex;align-items:center;gap:.6rem;width:100%;padding:.45rem .5rem;border-radius:.4rem;text-align:left;font-size:.875rem;color:var(--heading)}.phone-menu li button:hover,.phone-menu li button:focus-visible{background:var(--brand-50);outline:none}.phone-menu li button.is-on{background:var(--brand-50);font-weight:600}.phone-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-code{flex:none;color:#64748b;font-variant-numeric:tabular-nums}.phone-none{padding:.6rem .5rem;font-size:.85rem;color:#64748b}#modal-login .phone-menu{background:#16161a;border-color:#ffffff1f}#modal-login .phone-menu li button{color:#fafafa}#modal-login .phone-menu li button:hover,#modal-login .phone-menu li button:focus-visible,#modal-login .phone-menu li button.is-on{background:#e8541a2e}#modal-login .phone-code,#modal-login .phone-none{color:#a1a1aa}#modal-login .phone-flag{box-shadow:0 0 0 1px #ffffff26}.phone-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.05rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;line-height:1.5;white-space:nowrap;vertical-align:middle}.phone-badge.is-ok{background:#ecfdf5;color:#047857}.phone-badge.is-no{background:#fffbeb;color:#b45309}.link-btn.is-quiet{color:#dc2626}.link-btn.is-quiet:hover{color:#b91c1c}.link-btn.is-verify{color:#059669}.link-btn.is-verify:hover{color:#047857}.phone-status{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.75rem;color:#64748b}.phone-status:empty{display:none}.phone-line{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem .4rem}.perm-reset{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 .75rem}.perm-reset:empty{display:none}.perm-reset-note{font-size:.75rem;color:#64748b}.chat-convs{display:flex;flex-direction:column;gap:.4rem;max-height:60vh;max-height:60dvh;overflow-y:auto}.chat-new{align-self:flex-start;margin-bottom:.35rem}.chat-conv{display:flex;align-items:center;gap:.75rem;width:100%;padding:.7rem .85rem;border:1px solid var(--ink-700);border-radius:.65rem;background:var(--ink-900);text-align:left;transition:border-color .15s,background .15s}.chat-conv:hover{border-color:#fdba8c;background:var(--brand-50)}.chat-conv.is-unread{border-color:#e8541a;box-shadow:inset 3px 0 #e8541a}.chat-conv-main{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.chat-conv-when,.chat-conv-wait{font-size:.75rem;color:var(--text-muted)}.chat-conv-wait.is-due{color:#b45309;font-weight:600}.chat-thread-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.chat-head-title{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--heading)}.chat-head-actions{display:inline-flex;gap:.4rem;margin-left:auto}.chat-topic-tag.is-help{background:#eff6ff;color:#1d4ed8}.chat-topic-tag.is-payments{background:#ecfdf5;color:#047857}.chat-topic-tag.is-revision{background:#f5f3ff;color:#6d28d9}.chat-topic-tag.is-other{background:var(--ink-800);color:#475569}.chat-conv .chat-topic-tag{flex:none;padding:.1rem .55rem;font-size:.72rem}.chat-status{flex:none;padding:.1rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600}.chat-status.is-open{background:#fff7ed;color:#c2410c}.chat-status.is-resolved{background:#ecfdf5;color:#047857}@media (max-width: 640px){.chat-head-actions{margin-left:0}}.storage-bar{display:flex;flex-direction:column;gap:.4rem;max-width:36rem}.storage-bar-top{display:flex;align-items:baseline;gap:.4rem;font-size:.85rem;color:var(--text-muted)}.storage-bar-top b{font-size:1.05rem;color:var(--heading)}.storage-pct{margin-left:auto;font-weight:600;color:var(--heading)}.storage-track{height:.55rem;border-radius:999px;background:var(--ink-800);overflow:hidden}.storage-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff7a3d,#e8541a);transition:width .4s ease}.storage-bar.is-high .storage-fill{background:#f59e0b}.storage-bar.is-high .storage-pct{color:#b45309}.storage-bar.is-full .storage-fill{background:#dc2626}.storage-bar.is-full .storage-pct{color:#dc2626}.storage-from{margin:0;font-size:.75rem;color:var(--text-muted)}.storage-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem .9rem;max-width:36rem}.storage-form label{flex:0 1 12rem}.storage-price{margin:0 0 .6rem;font-size:.85rem;font-weight:600;color:var(--heading)}.storage-floor{margin:0;max-width:36rem;font-size:.75rem;color:#b45309}.inactive-line{margin:0;padding:.35rem .6rem;border-radius:.5rem;background:#fffbeb;color:#b45309;font-size:.8rem;font-weight:600}.inactive-line.is-ready{background:#fef2f2;color:#b91c1c}.chat-boxes{display:flex;gap:2px;padding:2px;margin-bottom:.4rem;border-radius:.55rem;background:var(--ink-800)}.chat-boxes button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.35rem .5rem;border-radius:.45rem;font-size:.78rem;font-weight:600;color:#64748b}.chat-boxes button[aria-pressed=true]{background:var(--ink-900);color:var(--heading);box-shadow:0 1px 2px #0f172a14}.chat-boxes b{font-weight:700;color:#e8541a}.chat-box-empty{font-size:.8rem}.chat-write{width:100%;margin-bottom:.5rem;font-size:.82rem}@media (max-width: 640px){.chat-write{flex:none;width:auto;min-width:12rem;margin-bottom:0}}.chat-archive{margin-top:.4rem;border-top:1px solid var(--ink-700);padding-top:.5rem}.chat-archive summary{cursor:pointer;font-size:.8rem;font-weight:600;color:#64748b;padding:.25rem 0}.chat-archive[open] summary{margin-bottom:.4rem}.chat-archive-list{display:flex;flex-direction:column;gap:.4rem;opacity:.85}@media (max-width: 640px){.chat-boxes{flex:none;margin-bottom:0}}body.is-installed [data-install]{display:none}.notice-body{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:1.75rem 1.5rem 1.5rem;text-align:center}.notice-icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:#e8541a24;color:#e8541a}.notice-icon svg{width:1.7rem;height:1.7rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notice-body h2{margin:.15rem 0 0;font-size:1.15rem;font-weight:700;color:var(--heading)}.notice-body p{margin:0;font-size:.92rem;line-height:1.6;color:var(--text);overflow-wrap:anywhere}.notice-body .notice-warn{width:100%;padding:.55rem .8rem;border-radius:.5rem;background:#e8541a1a;border:1px solid rgba(232,84,26,.35);font-size:.85rem;font-weight:600;line-height:1.5}.notice-ok{margin-top:.6rem;min-width:9rem;justify-content:center}.install-lead{margin:0 0 .9rem;font-size:.875rem;color:var(--text-muted)}.install-warn{margin:0 0 .9rem;padding:.6rem .8rem;border-radius:.5rem;font-size:.85rem;line-height:1.5;color:var(--text);background:#f59e0b1f;border:1px solid rgba(245,158,11,.4)}.install-steps{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.75rem;font-size:.9rem;color:var(--text)}.install-steps li{padding-left:.25rem;line-height:1.55}.install-steps li::marker{font-weight:700;color:#e8541a}.install-icon{display:inline-block;width:1.25rem;height:1.25rem;margin:0 .15rem;vertical-align:-.3rem;padding:.15rem;border-radius:.35rem;background:var(--ink-800);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.install-icon circle{fill:currentColor;stroke:none}.install-qr{width:11rem;height:11rem;margin:.25rem auto .9rem;padding:.6rem;border-radius:.9rem;background:#fff;box-shadow:0 1px #ffffff0f}.install-qr svg{display:block;width:100%;height:100%}.install-qr:empty{display:none}.install-qr-cap{margin:0 0 1rem;text-align:center;font-size:.9rem;line-height:1.55;color:var(--text)}.install-qr-cap b{display:block;margin-bottom:.15rem;font-size:.95rem}.install-computer{margin:0;padding-top:.85rem;border-top:1px solid var(--ink-700);font-size:.8rem;line-height:1.55;color:var(--text-muted)}#modal-signature{width:min(32rem,calc(100vw - 2rem))}.sig-pad{position:relative;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem}.sig-pad canvas{display:block;width:100%;height:180px;touch-action:none;cursor:crosshair;border-radius:.5rem}.sig-pad-line{position:absolute;left:6%;right:6%;top:75%;border-top:1px solid #94a3b8;pointer-events:none}.sig-pad-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ncr-sign-sig{display:flex;align-items:flex-end;height:56px;margin:2px 0 8px;border-bottom:1px solid #94a3b8}.ncr-sign-mark{display:block;max-width:100%;max-height:52px;width:auto;height:auto;margin-bottom:-3px}.ncr-sign .rpt-eyebrow{min-height:58px}.ml-more{margin-top:.35rem}.ml-more>summary{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;list-style:none;font-size:.75rem;color:#8b8b95;user-select:none}.ml-more>summary::-webkit-details-marker{display:none}.ml-more>summary:before{content:"";width:.4rem;height:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.ml-more[open]>summary:before{transform:rotate(45deg)}.ml-more>summary:hover{color:#ff7a3d}.ml-langs{display:grid;gap:.5rem;margin-top:.5rem;padding-left:.75rem;border-left:2px solid rgba(255,122,61,.35)}.ml-lang[hidden],.ml-more[hidden]{display:none}.project-langs{border:0;padding:0;margin:0}.project-langs-pick{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:.35rem 0}.project-langs-pick label{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:#e4e4e7;cursor:pointer}
