@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.tasks-page{max-width:1500px}.tasks-skeleton-page{min-height:760px}.tasks-skeleton-heading{display:grid;gap:9px;margin-bottom:24px}.skeleton-line,.skeleton-project-selector,.skeleton-board-heading,.skeleton-filters,.skeleton-board,.skeleton-card{display:block;background:linear-gradient(100deg,#e7ebf2 20%,#f7f9fc,#e7ebf2 60%);background-size:300% 100%;animation:tasks-skeleton-shimmer 1.35s ease-in-out infinite}.tasks-skeleton-heading .eyebrow{width:95px;height:9px}.tasks-skeleton-heading .title{width:220px;height:30px;border-radius:6px}.tasks-skeleton-heading .description{width:320px;max-width:75%;height:12px;border-radius:5px}.skeleton-project-selector{width:100%;height:58px;margin-bottom:14px;border-radius:10px}.skeleton-label{width:70px;height:10px;margin:5px 8px 14px}.skeleton-board-list{display:grid;gap:8px}.skeleton-board{height:38px;border-radius:8px}.skeleton-board-heading{width:210px;height:30px;margin-bottom:18px;border-radius:6px}.skeleton-filters{width:100%;height:40px;margin-bottom:12px;border-radius:8px}.skeleton-column{min-height:390px}.skeleton-column-title{width:110px;height:15px;margin:4px 3px 14px;border-radius:4px}.skeleton-card{height:92px;border-radius:9px}@keyframes tasks-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.skeleton-line,.skeleton-project-selector,.skeleton-board-heading,.skeleton-filters,.skeleton-board,.skeleton-card{animation:none}}.tasks-workspace{display:grid;grid-template-columns:clamp(260px,20vw,320px) minmax(0,1fr);min-height:620px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f1f3f6}.boards-panel{padding:14px 10px;border-right:1px solid var(--line);background:var(--surface, #fff)}.boards-panel-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 12px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.9px}.boards-panel-header button,.board-link>button{border:0;background:transparent;color:inherit;cursor:pointer}.boards-panel-header button{width:28px;height:28px;display:grid;place-items:center;border-radius:7px}.boards-panel-header button:hover{background:#e9eff9;color:var(--blue)}.boards-list{display:grid;gap:4px}.board-link{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,28px);align-items:center;border-radius:8px;color:#536177}.board-link>button:first-child{min-width:0;display:flex;align-items:center;gap:9px;padding:10px;text-align:left}.board-link>button:first-child svg{width:16px;height:16px;flex:0 0 16px}.board-link>button:first-child span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-link>button:not(:first-child){padding:6px;opacity:0}.board-link>button:not(:first-child) svg{width:13px;height:13px;display:block}.board-link:hover>button:not(:first-child),.board-link:focus-within>button:not(:first-child){opacity:1}.board-link:hover,.board-link.active{background:#e7effc;color:#1f5fc5}.board-content{min-width:0;padding:18px;background:linear-gradient(135deg,#edf3fb,#f5f7fa)}.board-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.board-header .eyebrow{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.8px;text-transform:uppercase}.board-header h2{margin:4px 0 0;font-size:20px}.view-toggle{display:flex;padding:4px;border:1px solid var(--line);border-radius:9px;background:var(--surface, #fff)}.view-toggle button{display:flex;align-items:center;gap:6px;padding:8px 11px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.view-toggle button.active{background:var(--blue);color:#fff}.filters{display:grid;grid-template-columns:minmax(180px,1fr) repeat(4,auto) auto;gap:8px;margin-bottom:12px}.filters input,.filters select{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface, #fff);color:var(--text);font:inherit}.board-actions{display:flex;justify-content:flex-end;margin-bottom:10px}.kanban-board{display:flex;align-items:flex-start;gap:12px;padding-bottom:14px;overflow-x:auto}.kanban-column{flex:0 0 280px;max-height:72vh;display:flex;flex-direction:column;padding:10px;border:1px solid #d9dee7;border-radius:12px;background:#e6e9ee;box-shadow:0 2px 5px #25385814}.kanban-column.over{background:#dce8fa;border-color:#75a2e7}.kanban-column.column-overlay{min-height:90px;padding:16px;transform:rotate(1deg);box-shadow:0 10px 24px #091e4230}.kanban-column .column-title-input{width:100%;min-width:0;padding:4px 6px;font:inherit;font-weight:600;border:1px solid #2563eb;border-radius:4px;outline:none;background:#fff}.column-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 3px 10px}.column-header h3{margin:0;font-size:11px;cursor:text}.column-header span{color:var(--muted);font-size:8px}.column-header .row{display:flex}.icon-btn{border:0;background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover{color:var(--blue)}.icon-btn.danger:hover,.card-delete:hover{color:#c93d4d}.column-drag-handle{cursor:grab;touch-action:none}.column-drag-handle:active{cursor:grabbing}.column-cards{min-height:48px;display:grid;gap:8px;overflow-y:auto}.task-card{padding:11px;border:1px solid #d9dee7;border-radius:9px;background:var(--surface, #fff);box-shadow:0 1px 2px #091e4240;cursor:pointer}.task-card:hover{border-color:#b5c5dd;box-shadow:0 3px 8px #091e4228}.task-card.overlay{width:258px;transform:rotate(2deg)}.card-top{display:flex;align-items:center;gap:6px}.drag-handle,.card-edit,.card-history,.card-delete{border:0;padding:2px;background:transparent;color:#8b95a5;cursor:pointer}.drag-handle{cursor:grab}.card-edit{margin-left:auto}.card-edit:hover,.card-history:hover{color:var(--blue)}.priority{padding:3px 7px;border-radius:10px;font-size:7px;font-weight:800}.priority.high{background:#ffe3e6;color:#b72e40}.priority.medium{background:#fff0c7;color:#946300}.priority.low{background:#dff4ea;color:#247454}.task-card h4{margin:9px 0 6px;font-size:11px;line-height:1.4}.task-card p{display:-webkit-box;margin:0 0 10px;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.card-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:8px}.card-meta>span:first-child{display:flex;align-items:center;gap:5px}.avatar{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#d9e7fb;color:#255faa;font-weight:800}.empty-drop{padding:18px 8px;border:1px dashed #bac3d0;border-radius:8px;color:var(--muted);font-size:8px;text-align:center}.add-task{width:100%;display:flex;align-items:center;gap:6px;margin-top:7px;padding:8px;border:0;border-radius:7px;background:transparent;color:#657286;cursor:pointer}.add-task:hover{background:#d8dde5}.calendar-wrap{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface, #fff)}.tasks-page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tasks-page .span-2{grid-column:1 / -1}.tasks-page .form-actions{display:flex;justify-content:flex-end;gap:8px}.tasks-page .task-form-history{margin-right:auto;display:inline-flex;align-items:center;gap:6px}.calendar-wrap .fc-event{border-left-width:4px;box-shadow:0 1px 3px #091e4230}.calendar-column-legend{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.calendar-column-legend>span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface, #fff);color:var(--muted);font-size:8px;font-weight:700}.calendar-column-legend i{width:9px;height:9px;flex:0 0 9px;border-radius:50%}html[data-theme=dark] .tasks-workspace,html[data-theme=dark] .board-content{background:#152033}html[data-theme=dark] .kanban-column{background:#202b3d;border-color:var(--line)}.task-history-modal{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow-y:auto}.modal-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;min-height:34px;margin-bottom:16px;padding-right:38px}.modal-header h2{margin:0}.task-modal-close{position:absolute;top:10px;right:10px;z-index:2;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid #f0a7af!important;border-radius:50%;background:#ffe7ea!important;color:#bd3042!important;cursor:pointer;transition:background .15s ease,transform .15s ease}.task-modal-close:hover{background:#ffd5da!important;transform:scale(1.05)}.task-history-modal>header{position:relative;padding-right:38px}.task-history-list .history-user-role{padding:3px 7px;border-radius:10px;background:#edf2f8;color:#53647b;font-size:7px;font-weight:750;white-space:nowrap}.task-history-list{display:grid;gap:9px}.task-history-list>article{padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface, #fff)}.task-history-list .history-meta{display:flex;align-items:center;gap:7px}.task-history-list .history-meta time{margin-left:auto;color:var(--muted);font-size:8px}.task-history-list .history-action{display:inline-flex;margin:8px 0;padding:3px 7px;border-radius:10px;background:#e8f0fd;color:#285fae;font-size:7px;font-weight:800;text-transform:uppercase}.task-history-list .history-action.deleted{background:#ffe5e8;color:#b83245}.task-history-list .history-change{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:6px 0;border-top:1px solid var(--line);font-size:8px}.task-history-list .history-change span{color:var(--muted);overflow-wrap:anywhere}@media(max-width:900px){.tasks-workspace{grid-template-columns:1fr}.boards-panel{border-right:0;border-bottom:1px solid var(--line)}.boards-list{grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);overflow-x:auto}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.board-content{padding:12px}.board-header{align-items:flex-start;flex-direction:column}.filters,.tasks-page .form-grid{grid-template-columns:1fr}.tasks-page .span-2{grid-column:auto}.kanban-column{flex-basis:min(280px,calc(100vw - 66px))}}:root{font-family:Inter,Arial,sans-serif;color:#182236;background:#f5f7fa;font-synthesis:none;--navy: #101b35;--blue: #2563dc;--line: #e4e8ef;--muted: #7b8492;--font-caption: 10px;--font-small: 11px;--font-body: 12px;--font-section: 14px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}.app{display:flex;min-height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 7px 25px}.brand strong,.brand small,.company strong,.company small,.profile strong,.profile small{display:block}.brand strong{font-size:17px}.brand small,.company small,.profile small{font-size:9px;color:#8491aa;margin-top:3px}.company{padding:11px;background:#192642;border:1px solid #2a3854;border-radius:10px;display:flex;align-items:center;gap:9px}.company>b{width:33px;height:33px;background:#dce8ff;color:#2e5ea9;border-radius:7px;display:grid;place-items:center;font-size:11px}.company strong{font-size:11px}.company-selector{display:grid;grid-template-columns:33px 1fr 25px}.company-selector select{width:100%;color:#fff;background:transparent;border:0;font-size:11px;font-weight:700;outline:none}.company-selector select option{color:#182236;background:#fff;font-size:12px;font-weight:600}.company-selector>button{border:0;background:#2b4269;color:#b9cdf1;width:25px;height:25px;border-radius:6px;display:grid;place-items:center;padding:0}.nav-label{font-size:8px;color:#66738b;letter-spacing:1.2px;margin:26px 11px 8px;font-weight:700}.profile{margin-top:auto;border-top:1px solid #273550;padding:16px 5px 0;display:grid;grid-template-columns:34px 1fr 28px;align-items:center;gap:8px}.profile>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#376dcc;font-size:11px;font-weight:700}.profile strong{font-size:10px}.profile button{border:0;background:transparent;color:#8e9ab0}.profile-role-select{width:100%;margin-top:3px;padding:0;border:0;outline:0;background:transparent;color:#9eabc0;font-size:10px;font-weight:500;cursor:pointer}.profile-role-select option{background:var(--navy);color:#fff}.app>main{margin-left:248px;width:calc(100% - 248px)}.unit-keys{display:flex;flex-wrap:wrap;gap:6px}.unit-keys span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:7px;background:#2563eb14;color:#315b9c;font-size:10px}.nested-modal{z-index:110}.icon{width:35px;height:35px;border:1px solid var(--line);background:#fff;border-radius:8px;display:grid;place-items:center;color:#566174}.primary{border:0;background:var(--blue);color:#fff;border-radius:8px;padding:10px 15px;font-size:11px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 4px 12px #2563dc25}.primary:hover{background:#1d55c0}.secondary{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 11px;color:#4f5c70}.page{padding:33px;max-width:1500px;margin:auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-header small{display:block;font-size:8px;color:#8a93a1;letter-spacing:1.2px;font-weight:750;margin-bottom:7px}.page-header h1{font-size:27px;letter-spacing:-.8px;margin:0 0 6px}.page-header p{font-size:11px;color:var(--muted);margin:0}.team-projects,.financial-grid{display:grid;gap:16px}.team-project header h3,.financial-card header h3{display:flex;align-items:center;gap:7px}.team-scope{padding:16px;border-bottom:1px solid var(--line)}.team-scope>strong{display:block;font-size:9px;margin-bottom:9px;text-transform:uppercase;color:var(--muted)}.team-scope>div{display:flex;flex-wrap:wrap;gap:8px}.team-scope span{background:#f1f5fb;border-radius:7px;padding:7px 10px;font-size:9px;font-weight:700}.team-scope span small{display:block;margin-top:3px;color:var(--muted);font-weight:400}.team-members{display:grid;grid-template-columns:repeat(2,1fr)}.team-members article{padding:14px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.team-members article>b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8f0ff;color:#2965d1;font-size:9px}.team-members article>div{flex:1}.team-members article strong,.team-members article small{display:flex;align-items:center;gap:4px;font-size:9px}.team-members article small{color:var(--muted);margin-top:3px}.team-members article>span{font-size:8px;color:#2965d1}.financial-grid{grid-template-columns:repeat(2,1fr)}.financial-page .financial-grid{grid-template-columns:minmax(0,1fr)}.financial-page .financial-card{width:100%}.financial-card>header strong{font-size:12px}.chart-bars{padding:18px}.chart-row{margin-bottom:14px}.chart-row>span{display:flex;justify-content:space-between;font-size:9px;margin-bottom:6px}.chart-row small{color:var(--muted)}.chart-row>div{height:8px;background:#edf1f6;border-radius:8px;overflow:hidden}.chart-row i{display:block;height:100%;background:linear-gradient(90deg,#346fd7,#72a4ef);border-radius:8px}.financial-card footer{padding:11px 18px;border-top:1px solid var(--line);color:var(--muted);display:flex;gap:6px;font-size:8px}.pending-modal{width:min(900px,94vw)}.pending-layout{display:grid;grid-template-columns:330px 1fr;min-height:430px}.pending-list{border-right:1px solid var(--line);padding:10px}.pending-list>button{width:100%;text-align:left;border:0;border-radius:8px;background:transparent;padding:12px;cursor:pointer}.pending-list>button:hover,.pending-list>button.active{background:#edf3ff}.pending-list strong,.pending-list small,.pending-list span{display:block;font-size:9px}.pending-list small{color:var(--muted);margin:4px 0}.pending-detail{padding:24px}.pending-detail h3{margin:12px 0 18px}.pending-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pending-detail dl div{background:#f6f8fb;border-radius:8px;padding:10px}.pending-detail dt{font-size:8px;color:var(--muted)}.pending-detail dd{font-size:10px;font-weight:700;margin:3px 0 0}.pending-detail>p{font-size:10px;color:var(--muted)}.pending-detail textarea{min-height:64px}.status-pill{font-size:8px;color:#a45e0d;background:#fff1dc;border-radius:20px;padding:5px 8px}.decision-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}button.danger{color:#b42318;border:1px solid #f0b5b0;background:#fff1f0}@media(max-width:800px){.financial-grid,.team-members,.pending-layout{grid-template-columns:1fr}.pending-list{border-right:0;border-bottom:1px solid var(--line);max-height:220px;overflow:auto}}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.panel>header{height:53px;border-bottom:1px solid var(--line);padding:0 17px;display:flex;align-items:center;justify-content:space-between}.panel>header h3{font-size:12px;margin:0}.panel>header a,.panel>header span{font-size:9px;color:#3c6fc6;text-decoration:none;display:flex;align-items:center;gap:6px}.progress-row{display:flex;gap:11px;padding:14px 17px;border-bottom:1px solid #edf0f4}.progress-row>b{width:35px;height:35px;background:#e8f0ff;color:#3868be;border-radius:8px;display:grid;place-items:center;font-size:9px}.progress-row>div{flex:1;display:grid;grid-template-columns:1fr auto;align-items:start}.progress-row span strong,.progress-row span small{display:block}.progress-row span strong{font-size:10px}.progress-row span small{font-size:8px;color:#8b939f;margin-top:3px}.progress-row .percent{font-size:9px;font-weight:700}.progress{height:5px;background:#edf0f4;border-radius:5px;overflow:hidden;grid-column:1/-1;margin-top:8px}.progress i{height:100%;display:block;background:#2b69d8;border-radius:5px}.approval-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;padding:12px 16px;border-bottom:1px solid #edf0f4;align-items:center}.approval-row div strong,.approval-row div small,.approval-row div em,.approval-row aside strong{display:block}.approval-row div strong{font-size:9px}.approval-row div small,.approval-row div em{font-size:8px;color:#858e9b;margin-top:3px}.approval-row div em{font-style:normal;color:#a1a7b0}.approval-row aside{text-align:right}.approval-row aside strong{font-size:9px}.approval-row aside button,.approve{margin-top:6px;border:1px solid #b9ddcc;background:#ebf8f2;color:#177855;border-radius:6px;padding:5px 8px;font-size:8px}.empty,.loading,.screen-loader{padding:40px;text-align:center;color:#818a97;font-size:11px}.loading,.screen-loader{min-height:70vh;display:grid;place-items:center}.cover{height:112px;background:linear-gradient(135deg,#dce8f7,#a8bfdc);display:grid;place-items:center;position:relative;overflow:hidden}.cover.c1{background:linear-gradient(135deg,#e6e0d5,#b8b29f)}.cover.c2{background:linear-gradient(135deg,#d6e6dc,#9dbba7)}.cover>b{font-size:38px;color:#243b5dcc;text-shadow:0 1px 0 #ffffff80}.cover>img{width:100%;height:100%;object-fit:contain;padding:10px;background:#edf3fb}.cover>.badge{position:absolute;top:10px;left:10px}.finance{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:12px}.finance span+span{border-left:1px solid var(--line);padding-left:12px}.finance span{font-size:8px;color:#596576;font-weight:600}.finance strong{display:block;font-size:12px;color:#172238;font-weight:800;margin-top:4px}.badge{display:inline-block;width:max-content;border-radius:20px;padding:5px 8px;font-size:8px;font-weight:650;background:#eef1f5;color:#687484}.badge.execution,.badge.in_progress,.badge.available,.badge.active,.badge.scheduled{background:#e9f1ff;color:#2862c7}.badge.completed,.badge.approved{background:#e8f7f0;color:#197a59}.badge.cancelled{background:#fff0f0;color:#a94141;border:1px solid #f2c4c4}.badge.requested{background:#fff2e2;color:#bd6f19}.toolbar{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px 16px;margin-bottom:14px;display:flex;align-items:center}.toolbar label{font-size:8px;color:#858e9b}.toolbar select{display:block;border:0;font-weight:650;margin-top:3px;min-width:220px}.toolbar>span{margin-left:auto;font-size:9px;color:#697587;display:flex;align-items:center;gap:6px}.block-scope-row{position:relative;padding-left:calc(var(--block-depth) * 14px)}.block-scope-header{position:relative}.tree-disclosure{position:absolute;z-index:3;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;padding:0;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:#64748b}.tree-disclosure:hover{background:#dfe9f7;color:#174f9b}html[data-theme=dark] .tree-disclosure{color:#aebbd0}html[data-theme=dark] .tree-disclosure:hover{background:#293a56;color:#9ec1ff}.block-scope-row:before{content:"";position:absolute;left:calc(var(--block-depth) * 14px + 6px);top:0;bottom:0;border-left:1px solid var(--line)}.add-subblock{position:absolute;z-index:1;right:8px;top:50%;transform:translateY(-50%);width:23px;height:23px;border:1px solid var(--line);border-radius:6px;background:var(--surface, #ffffff);color:var(--blue);display:grid;place-items:center;padding:0}.edit-block-item{position:absolute;z-index:2;right:64px;top:50%;transform:translateY(-50%);width:23px;height:23px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface, #fff);color:var(--blue)}.block-scope-row:has(.add-subblock) .edit-block-item{right:64px}.block-scope-row:not(:has(.add-subblock)) .edit-block-item{right:36px}.no-blocks{color:var(--muted);font-size:9px;padding:5px 14px 14px}.scope-heading{margin-bottom:9px;padding:0 3px}.scope-heading small,.scope-heading strong{display:block}.scope-heading small{color:var(--muted);font-size:8px;font-weight:750;letter-spacing:.8px}.scope-heading strong{color:#18263d;font-size:14px;margin-top:3px}.block-form-modal{width:min(560px,100%)}.empty-state{padding:28px;text-align:center;color:#7d8796;font-size:10px}.history-meta{display:grid;gap:3px;gap:8px;font-size:9px;font-weight:700}.history-meta time{color:var(--muted);font-size:8px;font-weight:500}.history-action{display:block;color:var(--blue);font-size:7px;font-weight:800;letter-spacing:.7px;margin:4px 0 7px}.history-change{display:grid;grid-template-columns:1fr 1fr;gap:4px;align-items:start;padding:5px 0;border-top:1px dashed #dce2ea;font-size:8px}.history-change b{color:#526075;grid-column:1 / -1;font-size:8px}.history-change del,.history-change ins{padding:3px 5px;border-radius:5px;text-decoration:none;overflow-wrap:anywhere}.history-change del{color:#9d4e55;background:#fff0f1;text-decoration:line-through}.history-change ins{color:#19714f;background:#e8f7ef}.history-empty{padding:20px 11px;text-align:center;color:var(--muted);font-size:9px}.progress-input{position:relative}.modal .progress-input input{padding-right:34px}.progress-input>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#7d8796;font-size:10px}.modal textarea{display:block;width:100%;margin-top:6px;border:1px solid #dfe3e9;border-radius:8px;padding:11px;font:inherit;resize:vertical}.progress-row.clickable{cursor:pointer;border-radius:8px;transition:background .15s ease}.progress-row.clickable:hover,.progress-row.clickable:focus-visible{background:#f7f9fc;outline:none}.page-actions{display:flex;gap:8px}.carousel-favorite{position:absolute;top:10px;right:10px;width:38px;height:38px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.8);border-radius:10px;background:#0f172ab3;color:#fbbf24;box-shadow:0 4px 12px #0f172a38;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.carousel-favorite:hover{background:#172033;transform:translateY(-1px)}.carousel-favorite.active{background:#f59e0b;border-color:#fcd34d;color:#fff}.carousel-favorite:disabled{cursor:default;opacity:.8}.icon-only{width:32px;height:32px;padding:0;display:grid;place-items:center}.module-tabs{display:flex;gap:5px;margin-bottom:14px;padding:5px;width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface, #ffffff)}.module-tabs button{border:0;border-radius:7px;padding:9px 13px;background:transparent;color:#637085;display:flex;flex:1 1 0;min-width:0;align-items:center;gap:7px;font-size:9px;font-weight:700;white-space:nowrap}.module-tabs button>svg{width:clamp(16px,1.8vw,24px);height:clamp(16px,1.8vw,24px);flex:0 0 auto}.module-tabs button.active{color:#fff;background:var(--blue)}.module-tabs button>span{min-width:18px;padding:2px 5px;border-radius:10px;background:#dfe7f3;color:#59677b;font-size:7px}.module-tabs button.active>span{background:#ffffff30;color:#fff}@media(max-width:1300px){.module-tabs{width:100%;display:flex;gap:2px;padding:3px}.module-tabs button{min-width:0;width:100%;min-width:38px;flex:1 1 0;height:clamp(34px,6vw,44px);padding:0;justify-content:center;gap:0}.module-tabs button>svg{width:clamp(18px,5vw,26px);height:clamp(18px,5vw,26px)}.module-tabs .module-tab-label,.module-tabs button>span:not(.module-tab-label){display:none}}.crud-table>header>span{color:var(--muted)}.crud-table-head,.crud-table>article{display:grid;align-items:center;gap:12px;padding:11px 16px}.crud-table-head{background:#f7f9fc;border-bottom:1px solid var(--line);color:#798496;font-size:8px;font-weight:750}.crud-table>article{border-bottom:1px solid var(--line);font-size:9px}.cost-columns{grid-template-columns:minmax(220px,1.4fr) 1fr .7fr .8fr 80px}.crud-table article strong,.crud-table article small{display:block}.crud-table article small{color:var(--muted);font-size:8px;margin-top:3px}.crud-actions{display:flex;gap:5px;justify-content:flex-end}.crud-actions .icon{width:31px;height:31px}.crud-actions .danger{color:#b84343;border-color:#edcccc}.badge.pending{background:#fff2e2;color:#a96014}.badge.rejected{background:#fff0f0;color:#a94141}.badge.received{background:#e8f7f0;color:#197a59}.approved-quantity{display:grid;grid-template-columns:auto 70px auto;align-items:center;gap:5px;color:var(--muted);font-size:8px}.approved-quantity input{min-width:0;width:70px;padding:6px;border:1px solid var(--line);border-radius:6px;background:var(--surface, #ffffff);color:inherit}.danger-button{border:1px solid #e5bcbc;background:#fff0f0;color:#a53d3d;border-radius:8px;padding:9px 12px;display:flex;align-items:center;gap:5px}.transfer-available-stock{display:block;margin-top:6px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:#0b1429aa;z-index:50;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:13px;width:min(540px,100%);padding:23px;max-height:90vh;overflow-y:auto}.modal>header{display:flex;justify-content:space-between;margin-bottom:18px}.modal header small{font-size:8px;color:#818b99}.modal h2{font-size:20px;margin:4px 0}.modal header button{border:0;background:#f0f2f5;border-radius:50%;width:29px;height:29px}.modal label{display:block;font-size:9px;color:#596477;font-weight:650;margin:12px 0}.modal input,.modal select{display:block;width:100%;margin-top:6px;border:1px solid #dfe3e9;border-radius:8px;padding:11px;font-size:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.member-role-options{display:flex;flex-wrap:wrap;gap:7px 14px}.modal .member-role-options label{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:9px;font-weight:600}.modal .member-role-options input{width:auto;margin:0;padding:0}.member-permission-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.modal .member-permission-options .member-option{white-space:nowrap}.modal .member-identity,.modal .member-option{display:flex;align-items:center;gap:7px;margin:0}.modal .member-identity input,.modal .member-option input{width:auto}.member-identity strong,.member-identity small{display:block}.member-identity small{color:#8992a1;font-weight:400}.modal footer{display:flex;justify-content:flex-end;gap:7px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.team-audit-change>div{display:grid;gap:8px}.team-audit-change article{padding:10px;border:1px solid var(--line);border-left:4px solid #d97706;border-radius:8px}.team-audit-change article.removed{border-left-color:#d92d20}.team-audit-change article.added{border-left-color:#159455}.team-audit-change article>strong{display:block;margin-bottom:7px}.team-audit-change article p{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;margin:4px 0}.team-audit-change article small{color:var(--muted);font-weight:700}.building-mark{position:absolute;right:-80px;bottom:-60px;color:#ffffff0a}.error{background:#fff0f0;color:#b14444;padding:9px;border-radius:6px;font-size:9px}.success{background:#ecfdf3;color:#237a49;padding:10px 12px;border-radius:7px;font-size:10px;margin-bottom:14px}.alert-banner{margin-bottom:14px;border:1px solid #f1c0c0;box-shadow:0 8px 18px #b1444412}.form-link{display:block;text-align:right;color:var(--blue);font-size:9px;text-decoration:none;margin:-5px 0 12px}.managed-projects-section>header>div>div p{margin:4px 0 0;color:var(--muted);font-size:9px}.company-active-toggle{display:grid;grid-template-columns:35px 1fr;align-items:center;gap:7px;cursor:pointer}.company-active-toggle input{position:absolute;opacity:0;pointer-events:none}.company-active-toggle>span{width:35px;height:20px;border-radius:12px;background:#b9c1cc;padding:3px;transition:background .15s ease}.company-active-toggle>span:after{content:"";display:block;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000030;transition:transform .15s ease}.company-active-toggle input:checked+span{background:#26845f}.company-active-toggle input:checked+span:after{transform:translate(15px)}.company-active-toggle input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}.company-active-toggle b{font-size:8px;color:#536176}.stack-form{display:grid;gap:12px}.stack-form fieldset,.assignment-form fieldset{border:1px solid var(--line);border-radius:8px;padding:10px}.stack-form legend{font-size:9px;color:var(--muted)}label.check{display:flex;align-items:center;gap:7px;margin:6px 0}label.check input{width:auto;margin:0}.admin-list article{display:grid;grid-template-columns:1fr auto auto auto 30px;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid var(--line)}.user-profiles-modal>p{margin:0 0 14px;color:var(--muted)}.user-profile-options{display:grid;gap:8px;margin:0;padding:0;border:0}.user-profile-options .check{display:flex;align-items:center;gap:10px;margin:0;padding:11px;border:1px solid var(--line);border-radius:8px}.user-profile-options :is(b,small){display:block}.user-profile-options small{margin-top:2px;color:var(--muted)}.admin-list strong,.admin-list small,.pending-list small{display:block}.admin-list strong{font-size:10px}.admin-list small,.pending-list small{font-size:8px;color:var(--muted);margin-top:3px}.state-active,.state-inactive{font-size:8px;padding:4px 7px;border-radius:10px}.state-active{color:#237a49;background:#e9f9ef}.state-inactive{color:#a94b4b;background:#fff0f0}.pending-list{margin-top:15px;display:grid;gap:6px}.assignment-form fieldset{display:grid;grid-template-columns:1fr auto auto;align-items:center;margin:9px 0}.preference-options{display:grid;gap:12px;margin-top:18px}.theme-options{grid-template-columns:1fr 1fr}.font-options{grid-template-columns:repeat(3,1fr)}.preference-options button{min-height:82px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface, white);color:inherit;display:flex;align-items:center;gap:12px;text-align:left}.preference-options button:hover{border-color:#8ba9df}.preference-options button.selected{border-color:var(--blue);box-shadow:0 0 0 2px #2563dc20}.preference-options button>svg:last-child{margin-left:auto;color:var(--blue)}.preference-options strong,.preference-options small{display:block}.preference-options small{color:var(--muted);font-size:9px;margin-top:4px}.theme-preview{width:48px;height:48px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto}.light-preview{background:#edf3fc;color:#d08715}.dark-preview{background:#17233b;color:#a9c5ff}.font-options button{justify-content:center;position:relative}.font-options button>svg{position:absolute;right:12px;top:12px}.font-sample{color:var(--blue);font-weight:750}.font-sample.small{font-size:16px}.font-sample.medium{font-size:21px}.font-sample.large{font-size:26px}html[data-font-size=small] body{zoom:.92}html[data-font-size=large] body{zoom:1.1}html body .app{font-size:var(--font-body);font-weight:var(--weight-regular);line-height:1.45}html body .app :is(button,input,select,textarea){font-size:var(--font-body);font-weight:var(--weight-medium)}html body .app :is(label,small){font-size:var(--font-small);font-weight:var(--weight-regular);line-height:1.4}html body .app :is(strong,b){font-weight:var(--weight-semibold)}html body .app :is(h1,h2,h3,h4){font-weight:var(--weight-bold)}html body .app .page-header small,html body .app .nav-label,html body .app .history-action,html body .app .modal header small{font-size:var(--font-caption);font-weight:var(--weight-semibold)}html body .app .panel>header h3{font-size:var(--font-section);font-weight:var(--weight-semibold)}html body .app .panel>header :is(a,span),html body .app .badge{font-size:var(--font-small);font-weight:var(--weight-medium)}html[data-theme=dark]{--navy: #0b1220;--blue: #6697f3;--line: #303b4f;--muted: #9ca8ba;--surface: #192335;color:#e6ebf3;background:#101827}html[data-theme=dark] .modal header button{background:#2a3548;color:#e8edf5;border:1px solid #3b485d}html[data-theme=dark] .modal header button:hover{background:#354259;color:#fff}html[data-theme=dark] input:disabled{background:#222d40;color:#aeb8c8}html[data-theme=dark] .company-selector select{background:transparent;color:#fff}html[data-theme=dark] .company-selector select option{background:#182236;color:#fff}html[data-theme=dark] .crud-table-head{background:#202b3d;color:#b7c2d2}html[data-theme=dark] .module-tabs button{color:#b8c3d2}html[data-theme=dark] .module-tabs button.active{color:#fff}html[data-theme=dark] .history-change{border-top-color:#344158}html[data-theme=dark] .history-change b{color:#bdc8d8}html[data-theme=dark] .history-change del{color:#ffb0b5;background:#48282d}html[data-theme=dark] .history-change ins{color:#9be1bc;background:#1d4032}html[data-theme=dark] .scope-heading strong{color:#f1f5fa}html[data-theme=dark] .cover>b{color:#edf4ffdd;text-shadow:0 2px 4px #00000070}html[data-theme=dark] .badge{background:#303b4f;color:#d3dbe7}html[data-theme=dark] .success{background:#163829;color:#8be0ae}html[data-theme=dark] .error{background:#452426;color:#faa}.bulk-unit-profiles{margin:15px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.bulk-unit-profiles>header{min-height:52px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.bulk-unit-profiles>header strong,.bulk-unit-profiles>header small{display:block}.bulk-unit-profiles>header strong{font-size:10px}.bulk-unit-profiles>header small{margin-top:3px;color:var(--muted);font-size:8px}.modal .bulk-unit-profiles>header .bulk-add-type-button{flex:0 0 auto;width:auto;min-width:126px;height:34px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #8eb1eb;border-radius:8px;background:#edf4ff;color:#275eaf;font-size:9px;font-weight:750;white-space:nowrap}.modal .bulk-unit-profiles>header .bulk-add-type-button:hover{border-color:#5d8edb;background:#dfeaff;color:#174d9c}html[data-theme=dark] .modal .bulk-unit-profiles>header .bulk-add-type-button{border-color:#486a9d;background:#263b5f;color:#b8d1ff}html[data-theme=dark] .modal .bulk-unit-profiles>header .bulk-add-type-button:hover{border-color:#7098d3;background:#304a73;color:#fff}.bulk-unit-profiles>article{display:grid;grid-template-columns:90px minmax(170px,1fr) 130px 130px 34px;gap:9px;align-items:end;padding:11px 13px 24px;border-bottom:1px solid var(--line);position:relative}.bulk-unit-profiles>article:last-child{border-bottom:0}.bulk-unit-profiles article label{margin:0}.bulk-unit-profiles article .danger{height:34px;padding:0;display:grid;place-items:center}.bulk-profile-example{position:absolute;left:13px;bottom:7px;color:var(--blue);font-size:7px}@media(max-width:760px){.bulk-unit-profiles>header{align-items:flex-start;flex-direction:column}.modal .bulk-unit-profiles>header .bulk-add-type-button{align-self:stretch;width:100%}.bulk-unit-profiles>article{grid-template-columns:80px 1fr 34px}.bulk-unit-profiles>article label:nth-of-type(3),.bulk-unit-profiles>article label:nth-of-type(4){grid-column:span 1}.bulk-unit-profiles>article label:nth-of-type(2){grid-column:span 1}}.block-unit-name{display:grid;gap:2px;min-width:0}.block-unit-name strong,.block-unit-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-unit-name small{color:var(--muted)}.block-unit-status{padding:4px 7px;border-radius:999px;font-size:10px;white-space:nowrap}.block-unit-status.available{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent)}.block-unit-status.linked{color:var(--muted);background:color-mix(in srgb,var(--muted) 12%,transparent)}.block-linked-units{display:flex;flex-wrap:wrap;gap:6px}.block-linked-units span{padding:5px 8px;border-radius:7px;background:var(--surface-soft);color:var(--muted);font-size:11px}.block-form-modal input[readonly]{background:var(--surface-soft);color:var(--muted);cursor:not-allowed}.subblock-unit-selector{border-color:color-mix(in srgb,var(--blue) 35%,var(--line));background:color-mix(in srgb,var(--blue) 4%,var(--surface))}.tree-item-menus{position:absolute;z-index:4;right:8px;top:50%;transform:translateY(-50%);display:flex;gap:5px}.tree-menu{position:relative}.tree-menu[open]{z-index:80}.tree-menu>div{position:absolute;z-index:90;right:0;top:calc(100% + 6px);min-width:166px;display:grid;gap:3px;padding:6px;border:1px solid #d4ddea;border-radius:10px;background:#fff;box-shadow:0 14px 32px #0b142933}.tree-menu>div button{width:100%;min-height:30px;display:flex;align-items:center;gap:7px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--text);text-align:left;white-space:nowrap;font-size:10px}.tree-menu>div button:hover{background:#eef4ff;color:#245fb8}.tree-menu>div .danger-item{color:#c62828;border-top:1px solid #f0d5d5;border-radius:0 0 6px 6px}.tree-menu>div .danger-item:hover{background:#fff0f0;color:#a91515}html[data-theme=dark] .tree-menu>div{border-color:#42516a;background:#172338;box-shadow:0 16px 34px #02081780}html[data-theme=dark] .tree-menu>div button{color:#e4eaf3}html[data-theme=dark] .tree-menu>div button:hover{background:#263653;color:#8db8ff}.scope-tree-block{margin-left:calc(var(--tree-depth) * 18px);border-left:1px solid var(--line);padding-left:8px}.scope-tree-block>button,.scope-tree-phase button{display:flex;align-items:center;gap:7px;width:100%;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left}.scope-tree-block>button:hover,.scope-tree-phase button:hover{background:var(--surface-soft)}.scope-tree-block button span{display:flex;align-items:baseline;gap:7px}.scope-tree-block button small{color:var(--muted);font-size:8px}.scope-tree-phase{margin-left:21px;border-left:1px dashed var(--line);padding-left:8px}.scope-tree-phase button:before{content:"";width:9px;border-top:1px dashed var(--line)}.scope-tree-phase button.subphase{margin-left:18px;width:calc(100% - 18px)}.availability-list{max-height:520px;overflow-y:auto}.availability-list>article{padding:12px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px}.availability-list article>strong,.availability-list article>small{display:block}.availability-list article>strong{margin:7px 0 4px;font-size:9px}.availability-list article>small,.availability-list article>p{color:var(--muted);font-size:8px}.availability-list article>div{display:flex;gap:7px;justify-content:flex-end}.availability-help{margin:-5px 0 13px;padding:9px 10px;border-radius:7px;background:#edf4ff;color:#45658f;font-size:8px;line-height:1.5}.keys-crud{display:grid;grid-template-columns:280px 1fr;gap:18px}.keys-crud>form,.keys-crud>section{padding:16px;border:1px solid var(--line);border-radius:10px}.keys-crud>section article{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--line)}.keys-crud article strong,.keys-crud article small{display:block;font-size:9px}.keys-crud article small{color:var(--muted);margin-top:3px}.movement-history{border:1px solid var(--line);border-radius:10px;overflow:hidden}.movement-history article{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line)}.movement-history strong,.movement-history small{display:block;font-size:9px}.movement-history small,.movement-history p{color:var(--muted);font-size:8px;margin:4px 0 0}.movement-history>h3{margin:0;padding:11px 15px;border-bottom:1px solid var(--line);background:#f4f7fb;color:#526075;font-size:8px;letter-spacing:.5px;text-transform:uppercase}html[data-theme=dark] .availability-help{background:#203652;color:#b7cceb}html[data-theme=dark] .movement-history>h3{background:#202c40;color:#b9c6d8}html[data-theme=dark] .badge.cancelled{background:#46282d;color:#f2a5af;border-color:#714049}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#fff;padding:25px 18px 18px;display:flex;flex-direction:column}.mobile-sidebar-close,.mobile-sidebar-backdrop,.topbar .mobile-menu-button{display:none}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a{color:#aeb8ca;text-decoration:none;border-radius:8px;padding:11px 12px;display:flex;align-items:center;gap:11px;font-size:11px}.sidebar nav a:hover,.sidebar nav a.active{background:#22314d;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 #4b84ed}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;position:sticky;top:0;z-index:20;font-size:11px}.topbar>div span{color:#a4abb7;margin:0 8px}.topbar>section{margin-left:auto;display:flex;align-items:center;gap:8px}.global-search-backdrop{position:fixed;inset:0;z-index:100;background:#0f172a38}.global-search{position:absolute;top:78px;right:74px;width:min(640px,calc(100vw - 28px));max-height:calc(100vh - 94px);overflow:hidden;background:var(--surface, #fff);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 70px #0f172a3d}.global-search-title{padding:16px 18px 4px}.global-search-title strong,.global-search-title small{display:block}.global-search-title strong{font-size:13px;color:#172238}.global-search-title small{margin-top:4px;font-size:9px;color:#64748b}.global-search>header{height:58px;padding:0 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.global-search>header input{flex:1;border:0;outline:0;background:transparent;color:inherit;font-size:14px}.global-search>header button{border:0;background:transparent;color:#64748b;display:grid;place-items:center}.global-search-results{max-height:calc(100vh - 205px);overflow-y:auto;padding:8px}.global-search-results>p{margin:0;padding:28px 18px;text-align:center;color:#64748b;font-size:12px}.global-search-results>button{width:100%;display:grid;grid-template-columns:105px 1fr;gap:3px 12px;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left}.global-search-results>button:hover,.global-search-results>button:focus{background:#2563eb17;outline:0}.global-search-results>button span{grid-row:1 / 3;align-self:center;color:var(--blue);font-size:10px;font-weight:700;text-transform:uppercase}.global-search-results>button strong{font-size:12px}.global-search-results>button small{color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-center,.notification-trigger{position:relative}.notification-trigger.has-notices{color:#c65d0c;background:#fff3e5}.notification-trigger>i{position:absolute;top:-5px;right:-7px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:9px;background:#dc2626;color:#fff;border:2px solid #fff;font-size:7px;font-style:normal;font-weight:800}.notification-popover{position:absolute;top:44px;right:0;width:min(390px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 90px));background:var(--surface, #fff);border:1px solid var(--line);border-radius:13px;box-shadow:0 20px 55px #0f172a38;overflow:hidden;z-index:110}.notification-popover>header{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.notification-popover>header strong,.notification-popover>header small{display:block}.notification-popover>header strong{font-size:12px}.notification-popover>header small{margin-top:3px;color:#64748b;font-size:8px}.notification-popover>header button{border:0;background:transparent;color:#64748b}.notification-list{max-height:460px;overflow-y:auto;padding:7px}.notification-list>p{padding:30px 15px;margin:0;text-align:center;color:#64748b;font-size:10px}.notification-list>button{width:100%;border:0;border-radius:9px;background:transparent;padding:10px;display:flex;gap:10px;text-align:left;cursor:pointer}.notification-list>button:hover{background:#f2f6fc}.notification-list>button>span{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:8px;background:#edf3fc;color:#306dcc}.notification-list>button.urgent>span{background:#fff0eb;color:#d04b2b}.notification-list>button strong,.notification-list>button small{display:block}.notification-list>button strong{font-size:9px}.notification-list>button small{margin-top:4px;color:#64748b;font-size:8px;line-height:1.4}.notification-list>button>div{min-width:0;flex:1}.notification-list>button small{color:#7a8494;font-weight:700;text-transform:uppercase;letter-spacing:.45px}.notification-list>button ul{margin:5px 0 0;padding-left:14px;color:#64748b;font-size:8px;line-height:1.55}.notification-list>button ul li:first-child{color:#344054;font-weight:650}.notification-list>button.urgent ul li:first-child{color:#b9381f}.notification-popover>footer{padding:9px 14px;border-top:1px solid var(--line);color:#8993a2;background:#f8fafc;font-size:7px}.notification-popover.market-style{width:min(420px,calc(100vw - 28px));border-radius:2px;background:#fff;color:#111827}.notification-popover.market-style>header{min-height:53px;padding:0 17px;justify-content:center;position:relative}.notification-popover.market-style>header>strong{font-size:14px;color:#111827}.notification-popover.market-style>header>button{position:absolute;right:16px;padding:5px;cursor:pointer;color:#303641}.notification-groups{max-height:500px;overflow-y:auto;padding:10px 14px 14px}.notification-groups>p{padding:34px 12px;text-align:center;color:#687386;font-size:10px}.notification-group-row{width:100%;min-height:72px;display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:9px 7px;border:0;background:transparent;text-align:left;cursor:pointer}.notification-group-row:hover{background:#f7f8fa}.notification-category-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#fff0bd;color:#d99b00}.notification-category-icon.stock{background:#e8f8ef;color:#15815a}.notification-category-icon.key{background:#f1eaff;color:#7554bb}.notification-group-row>div strong,.notification-group-row>div small{display:block}.notification-group-row>div strong{font-size:11px;color:#151b27}.notification-group-row>div small{max-width:260px;margin-top:5px;color:#6c7584;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-group-row>b{min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:10px;background:#ef4057;color:#fff;font-size:8px}.notification-chevron{color:#1d2530;transition:transform .18s}.notification-group.expanded .notification-group-row .notification-chevron{transform:rotate(90deg)}.notification-reasons{margin:0 7px 7px 50px;border-left:1px solid #e2e6ec}.notification-detail-view .notification-reasons{margin:0;border-left:0}.notification-back{width:100%;min-height:46px;display:flex;align-items:center;gap:10px;padding:0 12px;border:0;border-bottom:1px solid #e6e9ee;background:#f8f9fb;color:#242b36;font-size:10px;font-weight:750;cursor:pointer}.notification-back:hover{background:#f0f3f7}.notification-reasons>button{width:100%;display:grid;grid-template-columns:7px minmax(0,1fr) 14px;align-items:start;gap:8px;border:0;border-bottom:1px solid #eef0f3;background:#fafbfc;padding:10px;text-align:left;cursor:pointer}.notification-reasons>button:hover{background:#f2f5f9}.notification-reasons>button>i{width:6px;height:6px;margin-top:4px;border-radius:50%;background:#e1a329}.notification-reasons>button>i.urgent{background:#ef4057}.notification-reasons strong{font-size:9px;color:#202735}.notification-reasons ul{margin:4px 0 0;padding-left:13px;color:#6c7584;font-size:8px;line-height:1.5}.notification-reasons>button>svg{margin-top:3px;color:#606978}.notification-popover.market-style>footer{font-size:8px;text-align:center}@media(max-width:700px){.global-search{top:72px;right:14px;left:14px;width:auto}.notification-popover{position:fixed;top:72px;right:14px}}html[data-theme=dark] .sidebar .profile{background:var(--navy)}html[data-theme=dark] .sidebar .profile-role-select{background:transparent;color:#9eabc0;border:0}html[data-theme=dark] .sidebar .profile-role-select option{background:var(--navy);color:#fff}.sidebar-nav-parent{position:relative;display:flex}.sidebar-nav-parent>a{flex:1;padding-right:38px}.sidebar-nav-parent>button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;padding:0;border:0;background:transparent;color:inherit;display:grid;place-items:center}.sidebar-nav-parent>button svg{transition:transform .2s ease}.sidebar-nav-parent>button.expanded svg{transform:rotate(180deg)}.sidebar nav .sidebar-subitem{margin-left:24px;padding-left:14px;font-size:12px}html[data-theme=dark] .notification-popover.market-style{background:#182235;color:#e8edf5;border-color:#36435a;box-shadow:0 24px 65px #020713b8}html[data-theme=dark] .notification-popover.market-style>header{background:#1c283c;border-color:#36435a}html[data-theme=dark] .notification-popover.market-style>header>strong{color:#f4f7fb}html[data-theme=dark] .notification-popover.market-style>header>button{color:#b9c5d6}html[data-theme=dark] .notification-popover.market-style>header>button:hover{color:#fff;background:#2a3850;border-radius:7px}html[data-theme=dark] .notification-groups{background:#182235}html[data-theme=dark] .notification-groups>p{color:#9eabbd}html[data-theme=dark] .notification-group-row{color:#e8edf5}html[data-theme=dark] .notification-group-row:hover{background:#222f45}html[data-theme=dark] .notification-group-row>div strong{color:#f0f4fa}html[data-theme=dark] .notification-group-row>div small{color:#a4b0c2}html[data-theme=dark] .notification-chevron{color:#b8c4d5}html[data-theme=dark] .notification-category-icon.pending{background:#49391b;color:#f3bd42}html[data-theme=dark] .notification-category-icon.stock{background:#193e34;color:#67d4ad}html[data-theme=dark] .notification-category-icon.key{background:#35294d;color:#c0a2f5}html[data-theme=dark] .notification-group-row>b{background:#f04b61;color:#fff}html[data-theme=dark] .notification-back{background:#202d42;color:#e8edf5;border-color:#36435a}html[data-theme=dark] .notification-back:hover{background:#293850}html[data-theme=dark] .notification-detail-view .notification-reasons>button{background:#182235;border-color:#303d52;color:#e8edf5}html[data-theme=dark] .notification-detail-view .notification-reasons>button:hover{background:#222f45}html[data-theme=dark] .notification-reasons strong{color:#f0f4fa}html[data-theme=dark] .notification-reasons ul{color:#aab5c5}html[data-theme=dark] .notification-reasons>button>svg{color:#9facc0}html[data-theme=dark] .notification-trigger>i{border-color:#192335}.brand>span,.login-logo>b{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#4285ff,#1b58d1);font-size:20px;font-weight:800}.login-page{position:fixed;inset:0;width:100%;height:100%;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:#fff}html.login-active,html.login-active body,body.login-active,body.login-active #root{width:100%;height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}.login-page>section{background:linear-gradient(145deg,#0f1931,#172b4e);color:#fff;padding:clamp(24px,5vh,45px) 8vw;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.login-logo{display:flex;align-items:center;gap:10px;z-index:1}.login-logo span strong,.login-logo span small{display:block}.login-logo span small{font-size:9px;color:#8898b5;margin-top:2px}.login-page>section>div:nth-child(2){max-width:550px;z-index:1;margin-bottom:clamp(18px,8vh,80px)}.login-page>section>div:nth-child(2)>small{font-size:8px;letter-spacing:1.4px;color:#7da4ec}.login-page h1{font-size:clamp(30px,4.2vw,43px);line-height:1.1;letter-spacing:-1.8px;margin:13px 0 17px}.login-page>section p{font-size:13px;line-height:1.7;color:#aeb9cc}.login-page>form{width:min(380px,78%);max-height:calc(100dvh - 32px);margin:auto}.login-page form>small{font-size:8px;letter-spacing:1.2px;color:#788496}.login-page form h2{font-size:27px;margin:7px 0 5px}.login-page form>p{font-size:10px;color:#818a98;margin:0 0 24px}.login-page form label{display:block;font-size:9px;color:#586477;font-weight:650;margin:13px 0}.login-page form input{display:block;width:100%;border:1px solid #dfe4eb;border-radius:8px;padding:11px;margin-top:6px}.login-page form>.primary{width:100%;padding:12px;margin-top:10px}.login-page form>em{display:block;text-align:center;font-size:8px;color:#939ba8;font-style:normal;margin-top:13px}.standalone-form{min-height:100vh;display:grid;place-items:center;padding:25px;background:#f4f7fb}.standalone-form form{width:min(430px,100%);padding:32px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px #1e293b12}.standalone-form h1{font-size:23px;margin:0 0 8px}.standalone-form p{color:var(--muted);font-size:11px;line-height:1.6}.standalone-form button{width:100%;margin:12px 0}.standalone-form>form>a{display:block;text-align:center;font-size:10px;color:var(--blue)}html[data-theme=dark] body,html[data-theme=dark] .app>main,html[data-theme=dark] .page,html[data-theme=dark] .standalone-form{background:#101827}@media(max-width:900px){.login-page{grid-template-columns:1fr;place-items:center}.login-page>section{display:none}.login-page>form{width:min(380px,calc(100% - 40px));padding:0}}@media(max-height:620px){.login-page>section{padding-block:20px}.login-page>section>div:nth-child(2){margin-bottom:8px}.login-page h1{margin-block:8px 10px;font-size:clamp(27px,3.6vw,36px)}.login-page>section p{margin-block:8px;line-height:1.45}.login-page form h2{margin-block:4px;font-size:24px}.login-page form>p{margin-bottom:12px}.login-page form label{margin:8px 0}.login-page form input{padding:9px 10px;margin-top:4px}.login-page form>.primary{padding:10px;margin-top:7px}}@media(max-height:440px){.login-page{place-items:center}.login-page>section{display:none}.login-page>form{grid-column:1 / -1;width:min(380px,calc(100% - 32px))}}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px}.metric{background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px;display:flex;align-items:center;gap:12px}.metric>span{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#e8f0ff;color:#2965d1}.metric>span.purple{background:#eeeaff;color:#7359cc}.metric>span.green{background:#e8f8f1;color:#178763}.metric>span.orange{background:#fff1e1;color:#cf7c20}.metric svg{width:18px}.metric small{display:block;font-size:8px;color:#5f6978;letter-spacing:.8px;font-weight:700}.metric strong{display:block;font-size:19px;line-height:1.15;color:#111b2e;font-weight:800;margin:4px 0}.metric p{font-size:8px;color:#626d7d;font-weight:500;margin:0}.metric-clickable{cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}.metric-clickable:hover,.metric-clickable:focus-visible{transform:translateY(-2px);border-color:#9ab7e8;box-shadow:0 8px 20px #17366b12;outline:none}.summary{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:15px}.summary article{padding:16px;border-right:1px solid var(--line)}.summary article:last-child{border:0}.summary small{font-size:8px;color:#828b99}.summary strong{font-size:19px;display:block;margin:5px 0}.summary p{font-size:9px;margin:0;color:#687486}.cost-summary{margin-bottom:14px}.admin-list .user-assignment-summary{margin-top:5px;line-height:1.45}html[data-theme=dark] .metric>span{background:#20395f;color:#8eb6ff}html[data-theme=dark] .metric>span.purple{background:#362e59;color:#c2adff}html[data-theme=dark] .metric>span.green{background:#193f35;color:#75d5ad}html[data-theme=dark] .metric>span.orange{background:#49341e;color:#f3b665}html[data-theme=dark] .metric strong{text-shadow:0 1px 1px #00000070}.tree-menu summary{list-style:none;width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid #b8c5d8;border-radius:7px;background:#f8fafc;color:#53647c;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.tree-menu summary::-webkit-details-marker{display:none}.tree-menu summary:hover{border-color:#7397cf;background:#eef4ff;color:#245fb8}.tree-menu[open] summary{border-color:#2f6fe4;color:#fff;background:#2f6fe4;box-shadow:0 4px 12px #2f6fe43d}.tree-add-menu summary{color:#146c43;border-color:#76b899;background:#f0fbf5}.tree-add-menu summary:hover{color:#fff;border-color:#198754;background:#198754}.tree-add-menu[open] summary{color:#fff;border-color:#198754;background:#198754;box-shadow:0 4px 12px #1987543d}html[data-theme=dark] .tree-menu summary{border-color:#50617a;background:#202c40;color:#d2dbea}html[data-theme=dark] .tree-add-menu summary{color:#75d5a8;border-color:#31775a;background:#17382c}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project-card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.project-card>section{padding:14px}.project-card h3{font-size:14px;color:#172238;font-weight:800;margin:0}.project-card p{display:flex;align-items:center;gap:4px;font-size:8px;color:#596576;margin:5px 0}.project-card>section>small{font-size:8px;color:#606c7c;font-weight:600}.project-progress{margin:15px 0}.project-progress>span{display:flex;justify-content:space-between;font-size:8px;color:#596576;font-weight:600}.project-progress>span b{color:#1d4f9f;font-size:10px}.active-project-bar{display:grid;grid-template-columns:46px minmax(210px,1fr) minmax(220px,.65fr) auto 20px;align-items:center;gap:14px;margin-bottom:17px;padding:14px 17px;background:linear-gradient(105deg,#edf4ff,#f8fbff);border:1px solid #aac4ef;border-left:4px solid var(--blue);border-radius:11px;box-shadow:0 5px 16px #245aa20d}.active-project-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--blue)}.active-project-copy small,.active-project-copy strong,.active-project-copy p{display:block}.active-project-copy small{color:#486b9f;font-size:8px;font-weight:800;letter-spacing:.8px}.active-project-copy strong{color:#142440;font-size:15px;margin-top:3px}.active-project-copy p{color:#66768d;font-size:8px;margin:3px 0 0}.active-project-bar label{color:#52647e;font-size:8px;font-weight:700}.active-project-bar select{display:block;width:100%;margin-top:5px;padding:8px 32px 8px 10px;border:1px solid #9db9e5;border-radius:7px;background:#fff;color:#172a49;font-size:10px;font-weight:700}.active-project-detail{display:flex;align-items:center;gap:6px;color:#49617f;font-size:9px;font-weight:650;white-space:nowrap}.active-project-check{color:#2d73d4}@media(max-width:900px){.active-project-bar{grid-template-columns:42px minmax(0,1fr) 20px;gap:10px;padding:12px}.active-project-bar>label{grid-column:1 / -1;min-width:0}.active-project-copy{min-width:0}.active-project-copy strong{overflow-wrap:anywhere}}.project-detail-hero{display:grid;grid-template-columns:1fr minmax(220px,.35fr);gap:30px;padding:25px;margin-bottom:14px}.project-detail-hero.compact{grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr);align-items:start}.project-detail-copy{min-width:0}.project-detail-copy .project-detail-progress{margin-top:18px}.project-detail-cover{min-height:260px;border-radius:12px;overflow:hidden;background:#edf3fb}.project-detail-cover.reduced{position:relative;min-height:170px;max-height:220px}.project-detail-cover img{width:100%;height:100%;object-fit:contain;padding:10px;background:#edf3fb;display:block}.project-gallery-panel{display:grid;gap:10px;min-width:0;align-content:start}.project-gallery-meta{min-width:0}.project-gallery-meta strong,.project-gallery-meta small{display:block}.project-gallery-meta strong{font-size:11px}.project-gallery-meta small{color:#788597;margin-top:3px;font-size:9px;overflow-wrap:anywhere}.project-gallery-carousel{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:8px;align-items:center}.project-gallery-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:56px;gap:8px;overflow-x:auto;padding-bottom:4px}.project-gallery-thumb{width:56px;height:56px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#edf3fb}.project-gallery-thumb.active{border-color:#6d98ea;box-shadow:inset 0 0 0 1px #8eb6ff}.project-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-detail-cover-empty-card{min-height:170px;border:1px dashed #b6c3d6;border-radius:12px;background:#f8fafc;display:grid;place-items:center;text-align:center;padding:20px}.project-detail-cover-empty-card strong,.project-detail-cover-empty-card small{display:block}.project-detail-cover-empty-card small{color:#788597;margin-top:6px}.project-detail-hero h2{margin:12px 0 8px}.project-detail-hero p{display:flex;align-items:center;gap:6px;color:#697587;font-size:10px}.project-detail-progress{align-self:center;padding:18px;background:#f8fafc;border-radius:10px}.project-detail-progress>strong,.project-detail-progress>span{display:block}.project-detail-progress>strong{font-size:28px;color:var(--primary)}.project-detail-progress>span{color:#7d8796;font-size:9px;margin:3px 0 12px}.project-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.project-detail-grid .panel{padding:18px}.project-detail-grid small,.project-detail-grid strong{display:flex;align-items:center;gap:5px}.project-detail-grid small{color:#818b99;font-size:8px;margin-bottom:8px}.project-detail-grid strong{font-size:16px}.project-team-detail>header{padding:15px 18px;border-bottom:1px solid var(--line)}.project-team-detail article{display:flex;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);font-size:9px}.project-team-detail article strong,.project-team-detail article small{display:block}.project-team-detail article small{color:#8992a0;margin-top:3px}.project-team-detail article>span{color:#536176}.project-team-inline-form{display:grid;grid-template-columns:minmax(180px,1.2fr) 140px 160px auto auto auto;gap:10px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);background:#f8fafc}.project-team-inline-form select,.project-team-inline-form input{margin:0}.project-team-inline-form .member-option.inline{display:inline-flex;align-items:center;gap:7px;margin:0;white-space:nowrap}.project-team-inline-form .member-option.inline input{width:auto;margin:0}.attachment-section{margin-top:14px}.attachment-section>header>div{display:grid;gap:3px}.attachment-section-body{padding:18px}.attachment-upload-form{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}.attachment-upload-form label{display:grid;gap:6px}.attachment-caption-field{max-width:100%}.attachment-caption-field input{width:100%}.attachment-caption-row{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:end}.attachment-submit{align-self:end;min-width:180px}.attachment-dropzone{min-height:104px;padding:12px;border:1px dashed #b6c3d6;border-radius:10px;background:#f8fafc;display:grid!important;grid-template-columns:64px minmax(0,1fr);gap:12px!important;align-items:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.attachment-dropzone:hover,.attachment-dropzone.dragging{border-color:#6d98ea;background:#eef4ff;box-shadow:inset 0 0 0 1px #8eb6ff}.attachment-dropzone input[type=file]{display:none}.attachment-dropzone-icon,.attachment-dropzone-preview{width:64px;height:64px;border-radius:10px}.attachment-dropzone-icon{display:grid;place-items:center;background:#dbe7fb;color:#2d61bc}.attachment-dropzone-preview{object-fit:cover;display:block}.attachment-dropzone-copy{min-width:0}.attachment-dropzone-copy strong,.attachment-dropzone-copy small{display:block}.attachment-dropzone-copy strong{color:#1d3558}.attachment-dropzone-copy small{color:#6c7d97;margin-top:4px}.attachment-selected-file{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:8px 11px;border-radius:8px;background:#edf4ff;color:#355989;font-size:9px;font-weight:700}.attachment-selected-file small{color:#6c7d97}.attachment-selected-thumb{width:26px;height:26px;border-radius:7px;object-fit:cover}.attachment-list{display:grid;gap:12px;margin-top:14px}.attachment-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.attachment-card.cover-selected{border-color:#8eb6ff;box-shadow:inset 0 0 0 1px #8eb6ff}.attachment-preview{width:110px;height:82px;border-radius:9px;overflow:hidden;background:#eef3fb;display:grid;place-items:center}.attachment-preview img{width:100%;height:100%;object-fit:cover}.attachment-file-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#dbe7fb;color:#2d61bc}.attachment-copy{min-width:0}.attachment-copy strong,.attachment-copy small{display:block}.attachment-copy strong{font-size:10px;overflow-wrap:anywhere}.attachment-copy small{color:#788597;margin-top:4px}.attachment-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.attachment-actions .danger{color:#b84343;border-color:#edcccc}.project-photo-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:stretch}.project-photo-cards .attachment-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:0;overflow:hidden;background:#fff}.project-photo-cards .attachment-preview{width:100%;height:170px;border-radius:0}.project-photo-cards .attachment-preview>a{display:block;width:100%;height:100%;cursor:zoom-in}.project-photo-cards .attachment-copy{padding:0 12px 12px}.project-photo-cards .attachment-copy strong{font-size:11px}.project-photo-cards .attachment-actions{position:absolute;top:9px;right:9px;gap:6px}.attachment-icon-action{width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:9px;background:#141f31b8;color:#fff;box-shadow:0 3px 10px #0f172a33;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.attachment-icon-action:hover{background:#172033;transform:translateY(-1px)}.attachment-icon-action.cover-action{color:#fbbf24}.attachment-icon-action.cover-action.active{background:#f59e0b;color:#fff;border-color:#fcd34d}.attachment-icon-action.danger{color:#fecaca;border-color:#fecacab3}.attachment-icon-action.danger:hover{background:#b42318;color:#fff}.attachment-edit-modal{width:min(520px,calc(100vw - 24px))}.attachment-edit-current{width:100%;max-height:260px;margin-bottom:14px;border-radius:10px;object-fit:contain;background:#edf3fb}.attachment-edit-modal label>small{display:block;margin-top:6px;color:var(--muted);font-weight:400}.project-modal{width:min(1240px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;display:grid;grid-template-columns:minmax(300px,.75fr) minmax(600px,1.55fr);grid-template-rows:auto auto auto auto auto;column-gap:24px}.project-modal>header,.project-modal>footer{grid-column:1 / -1}.project-modal>header{grid-row:1}.project-modal-header-actions{display:flex;align-items:center;gap:8px}.modal>header .project-history-button{width:auto;height:32px;padding:0 11px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface, #fff);color:var(--text);font-size:9px;font-weight:700}.modal>header .project-history-button:hover{border-color:#8eb1eb;background:#eef4ff;color:#245bb5}.project-modal>label:nth-of-type(1){grid-column:1;grid-row:2}.project-modal>.form-row{grid-column:1;grid-row:3}.project-modal>label:nth-of-type(2){grid-column:1;grid-row:4}.project-modal>label:nth-of-type(3){grid-column:1;grid-row:5}.project-modal>.project-team-fieldset{grid-column:2;grid-row:2 / 6;margin-top:12px;align-self:start}.project-modal>footer{grid-row:6}.project-card.clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.project-card.clickable:hover,.project-card.clickable:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px #1e293b12;outline:none}.project-title-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:9px}.project-title-row h3{min-width:0;overflow-wrap:anywhere}.project-actions{display:flex;align-items:center;justify-content:stretch;flex-wrap:nowrap;gap:6px;width:100%}.project-actions button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;width:100%;border:1px solid var(--line);background:#fff;color:#536176;border-radius:6px;padding:5px 7px;font-size:8px;white-space:nowrap;flex:1 1 0}.project-actions button span{display:inline}.project-actions button.danger{color:#b13d3d;border-color:#f0d0d0}.project-team-fieldset{border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:14px}.project-modal>*,.project-team-fieldset,.project-member-row{min-width:0}.project-team-fieldset legend{padding:0 6px;color:#25324a;font-size:11px;font-weight:700}.project-team-fieldset>p{color:#7a8494;font-size:9px;margin:0 0 10px}.project-team-error{margin-top:12px}.project-save-message{margin-right:auto;align-self:center;font-size:10px}.project-member-row{display:grid;grid-template-columns:minmax(145px,.75fr) minmax(280px,1.5fr);grid-template-areas:"identity roles" "identity custom" "identity permissions";align-items:start;gap:8px 14px;padding:12px 0;border-top:1px solid #edf0f4}.project-member-row>.member-identity{grid-area:identity}.project-member-row>.member-role-options{grid-area:roles}.project-member-row>input{grid-area:custom;min-width:0}.project-member-row>.member-permission-options{grid-area:permissions}.modal .project-member-row input,.modal .project-member-row select{margin:0;padding:8px}@media(max-width:1050px){.project-modal{display:block;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}.project-modal>.project-team-fieldset{margin-top:18px}}@media(max-width:620px){.project-member-row{grid-template-columns:1fr;grid-template-areas:"identity" "roles" "custom" "permissions"}.member-permission-options{gap:10px 16px}}.modal-backdrop.project-history-backdrop{display:flex;align-items:center;justify-content:center;padding:64px 24px;overflow:hidden}.project-history-backdrop>.project-history-modal{width:min(900px,calc(100vw - 48px));max-height:calc(100dvh - 128px);margin:0;overflow-y:auto}.project-edit-history{display:grid;gap:12px}.project-edit-history>article{padding:14px;border:1px solid var(--line);border-radius:11px}.project-edit-history>article>header{display:flex;justify-content:space-between;gap:14px;margin-bottom:11px}.project-edit-history>article>header strong,.project-edit-history>article>header small{display:block}.project-edit-history>article>header small,.project-edit-history time{margin-top:4px;color:var(--muted);font-size:9px}.project-edit-history>article>div{display:grid;gap:7px}.project-edit-history section{display:grid;grid-template-columns:135px minmax(0,1fr) 18px minmax(0,1fr);gap:8px;align-items:start;font-size:10px}.project-edit-history section del{color:#b42318;overflow-wrap:anywhere}.project-edit-history section ins{color:#157f3b;text-decoration:none;overflow-wrap:anywhere}.project-edit-history section>span{color:var(--muted);text-align:center}.project-edit-history .team-audit-change{display:grid;grid-template-columns:135px minmax(0,1fr)}html[data-theme=dark] .modal>header .project-history-button{background:#263247;border-color:#43516a;color:#e8edf5}html[data-theme=dark] .modal>header .project-history-button:hover{background:#304263;color:#b9d3ff}@media(max-width:700px){.modal-backdrop.project-history-backdrop{align-items:center;padding:32px 12px}.project-history-backdrop>.project-history-modal{width:calc(100vw - 24px);max-height:calc(100dvh - 64px)}.project-edit-history>article>header{display:block}.project-edit-history section{grid-template-columns:1fr}.project-edit-history section>span{display:none}}.managed-project-list{display:grid;gap:9px}.managed-project-list article{display:grid;grid-template-columns:42px minmax(190px,1.2fr) minmax(175px,.9fr) minmax(100px,.55fr) auto 96px;align-items:center;gap:13px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.managed-project-list article.inactive{background:#f5f6f8;opacity:.78}.managed-project-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;color:#3267bc;background:#e6efff}.managed-project-main strong,.managed-project-main small,.managed-project-main span,.managed-project-info span{display:block}.managed-project-main strong{font-size:11px}.managed-project-main small,.managed-project-main span,.managed-project-info span{color:#657184;font-size:8px;margin-top:4px}.managed-project-main span{display:flex;align-items:center;gap:3px}.managed-project-info b{color:#28364d;margin-left:3px}.project-edit-button{display:inline-flex;align-items:center;gap:5px}.modal.project-audit-modal{width:min(1080px,100%);max-height:92vh}.project-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.85fr);gap:22px;align-items:start}.project-edit-fields{min-width:0}.project-history{max-height:55vh}html[data-theme=dark] .topbar,html[data-theme=dark] .panel,html[data-theme=dark] .metric,html[data-theme=dark] .project-card,html[data-theme=dark] .toolbar,html[data-theme=dark] .summary,html[data-theme=dark] .modal,html[data-theme=dark] .standalone-form form,html[data-theme=dark] .icon,html[data-theme=dark] .project-actions button,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:var(--surface);color:#e6ebf3;border-color:var(--line)}html[data-theme=dark] .metric,html[data-theme=dark] .project-card{box-shadow:0 8px 22px #05091238}html[data-theme=dark] .project-team-inline-form{background:#202b3d}html[data-theme=dark] .active-project-bar{background:linear-gradient(105deg,#17263d,#192335);border-color:#385a8c;border-left-color:var(--blue)}html[data-theme=dark] .attachment-card,html[data-theme=dark] .attachment-dropzone,html[data-theme=dark] .project-gallery-thumb,html[data-theme=dark] .project-detail-cover-empty-card,html[data-theme=dark] .project-detail-cover{background:#202b3d}html[data-theme=dark] .project-gallery-thumb.active{border-color:#6c98ea;box-shadow:inset 0 0 0 1px #6c98ea}html[data-theme=dark] .attachment-dropzone.dragging,html[data-theme=dark] .attachment-dropzone:hover{background:#23324a;border-color:#6c98ea}html[data-theme=dark] .attachment-card.cover-selected{border-color:#6c98ea;box-shadow:inset 0 0 0 1px #6c98ea}html[data-theme=dark] .attachment-file-icon{background:#29446b;color:#a9c8ff}html[data-theme=dark] .attachment-selected-file{background:#213654;color:#c8dcff}html[data-theme=dark] .attachment-selected-file small,html[data-theme=dark] .attachment-copy small,html[data-theme=dark] .attachment-dropzone-copy small{color:#b8c3d2}html[data-theme=dark] .attachment-dropzone-icon{background:#29446b;color:#a9c8ff}html[data-theme=dark] .managed-project-list article{background:#172235}html[data-theme=dark] .managed-project-list article.inactive{background:#131c2a}html[data-theme=dark] .managed-project-main small,html[data-theme=dark] .managed-project-main span,html[data-theme=dark] .managed-project-info span{color:#b8c3d2}html[data-theme=dark] .managed-project-info b{color:#f1f5fa}html[data-theme=dark] .active-project-copy small,html[data-theme=dark] .active-project-detail,html[data-theme=dark] .active-project-bar label{color:#a9bddd}html[data-theme=dark] .active-project-copy strong,html[data-theme=dark] .metric strong,html[data-theme=dark] .project-card h3,html[data-theme=dark] .finance strong{color:#fff}html[data-theme=dark] .active-project-copy p,html[data-theme=dark] .metric small,html[data-theme=dark] .metric p,html[data-theme=dark] .project-card p,html[data-theme=dark] .project-card>section>small,html[data-theme=dark] .project-progress>span,html[data-theme=dark] .finance span{color:#c5cedb}html[data-theme=dark] .project-progress>span b{color:#8eb6ff}html[data-theme=dark] .project-card .finance{border-top-color:#3a465a}html[data-theme=dark] .project-card .finance span+span{border-left-color:#3a465a}html[data-theme=dark] .project-card .cover{background:linear-gradient(135deg,#274261,#18283e)}html[data-theme=dark] .project-card .cover.c1{background:linear-gradient(135deg,#4a4132,#29251f)}html[data-theme=dark] .project-card .cover.c2{background:linear-gradient(135deg,#29483b,#192d27)}html[data-theme=dark] .project-detail-cover{background:#202b3d}html[data-theme=dark] .project-gallery-meta small,html[data-theme=dark] .project-detail-cover-empty-card small{color:#b8c3d2}@media(min-width:1351px){.project-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1050px){.purchase-detail-layout,.purchase-detail-layout.with-history,.inventory-grid,.project-edit-layout{grid-template-columns:1fr}.managed-project-list article{grid-template-columns:42px 1fr 1fr auto}.managed-project-info:nth-of-type(2),.managed-project-list .company-active-toggle{grid-column:auto}.project-edit-button{grid-column:2;width:max-content}.managed-company-list article{grid-template-columns:44px 1fr 1fr 100px}.managed-company-capacity{grid-column:2 / 4}.active-project-bar{grid-template-columns:46px 1fr minmax(200px,.7fr) 20px}.active-project-detail{display:none}.planning-workspace{grid-template-columns:210px minmax(0,1fr)}.metrics,.project-team-inline-form{grid-template-columns:1fr 1fr}.project-actions{gap:5px}.project-actions button{padding:5px 6px;font-size:7px}.request-table>article{grid-template-columns:34px 1fr auto}.request-table article>div:nth-of-type(2),.request-table article>div:nth-of-type(3){display:none}}@media(min-width:993px)and (max-width:1110px){.project-grid{grid-template-columns:1fr 1fr}}@media(min-width:993px)and (max-width:1110px){.project-actions{justify-content:stretch}.project-actions button{gap:0}.project-actions button svg{display:none}.project-actions button span{display:inline}}@media(max-width:992px){.project-title-row{gap:8px}.project-actions{justify-content:flex-start}.project-actions button{width:31px;height:31px;padding:0;gap:0;flex:0 0 31px}.project-actions button span{display:none}.project-actions button svg{width:14px;height:14px}}@media(max-width:720px){.purchase-meta,.stock-detail-summary{grid-template-columns:1fr 1fr}.purchase-detail-items article{grid-template-columns:1fr}.sidebar{display:flex;width:min(290px,86vw);z-index:80;transform:translate(-105%);transition:transform .22s ease;box-shadow:14px 0 40px #05091455;overflow-y:auto;overscroll-behavior:contain}.sidebar.mobile-open{transform:translate(0)}.mobile-sidebar-close{display:grid;place-items:center;position:absolute;top:17px;right:14px;width:32px;height:32px;border:1px solid #354561;border-radius:8px;background:#1c2a44;color:#d8e2f2;z-index:1}.mobile-sidebar-backdrop{display:block;position:fixed;inset:0;z-index:70;border:0;padding:0;background:#07101f99;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.mobile-menu-open .mobile-sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}.topbar .mobile-menu-button{display:grid;flex:0 0 auto}.sidebar .brand{padding-right:42px}.sidebar nav a{min-height:43px;font-size:12px}.sidebar nav a svg{width:19px;height:19px;flex:0 0 auto}.app>main{margin:0;width:100%}.topbar{height:60px;padding:0 12px;gap:8px}.page{padding:18px 12px 30px;min-width:0}.topbar>div{display:none}.topbar>section{min-width:0;gap:6px}.topbar>section .primary{padding:9px 10px;white-space:nowrap}.metrics,.metrics.commercial,.dashboard-grid,.commercial-grid,.summary{grid-template-columns:1fr}.page-header{gap:10px;align-items:flex-start;flex-wrap:wrap}.page-header .primary{padding:9px}.phase-table{overflow:auto;-webkit-overflow-scrolling:touch}.phase-table>*{min-width:720px}.form-row{grid-template-columns:1fr}.project-modal{display:block;max-height:90vh;overflow-y:auto}.modal-backdrop{padding:8px;align-items:start;overflow-y:auto}.modal{margin:auto 0;padding:17px;max-height:calc(100dvh - 16px);border-radius:11px}.modal>header{gap:10px}.modal h2{font-size:18px}.project-member-row{grid-template-columns:1fr 1fr}.member-identity{grid-column:1 / -1}.settings-grid,.settings-form,.theme-options,.font-options,.project-detail-hero,.project-detail-grid,.project-detail-hero.compact,.project-team-inline-form{grid-template-columns:1fr}.project-detail-cover.reduced{min-height:150px;max-height:180px}.project-gallery-carousel{grid-template-columns:32px minmax(0,1fr) 32px}.project-gallery-thumbs{grid-auto-columns:52px}.project-gallery-thumb{width:52px;height:52px}.attachment-upload-form,.attachment-card,.attachment-caption-row{grid-template-columns:1fr}.attachment-submit{min-width:0;width:100%}.attachment-dropzone{grid-template-columns:54px minmax(0,1fr)}.attachment-dropzone-icon,.attachment-dropzone-preview{width:54px;height:54px}.attachment-preview{width:100%;height:180px}.attachment-actions{justify-content:flex-start}.page-actions{flex-wrap:wrap}.summary article{border-right:0;border-bottom:1px solid var(--line)}.summary article:last-child{border-bottom:0}.request-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.module-tabs{width:100%;overflow-x:auto}.module-tabs button{flex:1 0 auto;justify-content:center}.crud-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.crud-table>header,.crud-table-head,.crud-table>article{min-width:700px}.request-table>header,.request-table>article{min-width:620px}.admin-list article{grid-template-columns:1fr auto 30px}.admin-list article .secondary{grid-column:1 / -1;justify-self:start}.assignment-form fieldset{grid-template-columns:1fr;gap:7px}.preference-options button{min-width:0}.phase-detail-modal,.project-audit-modal{width:100%}.active-project-bar{grid-template-columns:42px 1fr 20px}.active-project-bar label{grid-column:1 / -1}.planning-workspace{grid-template-columns:1fr}.managed-company-list article{grid-template-columns:44px 1fr}.managed-project-list article{grid-template-columns:42px 1fr}.managed-project-info,.managed-project-list .company-active-toggle,.managed-project-list .project-edit-button,.managed-company-contact,.managed-company-capacity,.company-active-toggle{grid-column:2}.phase-detail-grid{grid-template-columns:1fr}.history-change{grid-template-columns:1fr 1fr}.history-change b{grid-column:1 / -1}.phase-detail-modal>header{flex-wrap:wrap}}@media(max-width:700px){.project-grid{grid-template-columns:1fr}}.report-open-button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.report-backdrop{align-items:center;padding:48px 36px;overflow:hidden}.report-modal{width:min(1180px,calc(100vw - 72px));max-height:calc(100dvh - 96px);padding:0;overflow:hidden;display:flex;flex-direction:column}.report-modal>.report-toolbar{flex:0 0 auto;padding:16px 20px;border-bottom:1px solid var(--line)}.report-toolbar>div:last-child{display:flex;align-items:center;gap:8px}.modal .report-toolbar .report-orientation-toggle{width:38px;min-width:38px;height:36px;padding:0;display:grid;place-items:center;border-radius:8px;color:var(--blue)}.modal .report-toolbar .report-print{width:auto;height:36px;padding:8px 13px;border-radius:8px;display:inline-flex;gap:7px}.report-document{min-height:0;flex:1 1 auto;padding:28px 34px 34px;overflow:auto;color:#182236;background:#fff}.report-heading{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-bottom:20px;border-bottom:2px solid #1f4c8f}.report-heading small,.report-summary small,.report-cost-totals small{color:#64748b;font-size:9px;letter-spacing:.8px}.report-heading h1,.report-heading h2{margin:5px 0}.report-heading p{margin:0;color:#64748b}.report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 24px}.report-summary>span,.report-cost-totals>span{padding:12px;border:1px solid #dce3ed;border-radius:8px;display:flex;flex-direction:column;gap:5px}.report-section{margin-top:26px;break-inside:avoid}.report-section h3{margin:0 0 10px;font-size:15px;color:#17355f}.report-section table{width:100%;border-collapse:collapse;font-size:10px}.report-section th{text-align:left;color:#526177;background:#f1f5f9}.report-section th,.report-section td{border:1px solid #dce3ed;padding:8px;vertical-align:top}.report-section td small{display:block;margin-top:3px;color:#64748b}.report-tree{display:grid;gap:10px}.report-print-structure{display:none}.report-tree-node{margin-left:calc(var(--report-depth) * 22px);border:1px solid #d7e0ec;border-left:4px solid #608bd0;border-radius:9px;padding:10px;background:#fff;break-inside:avoid}.report-tree-node>header{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;margin-bottom:8px}.report-tree-node>header span{padding:3px 6px;border-radius:5px;background:#e8f0ff;color:#245aab;font-size:8px;font-weight:800;letter-spacing:.6px}.report-tree-node>header strong{font-size:12px}.report-tree-node>header em{color:#64748b;font-size:9px;font-style:normal}.report-tree-node>p{margin:8px 0 0;color:#526177;font-size:9px}.report-tree-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.report-tree-details>span{display:grid;gap:2px;padding:6px 8px;border-radius:6px;background:#f6f8fb;font-size:9px}.report-tree-details small{color:#718096;font-size:8px}.report-block-node{border-left-color:#245aab;background:#f9fbff}.modal .report-tree-toggle{width:auto;min-width:116px;height:27px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 8px;border:1px dashed #8a99ad;border-radius:999px;background:#fff;color:#526177;font-size:8px;font-weight:700;box-shadow:none}.modal .report-tree-toggle:hover{border-style:solid;border-color:#3f679e;background:#edf3fb;color:#244c82}.report-tree-content>.report-tree-node{margin-top:8px}.report-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:9px}.report-photo-gallery>a{min-width:0;padding:5px;border:1px solid #d7e0ec;border-radius:7px;background:#fff;color:#40516a;text-decoration:none;break-inside:avoid}.report-photo-gallery img{display:block;width:100%;height:72px;border-radius:5px;object-fit:cover;background:#eef2f7}.report-photo-gallery small{display:block;margin-top:5px;overflow:hidden;color:#526177;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.report-all-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-all-photos>h3,.report-all-photos>p{grid-column:1 / -1}.report-all-photos>article{display:grid;grid-template-rows:auto 1fr;gap:7px;padding:8px;border:1px solid #d7e0ec;border-radius:8px;background:#fff;break-inside:avoid}.report-all-photos>article>div{display:grid;gap:3px}.report-all-photos>article small{color:#64748b;font-size:8px}.report-all-photos a,.report-all-photos img{display:block;width:100%}.report-all-photos img{height:150px;border-radius:6px;object-fit:contain;background:#f3f6fa}.report-cost-totals{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.report-cost-totals .planned{background:#f6f8fb;border-color:#b9c7da}.report-cost-totals .total{background:#e8f0ff;border-color:#9db8e6}.report-history-section>article{border:1px solid #dce3ed;border-radius:8px;padding:11px;margin-bottom:8px;break-inside:avoid}.report-history-section>article>header{display:flex;justify-content:space-between;gap:14px;margin-bottom:6px}.report-history-section time{color:#64748b;font-size:9px}.report-history-section p{margin:5px 0 0;display:grid;grid-template-columns:130px 1fr 1fr;gap:8px;font-size:10px}.report-history-section del{color:#b42318}.report-history-section ins{color:#157f3b;text-decoration:none}.report-footer{margin-top:30px;padding-top:12px;border-top:1px solid #dce3ed;color:#64748b;font-size:9px;text-align:center}html[data-theme=dark] .report-document{color:#182236;background:#fff}html[data-theme=dark] .report-document h1,html[data-theme=dark] .report-document h2,html[data-theme=dark] .report-document h3,html[data-theme=dark] .report-document strong{color:#182236}@media(max-width:760px){.phase-detail-backdrop,.report-backdrop{padding:24px 12px}.modal.phase-detail-modal,.report-modal{width:100%;max-height:calc(100dvh - 48px)}.report-heading,.report-summary,.report-cost-totals{grid-template-columns:1fr}.report-document{padding:20px 16px}.report-section{overflow-x:auto}.report-section table{min-width:680px}}@media print{@page{size:A4 landscape;margin:8mm}html,body,#root{width:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important}body *{visibility:hidden!important}.report-modal,.report-modal *{visibility:visible!important}.report-backdrop{position:absolute!important;inset:0!important;width:100%!important;height:auto!important;min-height:0!important;display:block!important;overflow:visible!important;background:#fff!important}.report-modal{position:static!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;box-shadow:none!important;border:0!important;border-radius:0!important}.report-toolbar,.report-tree-toggle{display:none!important}.report-structure>.report-tree{display:none!important}.report-print-structure{display:block!important;width:100%!important;min-width:0!important;overflow:visible!important}.report-print-planning-group{width:100%;min-width:0;display:block}.report-print-planning-group+.report-print-planning-group{break-before:page;page-break-before:always}.report-print-planning-group>header{margin-bottom:8px;padding:10px 12px;border:1px solid #9bb5dc;border-left:5px solid #245aab;border-radius:6px;background:#edf4ff;break-inside:avoid;page-break-inside:avoid}.report-print-planning-group.general>header{border-left-color:#17355f;background:#e7eef8}.report-print-planning-group>header small{color:#526177;font-size:6.5pt;font-weight:800;letter-spacing:.6px}.report-print-planning-group>header h2{margin:3px 0;color:#17355f;font-size:14pt}.report-print-planning-group>header p{margin:0;color:#526177;font-size:7.5pt}.report-print-planning-group>h3{margin:9px 0 6px;padding-bottom:4px;border-bottom:1px solid #b9c7da;color:#17355f;font-size:9pt;break-after:avoid;page-break-after:avoid}.report-print-planning-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:9px;break-inside:avoid;page-break-inside:avoid}.report-print-planning-summary>span{min-width:0;display:grid;gap:2px;padding:6px 8px;border:1px solid #d7e0ec;border-radius:5px}.report-print-planning-summary small{color:#64748b;font-size:6pt}.report-print-planning-summary b{font-size:7.5pt;overflow-wrap:anywhere}.report-print-planning-rows{display:block!important;width:100%;min-width:0;overflow:visible!important}.report-print-row{width:calc(100% - (var(--print-depth) * 8px))!important;min-width:0!important;margin:0 0 5px calc(var(--print-depth) * 8px)!important;padding:6px 8px!important;display:grid!important;grid-template-columns:minmax(120px,.8fr) minmax(0,2fr);align-items:center;gap:8px;box-sizing:border-box;border:1px solid #d7e0ec;border-left:3px solid #245aab;border-radius:5px;break-inside:avoid!important;page-break-inside:avoid!important;overflow:visible!important}.report-print-row.phase{border-left-color:#2f9c69}.report-print-title{min-width:0;display:grid;gap:2px}.report-print-title span{color:#526177;font-size:6.5pt;font-weight:700;letter-spacing:.4px}.report-print-title strong{min-width:0;font-size:8pt;overflow-wrap:anywhere;word-break:break-word}.report-print-data{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:5px}.report-print-data>span{min-width:0;display:grid;gap:1px;font-size:7pt;overflow-wrap:anywhere;word-break:break-word}.report-print-data small{color:#64748b;font-size:6pt}.report-tree-node>header{grid-template-columns:auto 1fr auto}.report-tree,.report-tree-content{width:100%!important;min-width:0!important;max-width:100%!important;overflow:visible!important}.report-tree-node{width:100%!important;min-width:0!important;max-width:100%!important;margin-left:0!important;box-sizing:border-box!important;overflow:visible!important;break-inside:auto!important;page-break-inside:auto!important}.report-tree-content>.report-tree-node{width:calc(100% - 10px)!important;margin-top:7px!important;margin-left:10px!important}.report-tree-node>header{min-width:0!important;break-inside:avoid!important;page-break-inside:avoid!important}.report-tree-node>header strong,.report-tree-node>header em{min-width:0!important;overflow-wrap:anywhere!important;word-break:break-word!important}.report-tree-details{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important;break-inside:avoid!important;page-break-inside:avoid!important}.report-tree-details>span{min-width:0!important;overflow-wrap:anywhere!important;word-break:break-word!important}.report-tree-node>.report-tree-content>p,.report-photo-gallery{break-inside:avoid!important;page-break-inside:avoid!important}.report-document{width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;font-size:9pt}.report-heading,.report-summary,.report-cost-totals{break-inside:avoid;page-break-inside:avoid}.report-section{overflow:visible!important;break-inside:auto!important;page-break-inside:auto!important}.report-section h3{break-after:avoid;page-break-after:avoid}.report-section table{width:100%!important;min-width:0!important;table-layout:fixed;break-inside:auto;page-break-inside:auto;font-size:7.5pt}.report-section thead{display:table-header-group}.report-section tfoot{display:table-footer-group}.report-section tr{break-inside:avoid;page-break-inside:avoid;page-break-after:auto}.report-all-photos{display:grid!important;grid-template-columns:repeat(3,1fr)!important;overflow:visible!important}.report-all-photos>article{break-inside:avoid!important;page-break-inside:avoid!important}.report-all-photos img,.report-photo-gallery img{visibility:visible!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-section th,.report-section td{padding:5px;overflow-wrap:anywhere;word-break:break-word}.report-history-section>article{break-inside:avoid;page-break-inside:avoid}.report-history-section p{overflow-wrap:anywhere;word-break:break-word}.report-footer{break-inside:avoid;page-break-inside:avoid}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.block-report-item{position:absolute;z-index:2;right:92px;top:21px;width:23px;height:23px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--blue)}.notification-category-icon.planning{background:#e9efff;color:#315fc4}.planning-workspace{display:grid;grid-template-columns:245px minmax(0,1fr);gap:15px;align-items:start}.planning-scopes{overflow:hidden}.planning-scopes>header{padding:0 12px 0 15px}.planning-scopes>header>div{display:flex;align-items:center;gap:7px}.planning-scopes .icon{width:29px;height:29px}.planning-scope{width:100%;min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent;color:#59677b;padding:12px 11px;display:flex;align-items:center;gap:9px;text-align:left}.planning-scope:hover{background:#f4f7fb}.planning-scope.active{background:#eaf2ff;color:#205cb9;box-shadow:inset 3px 0 var(--blue)}.planning-scope span,.planning-scope strong,.planning-scope small{display:block;min-width:0}.planning-scope strong{color:inherit;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-scope small{color:var(--muted);font-size:8px;margin-top:3px}.block-scope-header:has(>.tree-disclosure) .planning-scope{padding-left:34px}.planning-sidebar-phase{position:relative}.planning-sidebar-phase:has(>.phase-disclosure)>button:not(.phase-disclosure){padding-left:25px}.tree-disclosure.phase-disclosure{left:2px;width:18px;height:18px}.block-scope-header .planning-scope{padding-right:72px;min-height:58px}.planning-scope-row{position:relative}.planning-scope-row .planning-scope{padding-right:38px}.delete-planning-item{position:absolute;z-index:2;right:36px;top:50%;transform:translateY(-50%);width:23px;height:23px;padding:0;display:grid;place-items:center;border:1px solid color-mix(in srgb,#dc2626 45%,var(--line));border-radius:6px;background:var(--surface, #fff);color:#dc2626}.block-scope-row:not(:has(.add-subblock)) .delete-planning-item{right:8px}.planning-scope-row .delete-planning-item{right:8px}.delete-planning-item:hover:not(:disabled),.phase-delete-button:hover:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff}.phase-delete-button{color:#dc2626;border-color:color-mix(in srgb,#dc2626 45%,var(--line))}.planning-content{min-width:0}.phase-table>.table-head{display:grid;grid-template-columns:44px minmax(220px,1.4fr) minmax(190px,.8fr) minmax(220px,1fr) minmax(120px,.7fr) 18px;gap:12px;height:38px;background:#f8f9fb;font-size:8px;font-weight:750;color:#828b99}.phase-table>.table-head>span:first-child{grid-column:1 / 3}.phase-table>.table-head>span:nth-child(2){grid-column:3}.phase-table>.table-head>span:nth-child(3){grid-column:4}.phase-table>.table-head>span:nth-child(4){grid-column:5}.phase-row{display:grid;grid-template-columns:44px minmax(220px,1.4fr) minmax(190px,.8fr) minmax(220px,1fr) minmax(120px,.7fr) 18px;gap:12px;align-items:center;padding:14px 17px;border-bottom:1px solid var(--line);font-size:9px}.phase-row.clickable{cursor:pointer;transition:background .15s ease}.phase-row.clickable:hover,.phase-row.clickable:focus-visible{background:#f8fafc;outline:none}.phase-row.subphase-row{position:relative;width:100%;margin-left:0;box-sizing:border-box;background:#f7f9fc;border-left:0}.phase-row.subphase-row:before{content:"";position:absolute;inset:0 auto 0 calc(17px + (18px * var(--phase-depth)));width:3px;background:#8aa4d6}.phase-row.subphase-row>div:first-of-type{padding-left:calc(24px * var(--phase-depth))}.phase-row.subphase-row:hover,.phase-row.subphase-row:focus-visible{background:#eef3fb}.phase-row.subphase-row>b{color:#42679f;font-size:8px}.phase-row.subphase-row>div:first-of-type strong{color:#385578}.phase-row.subphase-row>div:first-of-type small{color:#6682a8;font-weight:700;letter-spacing:.04em}.phase-chevron{color:#98a1af}.modal.phase-detail-modal{width:min(1160px,calc(100vw - 72px));height:auto;max-height:calc(100dvh - 96px);overflow:hidden;display:flex;flex-direction:column;container-type:inline-size;container-name:phase-detail}.phase-detail-backdrop{align-items:center;padding:48px 36px;overflow:hidden}.phase-detail-modal>header{align-items:flex-start;gap:18px;flex:0 0 auto}.phase-detail-modal>header>div:first-child{min-width:0}.phase-detail-modal>header h2{overflow-wrap:anywhere}.phase-detail-layout{display:grid;grid-template-columns:minmax(520px,1fr) minmax(280px,310px);gap:18px;align-items:start;min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding-right:5px}.phase-detail-main{min-width:0;overflow:visible}.phase-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.phase-detail-summary>span{min-width:0;min-height:76px;padding:14px 15px;display:flex;flex-direction:column;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:#f8f9fb}.phase-detail-summary small,.phase-detail-summary strong{display:block}.phase-detail-summary small{color:#7d8796;font-size:8px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}.phase-detail-summary strong{color:#172238;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.phase-history{border:1px solid var(--line);border-radius:10px;overflow:hidden;max-height:58vh;overflow-y:auto;background:#f8fafc}.phase-history>header{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:9px;padding:10px 11px;background:#edf3fb;border-bottom:1px solid var(--line)}.phase-history header strong,.phase-history header small{display:block}.phase-history header strong{font-size:10px}.phase-history header small{color:var(--muted);font-size:8px;margin-top:2px}.phase-history article{padding:10px 11px;border-bottom:1px solid var(--line)}.phase-description{margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#fbfcfe}.phase-description>small{display:block;color:var(--muted);font-size:8px;font-weight:750;letter-spacing:.7px;margin-bottom:5px}.phase-description>p{color:#667286;font-size:10px;line-height:1.6;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.phase-detail-actions{display:flex;align-items:center;gap:7px}.modal .phase-detail-actions .secondary{width:auto;height:29px;border-radius:7px;display:flex;align-items:center;gap:5px}.modal .phase-detail-actions .phase-back-button{border-color:#c9d4e5;background:#f5f8fc;color:#33445d;font-weight:650}.modal .phase-detail-actions .phase-back-button:hover{border-color:#9fb3d0;background:#eaf0f8;color:#182a45}html[data-theme=dark] .modal .phase-detail-actions .phase-back-button{border-color:#52627a;background:#273348;color:#e3eaf5}html[data-theme=dark] .modal .phase-detail-actions .phase-back-button:hover{border-color:#71839e;background:#344158;color:#fff}.phase-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;background:transparent}.phase-detail-grid>span{min-width:0;min-height:76px;padding:14px 15px;border:1px solid var(--line);border-radius:8px;background:#f8f9fb}.phase-detail-grid b{overflow-wrap:anywhere;line-height:1.4}.phase-detail-grid>span,.phase-detail-grid small,.phase-detail-grid b{display:block}.phase-detail-grid small{color:#8992a0;font-size:8px;margin-bottom:8px;font-weight:700;letter-spacing:.35px;text-transform:uppercase}.phase-detail-progress-value{color:var(--blue);font-size:16px}.subphase-heading{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:12px;flex-wrap:wrap}.subphase-heading h3{font-size:13px;margin:0}.subphase-heading>div>small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.subphase-list article{display:grid;grid-template-columns:minmax(0,1fr) 55px 105px 18px;align-items:center;gap:10px;border-top:1px solid var(--line);padding:11px 2px;font-size:9px}.subphase-list .subphase-detail-row{position:relative;width:calc(100% - (20px * var(--subphase-depth)));margin-left:calc(20px * var(--subphase-depth));padding:11px 9px 11px 14px;border-left:3px solid #8aa4d6;background:#f7f9fc;cursor:pointer;transition:background .15s ease,border-color .15s ease}.subphase-list .subphase-detail-row:hover,.subphase-list .subphase-detail-row:focus-visible{border-left-color:var(--blue);background:#eef3fb;outline:none}.subphase-detail-row>svg{color:var(--muted)}.subphase-empty{padding:18px 12px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:9px;text-align:center}.phase-detail-actions{flex:0 0 auto}.subphase-list article small,.subphase-list article b{display:block}.subphase-list article small{color:#8992a0;margin-top:3px}.phase-form-modal{width:min(620px,100%)}.phase-form-backdrop{z-index:60}.phase-row>div>strong,.phase-row>div>small{display:block}.phase-row>div>small{font-size:8px;color:#89919e;margin-top:3px}.phase-progress{display:flex;align-items:center;gap:8px}.phase-progress .progress{margin:0;flex:1;display:block}html body .app :is(.phase-history,.purchase-history,.stock-history){font-size:var(--font-body)}html body .app :is(.phase-history,.purchase-history,.stock-history) header strong{font-size:var(--font-body);font-weight:var(--weight-semibold)}html body .app :is(.crud-table,.phase-table,.admin-list){font-size:var(--font-body)}html body .app :is(.crud-table,.phase-table,.admin-list) small{font-size:var(--font-small)}:is(.commercial-page,.procurement-page,.planning-page,.settings-page) .panel>header h3{font-size:var(--font-section)!important;font-weight:var(--weight-semibold)!important}:is(.commercial-page,.procurement-page,.planning-page,.settings-page) .panel>header :is(span,a),:is(.commercial-page,.procurement-page,.planning-page,.settings-page) .badge{font-size:var(--font-small)!important;font-weight:var(--weight-medium)!important}:is(.commercial-page,.procurement-page,.planning-page,.settings-page) :is(article,.table-head,.phase-row,.planning-scope){font-size:var(--font-body)!important;font-weight:var(--weight-regular)!important}:is(.commercial-page,.procurement-page,.planning-page,.settings-page) :is(article,.table-head,.phase-row,.planning-scope) :is(strong,b){font-size:var(--font-body)!important;font-weight:var(--weight-semibold)!important}:is(.commercial-page,.procurement-page,.planning-page,.settings-page) :is(article,.table-head,.phase-row,.planning-scope) :is(small,em){font-size:var(--font-small)!important;font-weight:var(--weight-regular)!important}:is(.commercial-page,.procurement-page,.planning-page,.settings-page) :is(button,input,select,textarea){font-size:var(--font-body)!important;font-weight:var(--weight-medium)!important}:is(.commercial-page,.procurement-page,.planning-page,.settings-page) label{font-size:var(--font-small)!important;font-weight:var(--weight-medium)!important}:is(.commercial-page,.procurement-page,.planning-page,.settings-page) :is(.phase-history,.project-history) :is(strong,b){font-size:var(--font-body)!important;font-weight:var(--weight-semibold)!important}:is(.commercial-page,.procurement-page,.planning-page,.settings-page) :is(.phase-history,.project-history) :is(small,time,.history-action,.history-change){font-size:var(--font-small)!important;font-weight:var(--weight-regular)!important}:is(.commercial-page,.procurement-page,.planning-page,.settings-page) .modal h2{font-size:20px!important;font-weight:var(--weight-bold)!important}html[data-theme=dark] .phase-table>.table-head,html[data-theme=dark] .phase-row.subphase-row,html[data-theme=dark] .phase-detail-grid,html[data-theme=dark] .project-detail-progress{background:#202b3d}html[data-theme=dark] .subphase-list .subphase-detail-row{background:#202b3d}html[data-theme=dark] .subphase-list .subphase-detail-row:hover,html[data-theme=dark] .subphase-list .subphase-detail-row:focus-visible{background:#253247}html[data-theme=dark] .planning-scope{color:#c2ccda}html[data-theme=dark] .phase-history{background:#151f30}html[data-theme=dark] .phase-description,html[data-theme=dark] .phase-detail-grid>span{background:#202b3d}html[data-theme=dark] .phase-description>p{color:#c5cedb}html[data-theme=dark] .phase-detail-grid{background:transparent}html[data-theme=dark] .phase-history>header{background:#202d42}html[data-theme=dark] .planning-scope:hover{background:#222e42}html[data-theme=dark] .planning-scope.active{background:#203654;color:#9fc1ff}html[data-theme=dark] .phase-row.clickable:hover,html[data-theme=dark] .phase-row.clickable:focus-visible,html[data-theme=dark] .progress-row.clickable:hover,html[data-theme=dark] .progress-row.clickable:focus-visible{background:#253247}html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] h4,html[data-theme=dark] strong,html[data-theme=dark] .finance strong,html[data-theme=dark] .phase-row.subphase-row>div:first-of-type strong{color:#f1f5fa}@container phase-detail (max-width: 850px){.phase-detail-layout{grid-template-columns:minmax(0,1fr)}.phase-history{max-height:280px}}@media(max-width:900px){.phase-detail-layout{grid-template-columns:1fr}.phase-history{max-height:280px}}@media(max-width:480px){.purchase-detail-modal>header,.stock-detail-modal>header{flex-wrap:wrap}.purchase-detail-header-actions{width:100%;justify-content:space-between}.modal header .purchase-history-toggle{flex:1}.topbar>section>.icon:not(:last-child){display:none}.topbar>section .primary{font-size:0;width:38px;height:38px;padding:0}.topbar>section .primary svg{width:18px;height:18px}.page-header h1{font-size:23px}.page-header p{line-height:1.5}.metrics{gap:9px}.metric{padding:14px}.project-member-row{grid-template-columns:1fr}.member-identity{grid-column:auto}.phase-detail-actions{width:100%;justify-content:flex-end}.subphase-list article{grid-template-columns:minmax(0,1fr) auto 18px}.subphase-list article .badge{grid-column:1 / 3}}.planning-header-actions{display:flex;align-items:center;gap:9px}@media(max-width:520px){.planning-header-actions{width:100%;display:grid;grid-template-columns:1fr}.planning-header-actions button{width:100%}}.report-phase-node{margin-top:8px;border-left-color:#2f9c69;background:#fbfefc}.report-phase-node>header span{background:#e7f7ef;color:#18764b}.planning-delete-button{background:#dc2626;border-color:#dc2626;color:#fff}.planning-delete-button:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.planning-history-modal{width:min(820px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 80px));overflow:hidden;display:flex;flex-direction:column}.planning-history-description{margin:0 0 16px;color:var(--muted)}.planning-history-list{display:grid;gap:12px;overflow-y:auto;padding-right:5px}.planning-history-list article{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-soft)}.planning-history-list .history-meta,.planning-history-list .history-change{display:flex;align-items:center;justify-content:space-between;gap:12px}.planning-history-list .history-meta+.history-meta{margin-top:5px;color:var(--muted);font-size:12px}.planning-history-list .history-action{display:inline-block;margin:12px 0 8px;color:var(--primary);font-weight:800}.planning-history-list .history-action.deleted{color:#dc2626}.planning-history-list .history-change{border-top:1px solid var(--border);padding:8px 0;font-size:12px}.planning-history-list del{color:#dc2626}.planning-history-list ins{color:#16845b;text-decoration:none}@media(max-width:900px){.planning-header-actions .planning-delete-button{padding-inline:10px}}.planning-sidebar-phases{margin:5px 8px 9px 29px;border-left:2px solid color-mix(in srgb,var(--blue) 20%,var(--line))}.planning-sidebar-phase{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;padding-left:10px}.planning-sidebar-phase:before{content:"";position:absolute;left:0;top:50%;width:9px;border-top:1px solid var(--line)}.planning-sidebar-phase.subphase{margin-left:32px;border-left:1px dashed var(--line)}.planning-sidebar-phase>button:not(.tree-disclosure){min-width:0;padding:7px 5px 7px 8px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text);text-align:left;display:flex;align-items:center;gap:7px}.planning-sidebar-phase>button:not(.tree-disclosure)>span:not(.phase-tree-marker){min-width:0;display:grid;gap:2px}.planning-sidebar-phase>button:not(.tree-disclosure) strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.planning-sidebar-phase>button:not(.tree-disclosure) small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.04em}.phase-tree-marker{flex:0 0 21px;width:21px;height:21px;display:grid;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue);font-size:8px;font-weight:800}.planning-sidebar-phase.subphase .phase-tree-marker{background:color-mix(in srgb,#7c3aed 12%,var(--surface));color:#7c3aed}.planning-sidebar-phase>button:last-child{width:23px;height:23px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:var(--blue)}.planning-sidebar-phase>button:not(.tree-disclosure):hover{color:var(--text);background:transparent}.phase-tree-actions{display:flex;gap:3px}.block-scope-row:has(.tree-menu[open]),.planning-sidebar-phase:has(.tree-menu[open]){z-index:70}.planning-sidebar-phase-tree:last-child .planning-sidebar-phase:last-child .tree-menu>div,.block-scope-row:last-of-type .tree-menu>div{top:auto;bottom:calc(100% + 6px)}.planning-scopes:has(.tree-menu[open]){overflow:visible}.planning-scopes:has(.tree-menu[open]) .block-scope-row:has(.tree-menu[open]),.planning-scopes:has(.tree-menu[open]) .planning-sidebar-phase:has(.tree-menu[open]){position:relative;z-index:100}.planning-scope-tree{margin-bottom:12px;overflow:hidden}.planning-scope-tree>header{display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.planning-scope-tree>header div{display:grid;gap:2px}.planning-scope-tree>header small{color:var(--muted);font-size:9px}.planning-scope-tree>div{display:grid;gap:4px;padding:9px 12px}.planning-block-group-heading{margin-left:calc(var(--group-depth) * 16px);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 11px;border-bottom:1px solid var(--line);border-left:3px solid color-mix(in srgb,var(--blue) 45%,var(--line));background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.planning-block-group-heading>button{display:flex;align-items:center;gap:9px;min-width:0;padding:3px;border:0;background:transparent;color:var(--text);text-align:left}.planning-block-group-heading>button span{display:grid;gap:2px}.planning-block-group-heading>button small{color:var(--muted);font-size:8px}.planning-block-group-heading .central-block-disclosure{flex:0 0 28px;width:28px;height:28px;padding:0;display:grid;place-items:center;border:1px dashed var(--muted);border-radius:50%;background:transparent;color:var(--muted)}.planning-block-group-heading .central-block-disclosure:hover{border-style:solid;color:var(--blue);background:var(--surface-soft)}.phase-row .central-tree-disclosure{width:25px;height:25px;padding:0;display:grid;place-items:center;border:1px dashed var(--muted);border-radius:50%;background:transparent;color:var(--muted)}.phase-row .central-tree-disclosure:hover{border-style:solid;color:var(--blue);background:var(--surface-soft)}.planning-block-empty-label{color:var(--muted);font-size:8px;font-style:italic}html[data-theme=dark] .notification-category-icon.planning{background:#24375d;color:#8db4ff}html[data-theme=dark] .phase-detail-summary>span{background:#202b3d;border-color:var(--line)}html[data-theme=dark] .phase-detail-summary small{color:#9ca8ba}html[data-theme=dark] .phase-detail-summary strong{color:#edf2f8}@media(max-width:900px){.phase-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.phase-detail-summary{grid-template-columns:1fr;gap:9px}.phase-detail-summary>span{min-height:66px;padding:12px 13px}}.approval-row>span,.material-icon{width:34px;height:34px;border-radius:8px;background:#edf2f8;color:#5372a5;display:grid;place-items:center}@media(max-width:1100px){.page{padding:24px}.page-header{flex-wrap:wrap;gap:14px}.page-header>div:first-child{min-width:0}.page-actions{max-width:100%;flex-wrap:wrap}.page-actions button{min-height:38px;white-space:normal}.project-detail-hero.compact{grid-template-columns:1fr}.project-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-column>header{gap:8px}.resource-action{width:38px;min-width:38px;padding:0;gap:0;font-size:0}.resource-action svg{width:17px;height:17px}}.request-table>article{display:grid;grid-template-columns:34px 1.5fr .8fr .7fr auto;gap:12px;align-items:center;padding:13px 17px;border-bottom:1px solid var(--line)}.request-table article div strong,.request-table article div small{display:block;font-size:9px}.request-table article div small{font-size:8px;color:#87909d;margin-top:3px}.request-table aside{display:flex;gap:6px}.request-table .approve{margin:0}.material-columns{grid-template-columns:minmax(220px,1.4fr) 1fr .55fr .75fr 80px}.material-columns.clickable,.cost-columns.clickable{cursor:pointer}.material-columns.clickable:hover,.material-columns.clickable:focus-visible,.cost-columns.clickable:hover,.cost-columns.clickable:focus-visible{background:#f7f9fc;outline:none}.resource-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.resource-column{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.resource-column-costs{grid-column:1 / -1}.resource-column>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:12px}.resource-column>header h3{margin:0}.resource-column>header small{color:var(--muted)}.resource-column>article{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.resource-column>article>div{flex:1;display:flex;flex-direction:column}.resource-column>article small{color:var(--muted)}.resource-column>article b{white-space:nowrap}.resource-row-actions{display:inline-flex;gap:5px}.resource-row-actions button{width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:#f8fafc;color:#526077}.resource-row-actions button:hover{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.resource-history{display:grid;gap:12px;max-height:60vh;overflow:auto}.resource-history>article{border:1px solid var(--line);border-radius:10px;padding:12px}.resource-history>article>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.resource-history time{color:var(--muted);font-size:10px}.resource-history p{margin:6px 0 0;display:grid;grid-template-columns:100px 1fr 1fr;gap:8px;font-size:11px}.resource-history del{color:#b42318}.resource-history ins{color:#157f3b;text-decoration:none}.resource-action{min-height:38px;border:1px solid transparent;border-radius:9px;padding:9px 14px;color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.resource-action:hover{transform:translateY(-1px)}.resource-action:focus-visible{outline:3px solid transparent;outline-offset:2px}.resource-action-consumption{background:#b45309;border-color:#92400e;box-shadow:0 5px 14px #b4530938}.resource-action-consumption:hover{background:#92400e}.resource-action-consumption:focus-visible{outline-color:#f59e0b66}.resource-action-service{background:#4f46e5;border-color:#4338ca;box-shadow:0 5px 14px #4f46e538}.resource-action-service:hover{background:#4338ca}.resource-action-service:focus-visible{outline-color:#6366f166}.resource-action-cost{background:#087f5b;border-color:#066747;box-shadow:0 5px 14px #087f5b38}.resource-action-cost:hover{background:#066747}.resource-action-cost:focus-visible{outline-color:#10b98166}.modal .resource-column>header button.resource-action{width:auto;height:auto;min-height:38px;border-radius:9px;padding:9px 14px}.modal .resource-column>header button.resource-action-consumption{background:#b45309;border:1px solid #92400e;color:#fff}.modal .resource-column>header button.resource-action-service{background:#4f46e5;border:1px solid #4338ca;color:#fff}.modal .resource-column>header button.resource-action-cost{background:#087f5b;border:1px solid #066747;color:#fff}html[data-theme=dark] .resource-column{background:#192335;border-color:#344158}html[data-theme=dark] .resource-row-actions button{background:#222e42;color:#c5d0e2;border-color:#3b4960}html[data-theme=dark] .resource-row-actions button:hover{background:#303d63;color:#c7d2fe;border-color:#6474a6}html[data-theme=dark] .resource-history>article{border-color:#344158}html[data-theme=dark] .resource-history del{color:#fda29b}html[data-theme=dark] .resource-history ins{color:#75e0a7}html[data-theme=dark] .resource-action-consumption{background:#f59e0b;border-color:#fbbf24;color:#241400;box-shadow:0 5px 16px #f59e0b35}html[data-theme=dark] .resource-action-consumption:hover{background:#fbbf24}html[data-theme=dark] .resource-action-service{background:#818cf8;border-color:#a5b4fc;color:#11152c;box-shadow:0 5px 16px #818cf835}html[data-theme=dark] .resource-action-service:hover{background:#a5b4fc}html[data-theme=dark] .resource-action-cost{background:#34d399;border-color:#6ee7b7;color:#052e22;box-shadow:0 5px 16px #34d39935}html[data-theme=dark] .resource-action-cost:hover{background:#6ee7b7}html[data-theme=dark] .modal .resource-column>header button.resource-action-consumption{background:#f59e0b;border-color:#fbbf24;color:#241400}html[data-theme=dark] .modal .resource-column>header button.resource-action-service{background:#818cf8;border-color:#a5b4fc;color:#11152c}html[data-theme=dark] .modal .resource-column>header button.resource-action-cost{background:#34d399;border-color:#6ee7b7;color:#052e22}@media(max-width:800px){.resource-records{grid-template-columns:1fr}}@media(max-width:520px){.resource-column>header{grid-template-columns:1fr}.resource-action{width:100%}}@media(max-width:1100px){html body .resource-column>header .resource-action{width:38px;min-width:38px;height:38px;padding:0;gap:0;font-size:0}html body .resource-column>header .resource-action svg{width:17px;height:17px}}.procurement-records>article{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto auto repeat(2,36px);gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.procurement-records>article>div{min-width:0}.procurement-records>article strong,.procurement-records>article small{display:block}.procurement-records>article small{margin-top:3px;color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.procurement-records>article a{color:var(--blue)}.procurement-records>article>svg{color:var(--blue)}.procurement-file-dropzone{display:grid!important;gap:6px;padding:14px!important;border:1px dashed #aebbd0;border-radius:9px;background:#f8faff;cursor:pointer;transition:border-color .15s ease,background .15s ease}.procurement-current-files{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px}.procurement-current-files>small{color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase}.procurement-current-file{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.procurement-current-file a{min-width:0;overflow:hidden;color:var(--blue);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.procurement-current-file .icon{flex:0 0 auto;width:30px;height:30px}.procurement-file-removed{color:var(--muted);font-size:10px}.procurement-file-dropzone:hover,.procurement-file-dropzone.dragging{border-color:var(--blue);background:#eef4ff}.procurement-file-dropzone input[type=file]{margin-top:2px;padding:8px;border:0;background:transparent;cursor:pointer}.procurement-file-dropzone small{color:var(--muted);font-size:9px;font-weight:400;overflow-wrap:anywhere}@media(max-width:1300px){.procurement-records>article{grid-template-columns:28px minmax(0,1fr) auto}.procurement-records>article>span,.procurement-records>article>b{grid-column:2}.procurement-records>article>button{grid-column:3;grid-row:auto}}.procurement-page .module-tabs{width:100%}.procurement-page .module-tabs button{flex:1 1 0;min-width:0;font-size:12px;font-weight:700}.procurement-page .module-tabs button>span.module-tab-label{font-size:12px}.procurement-page .module-tabs button>span:not(.module-tab-label){font-size:10px}.procurement-page .crud-table,.procurement-page .summary,.procurement-page .panel{color:var(--text, #182236)}.procurement-page .crud-table article,.procurement-page .request-table article,.procurement-page .procurement-records article{font-size:12px}.procurement-page .crud-table article small,.procurement-page .request-table article small,.procurement-page .procurement-records article small{font-size:11px}.procurement-audit-list>article{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface, #fff)}.procurement-audit-heading{display:flex;align-items:center}.procurement-audit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.procurement-audit-fields>div{min-width:0}.procurement-audit-fields small{margin:0 0 3px;font-size:8px;text-transform:uppercase;letter-spacing:.04em}.procurement-audit-fields strong,.procurement-audit-fields span{display:block;overflow-wrap:anywhere;font-size:11px}.procurement-audit-changes{margin:0;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}@media(max-width:600px){.procurement-audit-fields{grid-template-columns:1fr}}@media(max-width:1200px){.procurement-page .module-tabs button{flex:1 1 0;min-width:38px}}html[data-theme=dark] .procurement-page .module-tabs,html[data-theme=dark] .procurement-page .panel,html[data-theme=dark] .procurement-page .summary{background:#192335;border-color:#303b4f;color:#e6ebf3}html[data-theme=dark] .procurement-page .module-tabs button{color:#c2ccda}html[data-theme=dark] .procurement-page .module-tabs button.active{color:#fff;background:#4d83e8}html[data-theme=dark] .procurement-page .module-tabs button>span:not(.module-tab-label){background:#303d54;color:#d7e0ed}html[data-theme=dark] .procurement-page .crud-table-head{background:#202c40;color:#bdc9d9;border-color:#303b4f}html[data-theme=dark] .procurement-page .crud-table>article,html[data-theme=dark] .procurement-page .request-table>article,html[data-theme=dark] .procurement-page .procurement-records>article{border-color:#303b4f}html[data-theme=dark] .procurement-page .crud-table article:hover{background:#222f45}html[data-theme=dark] .procurement-page .request-table article div small,html[data-theme=dark] .procurement-page .procurement-records article small{color:#aab7c9}html[data-theme=dark] .procurement-audit-list>article{background:#192335;border-color:#303b4f}@media(max-width:900px){.procurement-page .active-project-bar{grid-template-columns:42px minmax(0,1fr) 20px;gap:10px;padding:12px}.procurement-page .active-project-bar>label{grid-column:1 / -1;min-width:0}.procurement-page .crud-table>header,.procurement-page .crud-table-head,.procurement-page .crud-table>article{min-width:0}.procurement-page .material-columns{grid-template-columns:minmax(130px,1.7fr) minmax(65px,1fr) 46px 76px 64px;gap:7px;padding-inline:10px}.procurement-page .material-columns>div:first-child,.procurement-page .material-columns>span,.procurement-page .material-columns>b{min-width:0;overflow-wrap:anywhere}}.purchase-list>article{display:grid;grid-template-columns:38px minmax(0,1fr) auto minmax(92px,auto);align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);cursor:pointer}.purchase-list{container-type:inline-size;container-name:purchase-list}.purchase-list article>div{min-width:0}.purchase-list article :is(strong,small){overflow-wrap:anywhere}.purchase-list article>b,.purchase-list article>.badge{white-space:nowrap}@container purchase-list (max-width: 620px){.purchase-list>article{grid-template-columns:38px minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:5px}.purchase-list>article>.purchase-icon{grid-column:1;grid-row:1 / 3}.purchase-list>article>div{grid-column:2;grid-row:1 / 3}.purchase-list>article>b{grid-column:3;grid-row:1;align-self:end}.purchase-list>article>.badge{grid-column:3;grid-row:2;justify-self:end;align-self:start}}.purchase-list>article:hover{background:#f7f9fc}.purchase-icon,.stock-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:#e7efff;color:#3166ba}.purchase-list article strong,.purchase-list article small{display:block}.purchase-list article small{color:var(--muted);font-size:8px;margin-top:3px}.purchase-list article>b{text-align:right;font-size:10px}.purchase-form-modal{width:min(900px,100%);max-width:100%;box-sizing:border-box;overflow-x:hidden;container-type:inline-size;container-name:purchase-form}.purchase-items-editor{min-width:0;max-width:100%;box-sizing:border-box;margin-top:16px;border:1px solid var(--line);border-radius:9px;padding:12px}.purchase-items-title{display:flex;align-items:center;justify-content:space-between}.purchase-items-title h3{margin:0;font-size:12px}.purchase-item-edit{display:grid;grid-template-columns:minmax(180px,1fr) 80px 110px 135px 36px;gap:7px;align-items:stretch;margin-top:9px;min-width:0}.purchase-item-edit>.icon{width:36px;height:39px;min-height:39px;margin:6px 0 0;align-self:start}.purchase-item-unit{display:flex;flex-direction:column;justify-content:center;min-width:0;height:39px;margin-top:6px;padding:4px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface, white);color:var(--muted)}.purchase-item-unit small{font-size:9px!important;line-height:1!important}.purchase-item-unit b{margin-top:2px;line-height:1!important;overflow:hidden;color:var(--text, #182236);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.purchase-item-edit select,.purchase-item-edit input{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;padding:8px;background:var(--surface, white);color:inherit}@container purchase-form (max-width: 760px){.purchase-item-edit{grid-template-columns:minmax(150px,1fr) 62px 82px 108px 36px}.purchase-item-edit>.icon{grid-column:5;grid-row:1}}@container purchase-form (max-width: 480px){.purchase-item-edit{grid-template-columns:minmax(0,1fr) 40px}.purchase-item-edit select{grid-column:1 / -1}.purchase-item-unit,.purchase-item-edit>input:first-of-type,.purchase-item-edit>input:last-of-type{grid-column:1}.purchase-item-edit>.icon{grid-column:2;grid-row:2 / 5}}.purchase-detail-modal{width:min(1120px,100%)}.purchase-detail-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.purchase-detail-layout.with-history{grid-template-columns:minmax(0,1fr) 300px}.purchase-detail-header-actions{display:flex;align-items:center;gap:7px}.purchase-history-received{display:grid;gap:5px;margin-top:7px}.purchase-history-received>span{padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface, #fff)}.purchase-history-received b,.purchase-history-received small{display:block}.purchase-history-received b{font-size:8px}.purchase-history-received small{margin-top:3px;color:var(--muted);font-size:8px}.purchase-meta,.stock-detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.purchase-meta>span,.stock-detail-summary>span{padding:11px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.purchase-meta small,.purchase-meta b,.stock-detail-summary small,.stock-detail-summary b{display:block}.purchase-meta small,.stock-detail-summary small{color:var(--muted);font-size:8px;margin-bottom:4px}.purchase-detail-items{margin-top:14px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.purchase-detail-items article{display:grid;grid-template-columns:1fr 160px 100px;gap:10px;align-items:center;padding:11px;border-bottom:1px solid var(--line);font-size:9px}.purchase-detail-items small{display:block;color:var(--muted);margin-top:3px}.purchase-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin-top:16px}.purchase-attachments{margin-top:18px;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--surface, #fff)}.purchase-attachments header{margin-bottom:10px}.purchase-attachments h3{margin:0;font-size:12px}.purchase-attachments header small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.purchase-attachment-upload{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,1fr) auto;gap:7px;align-items:center}.purchase-attachment-upload label{position:relative;display:flex;align-items:center;gap:6px;min-width:0;padding:8px 10px;border:1px dashed var(--line);border-radius:7px;color:var(--muted);font-size:9px;cursor:pointer}.purchase-attachment-upload label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-attachment-upload label input{position:absolute;inset:0;opacity:0;cursor:pointer}.purchase-attachment-upload>input{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface, #fff)}.purchase-attachment-upload button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.purchase-attachment-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:7px;margin-top:10px}.purchase-attachment-list article{display:flex;align-items:center;gap:8px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:7px}.purchase-attachment-list img{width:34px;height:34px;object-fit:cover;border-radius:5px}.purchase-attachment-list article>svg{flex:0 0 34px;color:var(--muted)}.purchase-attachment-list article>div{min-width:0;flex:1}.purchase-attachment-list a,.purchase-attachment-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-attachment-list a{color:var(--blue);font-size:10px;font-weight:700}.purchase-attachment-list small{margin-top:3px;color:var(--muted);font-size:8px}@media(max-width:700px){.purchase-attachment-upload{grid-template-columns:1fr}}html[data-theme=dark] .purchase-list>article:hover{background:#222e42}html[data-theme=dark] .purchase-meta>span,html[data-theme=dark] .stock-detail-summary>span{background:#202b3d}.modal header .purchase-history-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface, #fff);color:var(--text);font-size:9px;font-weight:700;white-space:nowrap;cursor:pointer}.modal header .purchase-history-toggle:hover{border-color:var(--accent);background:var(--accent-soft, #eef4ff);color:var(--accent)}html body .app :is(.purchase-meta,.stock-detail-summary) small,html body .app .purchase-item-unit small{font-size:var(--font-small)}html body .app :is(.purchase-meta,.stock-detail-summary,.purchase-item-unit) b{font-size:var(--font-body);font-weight:var(--weight-semibold)}:is(.purchase-detail-modal,.stock-detail-modal) h2{font-size:20px!important;font-weight:var(--weight-bold)!important}:is(.purchase-detail-modal,.stock-detail-modal) :is(.phase-history,.purchase-history,.stock-history) article{font-size:var(--font-body)!important;font-weight:var(--weight-regular)!important}:is(.purchase-detail-modal,.stock-detail-modal) button{font-size:var(--font-body)!important;font-weight:var(--weight-semibold)!important}.inventory-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:15px}.stock-list>article,.stock-movements>article{display:grid;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:9px}.stock-list>article{grid-template-columns:36px minmax(0,1fr) auto 35px;cursor:pointer}.stock-transfer-button{color:var(--blue)}.stock-list article small,.stock-list article strong,.stock-movements article small,.stock-movements article strong,.stock-movements article em{display:block}.stock-list article small,.stock-movements article small,.stock-movements article em{color:var(--muted);font-size:8px;margin-top:3px}.stock-movements>article{grid-template-columns:28px 1fr auto}.stock-movements article>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e6f7ee;color:#19744f;font-weight:800}.stock-movements article>span.out{background:#fff0f0;color:#a54141}.stock-movements article em{font-style:normal}.stock-detail-modal{width:min(780px,100%)}.stock-detail-summary{grid-template-columns:repeat(3,1fr);margin-bottom:15px}.stock-history{max-height:400px}.stock-history-quantity{display:block;margin-top:6px;color:var(--muted);font-size:8px}.stock-history-quantity b{color:var(--text)}html body .app :is(.purchase-list,.stock-list,.stock-movements)>article{font-size:var(--font-body);font-weight:var(--weight-regular)}html body .app :is(.purchase-list,.stock-list,.stock-movements) article :is(strong,b){font-size:var(--font-body);font-weight:var(--weight-semibold)}html body .app :is(.purchase-list,.stock-list,.stock-movements) article :is(small,em){font-size:var(--font-small);font-weight:var(--weight-regular)}html body .app :is(.history-meta,.history-action,.stock-history-quantity){font-size:var(--font-small)}:is(.purchases-page,.inventory-page) .panel>header h3{font-size:var(--font-section)!important;font-weight:var(--weight-semibold)!important}:is(.purchases-page,.inventory-page) .panel>header span{font-size:var(--font-small)!important;font-weight:var(--weight-regular)!important}:is(.purchases-page,.inventory-page) .panel>article{font-size:var(--font-body)!important;font-weight:var(--weight-regular)!important}:is(.purchases-page,.inventory-page) .panel>article :is(strong,b){font-size:var(--font-body)!important;font-weight:var(--weight-semibold)!important}:is(.purchases-page,.inventory-page) .panel>article :is(small,em){font-size:var(--font-small)!important;font-weight:var(--weight-regular)!important}:is(.purchases-page,.inventory-page) .panel>article .badge{font-size:var(--font-small)!important;font-weight:var(--weight-medium)!important}.inventory-page .stock-list article>b small{display:inline;margin:0;font-size:inherit!important;font-weight:inherit!important}:is(.purchase-detail-modal,.stock-detail-modal) :is(.phase-history,.purchase-history,.stock-history) :is(small,time,.history-action,.stock-history-quantity){font-size:var(--font-small)!important;font-weight:var(--weight-regular)!important}.metrics.commercial{grid-template-columns:repeat(3,1fr)}.dashboard-grid,.commercial-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}.visit-row{display:grid;grid-template-columns:42px 30px 1fr auto;align-items:center;gap:9px;padding:13px 16px;border-bottom:1px solid var(--line)}.visit-row>b{font-size:10px}.visit-row>span{width:30px;height:30px;background:#e9f1ff;color:#2e62bd;border-radius:50%;display:grid;place-items:center;font-size:8px;font-weight:700}.visit-row div strong,.visit-row div small,.key-row div strong,.key-row div small{display:block;font-size:9px}.visit-row div small,.key-row div small{font-size:8px;color:#87909d;margin-top:3px}.key-row{display:grid;grid-template-columns:32px 1fr auto;gap:9px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.key-row>svg{color:#bd701e;background:#fff1e1;padding:7px;width:32px;height:32px;border-radius:7px}.commercial-units-panel{margin:16px 0}.commercial-unit-groups{display:grid;gap:14px;padding:14px}.commercial-unit-group{overflow:hidden;border:1px solid var(--line);border-radius:10px}.commercial-unit-group>header{min-height:50px;padding:9px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:#f7f9fc}.commercial-unit-group>header>div{display:flex;align-items:center;gap:9px}.commercial-unit-group>header span strong,.commercial-unit-group>header span small{display:block}.commercial-unit-group>header span strong{font-size:10px}.commercial-unit-group>header span small{margin-top:3px;color:var(--muted);font-size:8px}.commercial-unit-group>header>b{color:var(--muted);font-size:8px;font-weight:650}.commercial-unit-toggle{flex:0 0 28px;width:28px;height:28px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--surface, #fff);color:#526075;cursor:pointer}.commercial-unit-toggle:hover{border-color:#8eb1eb;color:#2862c7}.commercial-unit-toggle svg{transition:transform .18s}.commercial-unit-group.expanded .commercial-unit-toggle svg{transform:rotate(180deg)}.visit-datetime-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.visit-schedule-modal{width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto}.visit-datetime-field{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:9px}.visit-datetime-field legend{padding:0 5px;color:var(--muted);font-size:9px;font-weight:700}.visit-datetime-field>div{display:grid;grid-template-columns:minmax(145px,1fr) minmax(180px,1fr);align-items:end;gap:10px}.modal .visit-datetime-field label{margin:0}.visit-time-selects{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;align-self:end;gap:6px}.visit-time-selects b{color:var(--muted);font-size:13px;text-align:center}.modal .visit-time-selects select{min-width:0;margin-top:0}.visit-time-selects select,.visit-datetime-field input{height:42px}.commercial-unit-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.commercial-unit-list>button{min-width:0;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:14px;border:0;background:var(--surface, #fff);color:inherit;text-align:left;cursor:pointer}.commercial-unit-list>button:hover{background:#f2f6fc}.commercial-unit-list>button>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#356dcc;background:#eaf1ff}.commercial-unit-list strong,.commercial-unit-list small{display:block}.commercial-unit-list strong{font-size:10px}.commercial-unit-list small{margin-top:4px;color:var(--muted);font-size:8px}.commercial-unit-list>button>b{color:var(--blue);font-size:8px;white-space:nowrap}.unit-key-modal{width:min(1040px,calc(100vw - 36px));max-height:calc(100dvh - 48px);overflow-y:auto}.unit-key-tabs{display:flex;gap:5px;margin:-5px 0 15px;border-bottom:1px solid var(--line)}.unit-key-tabs button{display:flex;align-items:center;gap:6px;padding:10px 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:9px}.unit-key-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.unit-key-content h3{margin:0 0 14px;font-size:11px}.reservation-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(380px,1.2fr);gap:18px}.reservation-form,.availability-list{padding:16px;border:1px solid var(--line);border-radius:10px}.reservation-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.reservation-status{display:inline-flex;padding:4px 7px;border-radius:12px;background:#e9f7ef;color:#167451;font-size:7px;font-weight:750;text-transform:uppercase}.reservation-status.blocked{background:#fff0e5;color:#ae581d}.reservation-status.cancelled{background:#f0f1f3;color:#7b8491}.reservation-visit-row>span{color:#316bc5;background:#eaf1ff}.commercial-page .badge.active,.commercial-page .badge.available,.commercial-page .badge.cancelled{min-width:78px;box-sizing:border-box;text-align:center}.commercial-page .badge.active{border:1px solid #b7ccef;border-radius:6px;background:#e9f1ff;color:#2862c7}.commercial-page .badge.cancelled{border-radius:6px}.reservation-visit-row.clickable,.key-row.clickable{cursor:pointer;transition:background .15s}.reservation-visit-row.clickable:hover,.key-row.clickable:hover{background:#f3f7fd}.key-reservations-modal{width:min(680px,calc(100vw - 28px));max-height:calc(100dvh - 60px);overflow-y:auto}.key-reservation-list{display:grid;gap:7px}.key-reservation-list>button{width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#f9fbfd;color:inherit;text-align:left;cursor:pointer}.key-reservation-list>button:hover{border-color:#8eb1eb;background:#eef4ff}.key-reservation-list strong,.key-reservation-list small{display:block;font-size:9px}.key-reservation-list small{margin-top:4px;color:var(--muted)}.reservation-detail-modal{width:min(680px,calc(100vw - 28px))}.reservation-detail-status{display:flex;align-items:center;gap:9px;margin:-4px 0 15px}.reservation-detail-status>span:last-child{color:var(--muted);font-size:9px}.reservation-audit-info{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:var(--muted);font-size:8px}.reservation-detail-modal .reservation-cancel-button{background:#cf3f4f;border-color:#cf3f4f;color:#fff}.reservation-detail-modal .reservation-cancel-button:hover{background:#b62f3f;border-color:#b62f3f;color:#fff}html[data-theme=dark] .commercial-unit-list>button,html[data-theme=dark] .reservation-form,html[data-theme=dark] .availability-list,html[data-theme=dark] .keys-crud>form,html[data-theme=dark] .keys-crud>section{background:#192335}html[data-theme=dark] .commercial-unit-list>button:hover,html[data-theme=dark] .availability-list>article{background:#202c40}html[data-theme=dark] .commercial-unit-list>button>span{background:#263b5f;color:#91b8ff}html[data-theme=dark] .commercial-unit-group>header{background:#202c40}html[data-theme=dark] .commercial-unit-toggle{background:#192335;color:#bdc8d8}html[data-theme=dark] .commercial-unit-toggle:hover{border-color:#6689bd;color:#a9c8ff}html[data-theme=dark] .reservation-visit-row>span{color:#9fc0ff;background:#263b5f}html[data-theme=dark] .commercial-page .badge.active{border-color:#526b91;border-radius:6px;background:#263b5f;color:#b8d1ff}html[data-theme=dark] .reservation-detail-modal .reservation-cancel-button{background:#d64b5b;border-color:#e36b78;color:#fff}html[data-theme=dark] .reservation-visit-row.clickable:hover,html[data-theme=dark] .key-row.clickable:hover,html[data-theme=dark] .key-reservation-list>button:hover{background:#243249}html[data-theme=dark] .key-reservation-list>button{background:#192335}@media(max-width:900px){.commercial-unit-list{grid-template-columns:repeat(2,1fr)}.reservation-layout,.keys-crud{grid-template-columns:1fr}}@media(max-width:560px){.commercial-unit-list,.visit-datetime-grid,.visit-datetime-field>div{grid-template-columns:1fr}.unit-key-modal{width:calc(100vw - 20px)}.commercial-unit-list>button{grid-template-columns:36px 1fr}.commercial-unit-list>button>b{grid-column:2}}.units-highlight-button{border:0;border-radius:8px;padding:10px 15px;display:inline-flex;align-items:center;gap:7px;background:#e87919;color:#fff;font-size:11px;font-weight:700;box-shadow:0 5px 14px #e879193d}.units-highlight-button:hover{background:#cf6610;transform:translateY(-1px)}.units-manager-modal{width:min(920px,calc(100vw - 28px));max-width:920px;max-height:82vh}.units-manager-modal>header>div:last-child{display:flex;align-items:center;gap:9px}.units-block-filter{display:grid;grid-template-columns:auto minmax(220px,340px);align-items:center;justify-content:start;gap:12px;padding:4px 2px 14px;color:#64748b;font-size:10px;font-weight:700;text-transform:uppercase}.units-block-filter select{min-width:220px;text-transform:none}.units-manager-list{overflow-y:auto;padding-right:4px}.unit-manager-item{display:grid;grid-template-columns:minmax(180px,.8fr) 1.4fr auto;align-items:center;gap:16px;padding:14px;margin-bottom:8px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.unit-manager-item:hover,.unit-manager-item:focus{border-color:#8eb1eb;background:#2563eb0b;outline:0}.unit-manager-item>div:first-child small{display:block;margin-top:4px;color:#64748b}.unit-manager-item aside{display:flex;align-items:center;justify-content:flex-end;gap:9px}.unit-manager-item aside>span{font-size:9px;color:#64748b}@media(max-width:760px){.unit-manager-item{grid-template-columns:1fr}.unit-manager-item aside{justify-content:flex-start}}html body .units-manager-modal>header button.primary{width:auto;height:36px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #1d4ed8;border-radius:8px;background:#2563eb;color:#fff;font-weight:700;box-shadow:0 4px 12px #2563eb38}html body .units-manager-modal>header button.primary:hover,html body .units-manager-modal>header button.primary:focus-visible{background:#1d4ed8;border-color:#1e40af;color:#fff;outline:3px solid rgba(37,99,235,.2)}html[data-theme=dark] body .units-manager-modal>header button.primary{background:#3b82f6;border-color:#60a5fa;color:#fff;box-shadow:0 5px 16px #2563eb57}html[data-theme=dark] body .units-manager-modal>header button.primary:hover,html[data-theme=dark] body .units-manager-modal>header button.primary:focus-visible{background:#60a5fa;border-color:#93c5fd;color:#081426;outline-color:#60a5fa40}html body .units-manager-modal>header button.primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.units-page-list{display:grid;gap:12px;padding:16px}.units-block-group{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.units-block-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.units-block-group>header>div{display:flex;align-items:center;gap:10px}.units-block-group>header span{display:grid;gap:2px}.units-block-group>header small{color:var(--muted)}.units-block-group>header>aside{display:flex;align-items:center;gap:7px}.units-block-group>header>aside button{width:auto;min-height:31px;display:inline-flex;align-items:center;gap:5px}.units-collapse-button svg{transition:transform .2s ease}.units-collapse-button[aria-expanded=true] svg{transform:rotate(180deg)}.units-block-group.collapsed>header{border-bottom:0}@media(max-width:720px){.units-block-group>header{align-items:flex-start;flex-direction:column}.units-block-group>header>aside{width:100%;flex-wrap:wrap}.units-block-group>header>aside .units-collapse-button{margin-right:auto}}.units-block-group>div{position:relative;display:grid;gap:9px;padding:11px 11px 11px 34px}.units-block-group>div:before{content:"";position:absolute;left:18px;top:0;bottom:14px;border-left:2px solid color-mix(in srgb,var(--blue) 28%,var(--line))}.units-block-group .unit-page-card:before{content:"";position:absolute;left:-17px;top:25px;width:16px;border-top:2px solid color-mix(in srgb,var(--blue) 28%,var(--line))}.units-block-group.unassigned>header{background:color-mix(in srgb,#f59e0b 9%,var(--surface))}.units-block-empty{padding:18px;text-align:center;color:var(--muted);font-size:11px}.unit-page-card{position:relative;display:grid;grid-template-columns:minmax(150px,.8fr) minmax(240px,1.5fr) auto;gap:18px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px}.unit-page-card>div:first-child{display:grid;gap:4px}.unit-page-card small{color:var(--muted)}.unit-page-keys{display:flex;flex-wrap:wrap;gap:7px}.unit-page-keys span{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:8px;background:var(--surface-soft)}.unit-page-keys button{padding:2px;border:0;background:transparent;color:var(--muted)}.unit-page-card aside{display:flex;gap:7px}.bulk-units-modal{width:min(980px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow-y:auto}.bulk-units-help{margin:0 0 14px;padding:10px 12px;border-radius:8px;background:#edf4ff;color:#496587;font-size:9px;line-height:1.5}.bulk-units-preview{margin:15px 0;padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.bulk-units-preview>strong{display:block;margin-bottom:9px;font-size:10px}.bulk-units-preview>div{display:flex;flex-wrap:wrap;gap:6px}.bulk-units-preview span{min-width:70px;padding:6px 8px;border-radius:7px;background:#eaf1ff;color:#275eaf;font-size:9px;font-weight:750}.bulk-units-preview span small{display:block;max-width:110px;margin-top:2px;overflow:hidden;color:#6680a6;font-size:7px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.bulk-units-preview em{padding:7px;color:var(--muted);font-size:8px}html[data-theme=dark] .bulk-units-help{background:#203652;color:#b7cceb}html[data-theme=dark] .bulk-units-preview{background:#172235}html[data-theme=dark] .bulk-units-preview span{background:#263b5f;color:#a9c8ff}html[data-theme=dark] .bulk-units-preview span small{color:#aab8cc}@media(max-width:900px){.unit-page-card{grid-template-columns:1fr}.unit-page-card aside{flex-wrap:wrap}}.block-units-selector{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px}.block-units-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.block-units-toolbar>small{color:var(--muted);line-height:1.45}.block-units-toolbar>div{display:flex;gap:7px;flex-shrink:0}.block-units-toolbar button{width:auto;min-height:30px;padding:5px 9px;font-size:11px}.block-units-list{display:grid;gap:7px;max-height:230px;overflow-y:auto;padding-right:4px}.block-units-list label{display:grid;grid-template-columns:20px minmax(130px,1fr) auto;align-items:center;gap:10px;min-height:48px;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);cursor:pointer}.block-units-list label.unavailable{opacity:.62;cursor:not-allowed}.block-units-list input[type=checkbox]{width:16px;height:16px;margin:0;justify-self:center}@media(max-width:680px){.block-units-toolbar{align-items:stretch;flex-direction:column}.block-units-toolbar>div{flex-wrap:wrap}.block-units-list label{grid-template-columns:20px 1fr}.block-unit-status{grid-column:2;justify-self:start}}.standalone-form label,.stack-form label,.settings-form label{display:block;font-size:9px;color:#596477;font-weight:650}.standalone-form input,.stack-form input,.stack-form select,.settings-form input,.settings-form select{display:block;width:100%;margin-top:6px;border:1px solid #dfe3e9;border-radius:8px;padding:10px;background:#fff}.settings-section{padding:20px;margin-bottom:18px}.settings-section>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.settings-section>header>.primary{display:inline-flex;align-items:center;gap:7px}.settings-section>header>div{display:flex;align-items:center;gap:8px}.managed-companies-section>header>div>div p{margin:4px 0 0;color:var(--muted);font-size:9px}.managed-company-list{display:grid;gap:9px}.managed-company-list article{display:grid;grid-template-columns:44px minmax(180px,1.1fr) minmax(180px,1fr) minmax(150px,.8fr) 100px;align-items:center;gap:14px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.managed-company-list article.inactive{background:#f6f7f9;opacity:.78}.managed-company-avatar{width:42px;height:42px;border-radius:9px;display:grid;place-items:center;overflow:hidden;background:#dfeaff;color:#2b5fae;font-size:11px;font-weight:800}.managed-company-avatar img{width:100%;height:100%;object-fit:cover}.managed-company-main strong,.managed-company-main small,.managed-company-contact span,.managed-company-capacity span,.managed-company-capacity small{display:block}.managed-company-main>div{display:flex;align-items:center;gap:7px}.managed-company-main strong{font-size:11px}.managed-company-main>div span{padding:3px 6px;border-radius:10px;background:#e7f0ff;color:#2861bb;font-size:7px;font-weight:750}.managed-company-main small,.managed-company-contact span,.managed-company-capacity span,.managed-company-capacity small{color:#657184;font-size:8px;margin-top:4px}.managed-company-contact span:last-child{display:flex;align-items:center;gap:4px}.managed-company-capacity b{color:#26354d}.settings-section h3{margin:0;font-size:14px}.settings-section>header>span{font-size:8px;font-weight:700;color:var(--blue);background:#edf4ff;padding:5px 8px;border-radius:12px}.settings-form{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.settings-form footer{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;font-size:9px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:18px}.appearance-section{padding:22px;margin-bottom:18px}.appearance-section>header>div{display:flex;align-items:flex-start;gap:11px}.appearance-section h3{margin:0;font-size:14px}.appearance-section header p{margin:5px 0 0;color:var(--muted);font-size:10px}html[data-theme=dark] .managed-company-list article{background:#172235}html[data-theme=dark] .managed-company-list article.inactive{background:#131c2a}html[data-theme=dark] .managed-company-main>div span{background:#243c60;color:#9fc1ff}html[data-theme=dark] .managed-company-main small,html[data-theme=dark] .managed-company-contact span,html[data-theme=dark] .managed-company-capacity span,html[data-theme=dark] .managed-company-capacity small,html[data-theme=dark] .company-active-toggle b{color:#b8c3d2}html[data-theme=dark] .managed-company-capacity b{color:#f1f5fa}
