:root{color:#15283a;background:#eef4fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.side{color:#fff;background:linear-gradient(#083a70,#061f3d);flex-direction:column;min-height:100vh;padding:22px 16px;display:flex}.brand{align-items:center;gap:12px;padding:4px 8px 26px;display:flex}.brand img{object-fit:contain;width:46px;height:46px}.brand strong{font-size:20px;display:block}.brand span{opacity:.7;font-size:12px}.side nav{gap:7px;display:grid}.side nav button,.side-bottom button{color:#fff;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.side nav button.active,.side nav button:hover{background:#ffffff24}.side svg{width:19px}.side-bottom{gap:8px;margin-top:auto;display:grid}.online,.offline{align-items:center;gap:8px;padding:10px;font-size:13px;display:flex}.online{color:#98efbf}.offline{color:#ffd28a}main{min-width:0}header{z-index:5;background:#fff;border-bottom:1px solid #dbe5ef;justify-content:space-between;align-items:center;height:84px;padding:0 28px;display:flex;position:sticky;top:0}header>div{align-items:center;gap:12px;display:flex}h1,h2,h3,p{margin:0}header h1{font-size:23px}header p,.toolbar p{color:#6d8092;margin-top:4px;font-size:13px}.user-chip{background:#edf4fb;border:1px solid #d8e4ef;border-radius:999px;padding:9px 13px;font-weight:700}.content{padding:28px}.toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.search{background:#fff;border:1px solid #d7e1eb;border-radius:10px;align-items:center;min-width:320px;padding:0 12px;display:flex}.search svg{color:#71869a;width:18px}.search input{border:0;outline:0;width:100%;padding:12px}.primary,.danger{border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:800;display:inline-flex}.primary{color:#fff;background:#0a5ba8}.danger{color:#a11;background:#fde7e7}.upload input{display:none}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;display:grid}.card{text-align:left;background:#fff;border:1px solid #dce5ee;border-radius:14px;padding:20px;box-shadow:0 5px 20px #1432500d}.project-card:hover{border-color:#8fb7db;transform:translateY(-2px)}.card-icon{color:#0a5ba8;background:#e7f1fb;border-radius:11px;place-items:center;width:44px;height:44px;margin-bottom:25px;display:grid}.card h3{font-size:18px}.card p{color:#496175;margin-top:7px}.card span{color:#8796a5;margin-top:8px;font-size:13px;display:block}.list{gap:10px;display:grid}.drawing-row{text-align:left;background:#fff;border:1px solid #dce5ee;border-radius:12px;grid-template-columns:48px 1fr 30px;align-items:center;padding:14px 18px;display:grid}.drawing-row>div span{color:#7c8c9b;margin-top:5px;font-size:12px;display:block}.pdf-badge{color:#fff;background:#e93c3c;border-radius:8px;place-items:center;width:40px;height:40px;font-size:12px;font-weight:900;display:grid}.empty{text-align:center;color:#718194;background:#fff;border:1px dashed #b9c9d8;border-radius:14px;padding:50px}.viewer{flex-direction:column;height:calc(100vh - 84px);display:flex}.viewer-tools{background:#fff;border-bottom:1px solid #dce5ee;justify-content:space-between;align-items:center;gap:10px;padding:9px 16px;display:flex}.viewer-tools>div{align-items:center;gap:8px;display:flex}.viewer-tools button{background:#fff;border:1px solid #d4dee8;border-radius:7px;min-width:34px;height:34px}.viewer-tools label{align-items:center;gap:8px;font-size:13px;display:flex}.viewer-tools select{border:1px solid #d4dee8;border-radius:7px;padding:7px}.canvas-scroll{background:#cdd7e0;flex:1;padding:25px;overflow:auto}.canvas-wrap{width:max-content;margin:auto;line-height:0;position:relative;box-shadow:0 10px 30px #0003}.canvas-wrap canvas{background:#fff;display:block}.pin{color:#e53935;filter:drop-shadow(0 2px 2px #00000059);background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-90%)}.pin svg{fill:currentColor;width:36px;height:36px}.pin span{color:#fff;font-size:10px;font-weight:900;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.status-open{color:#d83a3a}.status-in-progress{color:#f09b2d}.status-ready-for-review{color:#7758c8}.status-complete{color:#20a05a}.status-closed{color:#617283}.pin-offline{opacity:.65}.modal-bg{z-index:20;background:#020f1d8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:min(560px,100%);max-height:90vh;padding:22px;overflow:auto;box-shadow:0 25px 60px #0000004d}.modal-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.icon-btn{background:#edf3f8;border:0;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.form{gap:15px;display:grid}.form label{gap:7px;font-size:13px;font-weight:800;display:grid}.form input,.form textarea,.form select{border:1px solid #cdd9e4;border-radius:9px;outline:none;width:100%;padding:11px}.form input:focus,.form textarea:focus,.form select:focus{border-color:#2780c9;box-shadow:0 0 0 3px #e0effb}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.actions{justify-content:flex-end;gap:10px;display:flex}.actions .danger{margin-right:auto}.error{color:#9b1c1c;background:#fff0f0;border:1px solid #efb2b2;border-radius:9px;justify-content:space-between;align-items:center;margin:15px 28px 0;padding:11px 14px;display:flex}.error button{background:0 0;border:0}.login,.splash{background:radial-gradient(circle at top,#eaf5ff,#dbe7f1);place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:18px;width:min(420px,100% - 32px);padding:35px;box-shadow:0 20px 60px #1432502e}.login-card>img,.splash img{object-fit:contain;width:80px;height:80px}.login-card h1{margin-top:15px}.login-card>p{color:#6f8192;margin:8px 0 24px}.login-card small{text-align:center;color:#8a99a7;margin-top:18px;display:block}.splash{text-align:center}.splash p{color:#607589;margin-top:8px}@media (width<=800px){.app{display:block}.side{z-index:10;flex-direction:row;height:70px;min-height:auto;padding:10px 14px;position:sticky;top:0}.brand{padding:0}.brand img{width:40px;height:40px}.side nav{display:none}.side-bottom{margin:0 0 0 auto;display:flex}.side-bottom .online,.side-bottom .offline,.side-bottom button{font-size:0}.side-bottom svg{width:22px}.app main header{height:72px;padding:0 15px;top:70px}.user-chip{display:none}.content{padding:16px}.toolbar{align-items:stretch}.search{flex:1;min-width:0}.grid{grid-template-columns:1fr}.viewer{height:calc(100vh - 142px)}.viewer-tools{flex-wrap:wrap}.form-row{grid-template-columns:1fr}}.image-upload{color:#0a5ba8;background:#f3f8fc;border:1px dashed #8eb3d3;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:13px;grid-template-columns:none!important;display:flex!important}.image-upload input{display:none}.file-note{color:#496175;font-size:13px}.attachment-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.attachment{aspect-ratio:1;background:#edf3f8;border-radius:10px;position:relative;overflow:hidden}.attachment img{object-fit:cover;width:100%;height:100%}.attachment button{color:#a11;background:#ffffffe6;border:0;border-radius:7px;width:30px;height:30px;position:absolute;top:5px;right:5px}.attachment button svg{width:16px}.image-loading{place-items:center;height:100%;font-size:12px;display:grid}.report-filters{background:#fff;border:1px solid #dce5ee;border-radius:14px;grid-template-columns:1.4fr repeat(4,1fr) auto;align-items:end;gap:12px;padding:16px;display:grid}.report-filters label{gap:6px;font-size:12px;font-weight:800;display:grid}.report-filters select,.report-filters input{border:1px solid #cdd9e4;border-radius:8px;min-width:0;padding:10px}.summary-grid{grid-template-columns:repeat(6,1fr);gap:12px;margin:18px 0;display:grid}.summary-grid>div{background:#fff;border:1px solid #dce5ee;border-radius:12px;padding:17px}.summary-grid strong{color:#0a5ba8;font-size:26px;display:block}.summary-grid span{color:#718194;font-size:12px}.report-actions{justify-content:flex-end;gap:9px;margin-bottom:12px;display:flex}.report-actions button{background:#fff;border:1px solid #cdd9e4;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;display:flex}.report-actions svg{width:17px}.report-table-wrap{background:#fff;border:1px solid #dce5ee;border-radius:14px;overflow:auto}.report-table{border-collapse:collapse;width:100%;min-width:950px}.report-table th,.report-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e7edf3;padding:13px 14px}.report-table th{color:#607589;background:#f7fafc;font-size:12px}.report-table td{font-size:13px}.report-table small{color:#7c8c9b;white-space:nowrap;text-overflow:ellipsis;max-width:320px;margin-top:4px;display:block;overflow:hidden}.status-pill{background:#eef2f6;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-block}.status-pill.status-open{background:#fde7e7}.status-pill.status-in-progress{background:#fff0d9}.status-pill.status-ready-for-review{background:#ede8fb}.status-pill.status-complete{background:#e0f6e9}.status-pill.status-closed{background:#e8edf1}@media (width<=1000px){.report-filters{grid-template-columns:1fr 1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.report-filters{grid-template-columns:1fr}.attachment-grid{grid-template-columns:repeat(2,1fr)}.side nav{display:flex;overflow:auto}.side{align-items:center;height:auto;min-height:70px}.brand div{display:none}.side nav button{padding:10px;font-size:0}.side nav button svg{width:22px}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media print{.side,header,.report-filters,.report-actions{display:none!important}.app{display:block}.content{padding:0}.report-table-wrap{border:0}.summary-grid{grid-template-columns:repeat(6,1fr)}}.toolbar-actions{gap:10px;display:flex}.secondary{color:#16466f;background:#fff;border:1px solid #b8c9d9;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:800;display:inline-flex}.notice{color:#245777;background:#eef7ff;border:1px solid #b8d7ef;border-radius:11px;align-items:center;gap:10px;margin-bottom:18px;padding:13px 15px;display:flex}.folder-stack{gap:18px;display:grid}.folder-section{background:#f7fafc;border:1px solid #dce5ee;border-radius:14px;padding:14px}.folder-title{color:#16466f;align-items:center;gap:9px;margin-bottom:11px;display:flex}.folder-title svg{width:20px}.folder-title span{background:#dfeaf4;border-radius:999px;margin-left:auto;padding:4px 8px;font-size:12px;font-weight:800}.folder-empty{color:#80909e;text-align:center;padding:18px}.modal-wide{width:min(1120px,100%)}.organizer-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.organizer-head p{color:#6d8092;margin-top:4px}.organizer-controls{gap:8px;display:flex}.organizer-controls button{background:#fff;border:1px solid #cdd9e4;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;display:flex}.organizer-controls svg{width:17px}.bulk-folder{background:#f4f8fb;border-radius:10px;gap:10px;margin-bottom:14px;padding:11px;display:flex}.bulk-folder select{border:1px solid #cdd9e4;border-radius:8px;min-width:220px;padding:9px}.page-organizer{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.page-card{background:#fff;border:1px solid #cfdce8;border-radius:12px;grid-template-columns:165px 1fr;gap:13px;padding:11px;display:grid;position:relative}.page-card.excluded{opacity:.48;background:#eef1f3}.page-card>img{object-fit:contain;background:#e7edf2;border-radius:8px;width:100%;height:215px}.page-check{z-index:1;color:#0a5ba8;background:#fff;border:0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:17px;left:17px;box-shadow:0 2px 8px #0003}.page-check svg{width:20px}.page-fields{gap:8px;display:grid}.page-fields label{gap:4px;font-size:11px;font-weight:800;display:grid}.page-fields input,.page-fields textarea,.page-fields select{border:1px solid #cdd9e4;border-radius:7px;width:100%;padding:8px}.page-number{color:#5d7488;font-size:12px;font-weight:800}.sticky-actions{background:#fff;border-top:1px solid #dce5ee;align-items:center;margin-top:16px;padding:14px 0 0;position:sticky;bottom:-22px}.sticky-actions span{color:#526a7f;margin-right:auto;font-weight:700}@media (width<=900px){.page-organizer{grid-template-columns:1fr}.page-card{grid-template-columns:120px 1fr}.page-card>img{height:180px}.organizer-head{flex-direction:column;align-items:flex-start}.bulk-folder{flex-direction:column}.toolbar-actions{flex-wrap:wrap}}.check-line{align-items:center;gap:.65rem;font-weight:600;display:flex!important}.check-line input{width:auto!important}.project-access-list{border:1px solid #dfe5ec;border-radius:12px;gap:8px;max-height:220px;padding:10px;display:grid;overflow:auto}.latest-photo-report{gap:18px;display:grid}.photo-report-card{break-inside:avoid;background:#fff;border:1px solid #e3e8ef;border-radius:16px;grid-template-columns:minmax(180px,320px) 1fr;gap:20px;padding:18px;display:grid}.photo-report-card img{object-fit:cover;border-radius:12px;width:100%;max-height:280px}.photo-report-card h3{margin:0 0 8px}.photo-report-card p{margin:5px 0}.photo-report-card small{color:#667085}.upload input{opacity:0;width:1px;height:1px;position:absolute}.toolbar-actions{flex-wrap:wrap}@media (width<=720px){.toolbar{align-items:stretch}.toolbar-actions{grid-template-columns:1fr;gap:10px;display:grid!important}.toolbar-actions button,.toolbar-actions .upload{justify-content:center;width:100%;min-height:48px}.upload{font-size:16px}.modal-wide{max-height:94vh;width:96vw!important}.page-organizer{grid-template-columns:1fr!important}.page-card{grid-template-columns:42px 90px 1fr!important}.page-card img{width:90px!important}.photo-report-card{grid-template-columns:1fr}.report-filters{grid-template-columns:1fr 1fr}.report-filters button{grid-column:1/-1}.side{width:74px}.side .brand div,.side nav button:not(.active){font-size:0}.side nav button svg{margin:0}.side-bottom button,.side-bottom .online,.side-bottom .offline{font-size:0}main{margin-left:74px}}@media print{.side,header,.report-filters,.report-actions,.summary-grid{display:none!important}main{margin:0!important}.photo-report-card{page-break-inside:avoid;border:1px solid #bbb}.latest-photo-report{display:block}.photo-report-card{margin-bottom:16px}}.mobile-menu{display:none}.project-card-wrap{position:relative;overflow:hidden;padding:0!important}.project-open{text-align:left;width:100%;height:100%;color:inherit;background:0 0;border:0;padding:20px;display:block}.card-delete,.row-delete,.mini-danger{color:#a51f1f;background:#fff0f0;border:0;border-radius:9px;place-items:center;display:grid}.card-delete{width:36px;height:36px;position:absolute;top:10px;right:10px}.card-delete svg,.row-delete svg,.mini-danger svg{width:17px}.drawing-row-wrap{align-items:stretch;padding:0!important;display:flex!important}.drawing-open{text-align:left;color:inherit;background:0 0;border:0;flex:1;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.row-delete{width:46px;margin:7px}.folder-title .mini-danger{width:34px;height:34px;margin-left:0}.zoom-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.zoom-tools button{min-height:36px;padding:6px 10px}.zoom-tools button svg{width:16px}.move-banner{background:#fff4cc;border:1px solid #e6c95e;border-radius:10px;align-items:center;gap:8px;margin:10px 14px 0;padding:10px 12px;display:flex}.move-banner svg{width:18px}.move-banner button{background:#fff;border:0;border-radius:8px;margin-left:auto;padding:7px 10px}.move-mode .canvas-wrap{cursor:crosshair}.pin-moving{transform:translate(-50%,-100%)scale(1.18);box-shadow:0 0 0 5px #ffc10759}.canvas-scroll{overscroll-behavior:contain;touch-action:pan-x pan-y}.canvas-wrap{transform-origin:0 0}@media (width<=800px){.app{display:block}.mobile-menu{margin-right:8px;display:grid!important}.side{z-index:50;transition:transform .2s;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:10px 0 30px #0000002e;flex-direction:column!important;width:min(82vw,300px)!important;height:100dvh!important;min-height:100dvh!important;padding:16px 12px!important;display:flex!important;position:fixed!important}.side.side-open{transform:translate(0)}.side .brand{padding:4px 6px 18px}.side .brand div{display:block!important}.side nav{overflow:visible;display:grid!important}.side nav button{padding:12px!important;font-size:14px!important}.side-bottom{margin-top:auto!important;display:block!important}.side-bottom .online,.side-bottom .offline,.side-bottom button{font-size:13px!important}.app main,main{width:100%!important;margin-left:0!important}.app main header{z-index:30;height:66px!important;padding:0 12px!important;top:0!important}.content{padding:12px!important}.toolbar{gap:12px}.viewer{height:calc(100dvh - 66px)!important}.viewer-tools{z-index:15;align-items:center;position:sticky;top:0;gap:7px!important;padding:8px!important}.viewer-tools>div:first-child span{display:none}.zoom-tools{background:#f5f8fb;border-radius:10px;order:3;justify-content:center;width:100%;padding:5px}.zoom-tools button{min-width:42px}.canvas-scroll{height:calc(100dvh - 154px)!important}.move-banner{z-index:16;position:sticky;top:78px}.modal{width:calc(100vw - 18px)!important;max-height:94dvh!important;padding:16px!important}.actions{flex-wrap:wrap}.actions button{min-height:44px}.drawing-open{grid-template-columns:auto 1fr auto}.folder-title h3{text-overflow:ellipsis;min-width:0;overflow:hidden}.report-filters{grid-template-columns:1fr!important}.project-card-wrap .card-delete{opacity:1}}.project-status{border:1px solid;border-radius:999px;margin-top:8px;padding:3px 8px;font-weight:700;display:inline-block}.row-actions{align-items:center;gap:6px;display:flex}.row-actions select{max-width:150px}.pin-dimmed{opacity:.16;filter:grayscale()}.pin-linked:after{content:"↳";background:#fff;border-radius:50%;padding:1px;font-size:10px;position:absolute;top:-7px;right:-5px}.asset-card{background:#f7fafc;border:1px solid #dbe4ee;border-radius:10px;gap:4px;padding:12px;display:grid}.asset-card code{font-size:16px;font-weight:800}.forms-box{border:1px solid #dbe4ee;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.forms-box>div{display:grid}.forms-box span{color:#64748b;font-size:12px}.submodal{background:#f8fafc;border:2px solid #dbe4ee;border-radius:12px;gap:10px;margin-top:12px;padding:14px;display:grid;position:relative}.submodal-head{justify-content:space-between;display:flex}.config-block{background:#fff;border:1px solid #dbe4ee;border-radius:14px;margin:18px 0;padding:16px}.config-row{grid-template-columns:48px minmax(160px,1fr) minmax(180px,1fr) auto auto;align-items:center;gap:8px;margin:8px 0;display:grid}.config-row input[type=color]{width:46px;height:38px;padding:2px}.config-row input{min-width:0}@media (width<=760px){.config-row{grid-template-columns:44px 1fr auto}.config-row input[placeholder="Simpro Asset Type"]{grid-column:1/-1}.row-actions select{max-width:110px}.viewer-tools{align-items:flex-start}.viewer-tools label{min-width:120px}}@media (orientation:landscape) and (height<=650px) and (width<=1200px){.app{display:block!important}.mobile-menu{z-index:61;position:relative;display:grid!important}.side{z-index:60;transition:transform .18s;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:12px 0 34px #00000040;flex-direction:column!important;width:min(72vw,290px)!important;height:100dvh!important;min-height:100dvh!important;padding:12px 10px!important;display:flex!important;position:fixed!important}.side.side-open{transform:translate(0)}.side .brand{padding:2px 5px 10px!important}.side .brand img{width:38px!important;height:38px!important}.side .brand strong{font-size:16px!important}.side .brand span{font-size:10px!important}.side nav{gap:3px!important;display:grid!important;overflow:auto!important}.side nav button{min-height:36px!important;padding:8px 10px!important;font-size:13px!important}.side-bottom{gap:2px!important;margin-top:auto!important;display:grid!important}.side-bottom .online,.side-bottom .offline,.side-bottom button{padding:7px 9px!important;font-size:12px!important}.app main,main{width:100%!important;margin-left:0!important}.app main header{z-index:40;height:50px!important;padding:0 8px!important;top:0!important}header h1{white-space:nowrap;text-overflow:ellipsis;max-width:60vw;overflow:hidden;font-size:17px!important}header p,.user-chip{display:none!important}.content{padding:9px!important}.viewer{height:calc(100dvh - 50px)!important}.viewer-tools{scrollbar-width:none;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:5px!important;padding:5px 7px!important;overflow-x:auto!important}.viewer-tools::-webkit-scrollbar{display:none}.viewer-tools>div:first-child{display:none!important}.viewer-tools label{flex:none;font-size:11px!important}.viewer-tools select{max-width:125px;padding:5px!important}.zoom-tools{background:#f5f8fb;border-radius:8px;flex-wrap:nowrap!important;flex:none!important;order:0!important;width:auto!important;padding:2px!important}.zoom-tools button{min-width:34px!important;height:30px!important;min-height:30px!important;padding:3px 7px!important;font-size:11px!important}.zoom-tools span{text-align:center;min-width:38px;font-size:11px}.canvas-scroll{height:auto!important;padding:8px!important}.move-banner{z-index:25;font-size:12px;position:absolute;top:55px;left:8px;right:8px;margin:0!important;padding:7px 9px!important}.modal{width:min(720px,100vw - 16px)!important;max-height:96dvh!important;padding:12px!important}.modal-head{margin-bottom:10px!important}.form{gap:9px!important}.form-row{gap:8px!important}.form input,.form textarea,.form select{padding:8px!important}}.pin-ref,.linked-master-ref{color:#7c8c9b;font-size:11px;font-weight:700}.pin-ref{letter-spacing:.02em}.linked-master-ref{margin-top:2px;font-weight:600;display:block}.saved-form-list{gap:7px;margin:10px 0;display:grid}.saved-form-row{text-align:left;background:#fff;border:1px solid #dce3ec;border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 10px;display:flex}.saved-form-row svg{width:18px}.saved-form-row span{gap:2px;display:grid}.saved-form-row small{color:#6b778c}.submodal-head>div{gap:2px;display:grid}.submodal-head small{color:#6b778c}.commissioning-meta{grid-template-columns:1fr 1fr;gap:10px;display:grid}.commissioning-tests{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.linked-device-list{background:#f8fafc;border:1px solid #dce3ec;border-radius:10px;gap:4px;padding:10px;display:grid}.linked-device-list div{color:#516079;font-size:12px}@media (width<=700px){.commissioning-meta,.commissioning-tests{grid-template-columns:1fr}}.project-card-stats{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.project-card-stats span{background:#f0f5fa;border-radius:999px;align-items:center;gap:4px;padding:5px 8px;font-weight:700;color:#52687b!important;margin:0!important;font-size:11px!important;display:inline-flex!important}.project-card-stats svg{width:13px;height:13px}.drawing-pin-summary{color:#62778a;justify-content:center;align-items:center;gap:4px;min-width:42px;font-size:12px;font-weight:800;display:inline-flex}.drawing-pin-summary svg{width:17px;height:17px}.drawing-pin-summary span{color:inherit!important;margin:0!important;font-size:12px!important}@media (width<=800px){.project-card-stats{margin-top:10px}.drawing-pin-summary{min-width:36px}}.drawing-pin-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;min-width:72px;display:flex}.drawing-pin-summary>svg{width:15px}.drawing-pin-summary>strong{font-size:13px}.pin-count-chip{color:#475569;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:2px 5px;font-size:10px}.markup-toolbar{background:#fff;border:1px solid #dbe3ee;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 12px 0;padding:7px 10px;display:flex;box-shadow:0 1px 2px #0f172a0a}.markup-tool-group{gap:4px;display:flex}.markup-tool-group button{background:#fff;border:1px solid #dbe3ee;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.markup-tool-group button.active{color:#1d4ed8;background:#e9f1ff;border-color:#2563eb}.markup-tool-group svg{width:18px;height:18px}.markup-color{align-items:center;gap:5px;font-size:12px;display:flex}.markup-color input{border:1px solid #dbe3ee;border-radius:5px;width:34px;height:30px;padding:1px}.markup-text-input{min-width:150px;height:34px}.markup-toolbar select{height:34px}.markup-toolbar small{color:#64748b}.drawing-markup{z-index:5;transform-origin:0;cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute}.markup-text{white-space:nowrap;text-shadow:0 1px 2px #fff;font-size:15px;font-weight:700;transform:translate(-2px,-50%)}.markup-symbol{background:#ffffffdb;border:2px solid;border-radius:6px;place-items:center;width:30px;height:30px;display:grid;transform:translate(-50%,-50%)}.markup-symbol svg{width:20px;height:20px}.markup-line{border-top:3px solid;height:0}.markup-arrow:after{content:"";border-top:3px solid;border-right:3px solid;width:9px;height:9px;position:absolute;top:-6px;right:-1px;transform:rotate(45deg)}.markup-shape{background:#ffffff08;border:3px solid}.markup-circle{border-radius:50%}@media (width<=720px){.markup-toolbar{gap:5px;margin:5px 6px 0;padding:5px}.markup-toolbar small{display:none}.markup-tool-group{max-width:100%;overflow-x:auto}.markup-text-input{min-width:100px;max-width:150px}.drawing-pin-summary .pin-count-chip:nth-of-type(n+4){display:none}}.markup-selected{outline-offset:4px;filter:drop-shadow(0 0 3px #2563eb8c);z-index:8;outline:3px solid #2563eb!important}.drawing-markup{touch-action:none}.compact{align-items:center;gap:4px;height:34px;display:inline-flex}.compact svg{width:16px;height:16px}.mini-danger.compact:disabled,.secondary.compact:disabled{opacity:.4;cursor:not-allowed}.drawing-scroll{overscroll-behavior:contain;touch-action:pan-x pan-y;background:#cdd7e0;flex:1;padding:25px;overflow:auto}.drawing-stage{width:max-content;margin:auto;line-height:0;position:relative;box-shadow:0 10px 30px #0003}.drawing-stage canvas{background:#fff;display:block}.drawing-load-error{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:10px;max-width:520px;margin:30px auto;padding:24px;display:grid}.drawing-load-error span{color:#64748b;font-size:13px}.drawing-load-error button{color:#fff;background:#0a5ba8;border:0;border-radius:8px;justify-self:center;padding:9px 14px;font-weight:700}@media (width<=720px){.drawing-scroll{padding:8px}}
