*,:before,:after{box-sizing:border-box}:root{--navy:#111;--navy-lt:#2a2a2a;--teal:#2aacbf;--teal-dk:#1b93a5;--green:#16a34a;--red:#dc2626;--orange:#ea580c;--white:#fff;--g50:#f9fafb;--g100:#f0f2f6;--g200:#e4e8ef;--g300:#c8d0dc;--g400:#94a3b8;--g500:#64748b;--g600:#475569;--g700:#334155;--text:#1a2332;--radius:7px;--nav-h:64px;--shadow:0 1px 3px #0000000f, 0 4px 16px #00000012;--shadow-lg:0 8px 30px #0000001f, 0 2px 8px #0000000f}body{background:var(--g100);color:var(--text);margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.top-nav{z-index:20;height:var(--nav-h);background:linear-gradient(#181818 0%,#111 100%);align-items:center;gap:12px;padding:0 20px;display:flex;position:fixed;inset:0 0 auto;box-shadow:0 2px 12px #00000059}.brand{color:#fff;background:0 0;border:0;flex-direction:column;padding:0;line-height:1;display:flex}.brand-main,.login-logo{letter-spacing:2.5px;font-size:18px;font-weight:900}.brand-main span,.login-logo span{color:var(--teal);font-size:22px}.brand-sub{color:#ffffff6b;letter-spacing:4px;text-transform:uppercase;margin-top:4px;font-size:8px;font-weight:700}.project-picker{color:#fff;border-radius:var(--radius);background:#ffffff12;border:1px solid #ffffff1f;align-items:center;gap:7px;min-width:220px;padding:7px 11px;display:flex}.project-picker select{color:#fff;background:0 0;border:0;outline:0;width:100%}.project-picker option{color:#fff;background:#222}.nav-links{gap:3px;display:flex}.nav-item{color:#ffffffa6;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:8px 11px;font-size:13px;font-weight:600;display:flex}.sidebar .nav-item{width:100%;color:var(--g600)}.nav-item:hover{color:#fff;background:#ffffff1a}.sidebar .nav-item:hover{background:var(--g100);color:var(--text)}.nav-item.active{background:var(--teal);color:#fff;box-shadow:0 2px 10px #2aacbf66}.refresh-btn,.icon-btn{color:#fff;background:#ffffff17;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 10px;display:inline-flex}.refresh-btn{margin-left:auto}.user-chip{color:#ffffffc7;background:0 0;border:0;align-items:center;gap:8px;font-size:13px;display:flex}.user-chip-button{border-radius:8px;padding:3px 6px}.user-chip-button:hover{background:#ffffff17}.avatar{background:var(--teal);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:inline-flex}.avatar.large{width:42px;height:42px}.avatar.small{width:30px;height:30px;font-size:11px}.avatar-img{object-fit:cover;border:2px solid #fff3;border-radius:999px;width:34px;height:34px}.app-body{min-height:100vh;padding-top:var(--nav-h);display:flex}.sidebar{border-right:1px solid var(--g200);background:#fff;flex:0 0 230px;width:230px;padding:14px 9px}.side-label{color:var(--g400);letter-spacing:1px;text-transform:uppercase;margin:16px 10px 7px;font-size:10px;font-weight:800}.side-project{width:100%;color:var(--g700);text-align:left;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.side-project:hover,.side-project.active{background:var(--g100)}.side-project span{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.side-project small{color:var(--g500)}.main{width:100%;min-width:0;padding:22px 26px 38px}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-actions{flex:none;align-items:center;gap:8px;display:flex}.page-header h1{color:var(--navy);margin:0;font-size:22px;line-height:1.15}.page-header p{color:var(--g500);margin:5px 0 0;font-size:13px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat,.panel,.person-card,.file-card{border:1px solid var(--g200);box-shadow:var(--shadow);background:#fff;border-radius:8px}.stat{border-top:3px solid var(--teal);padding:17px 18px}.stat-red{border-top-color:var(--red)}.stat strong{color:var(--navy);font-size:31px;line-height:1;display:block}.stat-red strong{color:var(--red)}.stat span{color:var(--g500);margin-top:6px;font-size:12px;font-weight:700;display:block}.split{grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);gap:16px;display:grid}.dashboard-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.panel{margin-bottom:16px;padding:0;overflow:hidden}.panel-head{border-bottom:1px solid var(--g200);background:#fff;justify-content:space-between;align-items:center;gap:12px;min-height:46px;margin-bottom:0;padding:0 18px;display:flex}.panel h2,.panel-head h2{color:var(--navy);margin:0;font-size:15px}.panel-head h2{margin:0}.panel>:not(.panel-head){margin:18px}.panel>.table-wrap,.panel>.dashboard-activity-grid,.panel>.file-grid,.panel>.kanban{margin:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--g500);background:var(--g50);border-bottom:2px solid var(--g200);letter-spacing:.6px;text-transform:uppercase;padding:11px 18px;font-size:11px;font-weight:800}td{border-bottom:1px solid var(--g100);padding:12px 18px;font-size:13px}tr:last-child td{border-bottom:0}.link-action{color:var(--navy);text-align:left;background:0 0;border:0;padding:0;font-weight:800}.link-action:hover{color:var(--teal-dk)}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.bg-green{color:#166534;background:#dcfce7}.bg-blue{color:#1e40af;background:#dbeafe}.bg-teal{color:#0e7490;background:#cffafe}.bg-orange{color:#92400e;background:#fef3c7}.bg-red{color:#991b1b;background:#fee2e2}.bg-gray{background:var(--g100);color:var(--g600)}.search-box{border:1.5px solid var(--g200);border-radius:var(--radius);background:#fff;align-items:center;gap:8px;width:min(260px,100%);margin:0;padding:8px 11px;display:flex}.search-box input{border:0;outline:0;width:100%}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:16px;display:grid}.summary-item{border:1px solid var(--g200);border-radius:9px;padding:10px}.summary-item span{color:var(--g500);text-transform:uppercase;font-size:11px;font-weight:700;display:block}.summary-item strong{color:var(--navy);margin-top:5px;display:block}.project-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.project-hero{grid-template-columns:minmax(0,1fr) 150px;align-items:start;gap:18px;margin-bottom:16px;display:grid}.project-hero p{color:var(--g600);margin:8px 0 0;font-size:13px}.lot-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr)}.lot-summary{margin:0}.project-meta{color:var(--g500);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.progress-block{border:1px solid var(--g200);background:var(--g50);border-radius:10px;padding:12px}.progress-block strong{color:var(--navy);font-size:26px;line-height:1;display:block}.progress-block span{color:var(--g500);margin-top:5px;font-size:11px;font-weight:800;display:block}.progress-track{background:var(--g200);border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.progress-track span{background:var(--teal);height:100%;margin:0;display:block}.tabs{border-bottom:1px solid var(--g200);gap:0;margin:18px 0 16px;padding:0 18px;display:flex;overflow-x:auto}.tab{color:var(--g500);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 14px;font-size:13px;font-weight:800}.tab:hover,.tab.active{color:var(--teal-dk);border-bottom-color:var(--teal)}.project-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.mini-list{border:1px solid var(--g200);border-radius:10px;min-width:0;padding:12px}.mini-list h3{color:var(--navy);margin:0 0 10px;font-size:13px}.compact-row{border-top:1px solid var(--g100);justify-content:space-between;gap:12px;padding:9px 0;font-size:12px;display:flex}.compact-row:first-of-type{border-top:0;padding-top:0}.compact-row span{color:var(--g500);text-align:right}.project-forms-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.timeline{gap:0;display:grid}.tl-item{gap:12px;padding:0 0 16px;display:flex;position:relative}.tl-item:not(:last-child):before{content:"";background:var(--g200);width:2px;position:absolute;top:28px;bottom:0;left:13px}.tl-dot{background:var(--teal);z-index:1;border-radius:999px;flex:none;width:28px;height:28px;margin-top:2px}.tl-dot.pri-low{background:var(--g300)}.tl-dot.pri-high{background:var(--red)}.tl-dot.pri-normal{background:var(--teal)}.tl-body{border:1px solid var(--g200);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:10px;flex:1;padding:11px 14px}.tl-title{color:var(--navy);font-size:13px;font-weight:800}.tl-text{color:var(--g600);margin-top:4px;font-size:12px;line-height:1.5}.tl-ts{color:var(--g400);margin-top:6px;font-size:11px}.project-chat{gap:12px;display:grid}.chat-feed{border:1px solid var(--g200);background:var(--g50);border-radius:10px;gap:10px;max-height:430px;padding:12px;display:grid;overflow:auto}.chat-message{align-items:flex-start;gap:10px;display:flex}.chat-bubble{border:1px solid var(--g200);background:#fff;border-radius:10px;min-width:0;max-width:min(760px,100%);padding:9px 11px}.chat-meta{color:var(--g400);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;font-size:11px;font-weight:700;display:flex}.chat-meta strong{color:var(--navy);font-size:12px}.chat-bubble p{color:var(--text);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.45}.chat-compose{border:1px solid var(--g200);background:#fff;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;display:grid}.chat-compose svg{color:var(--g400)}.chat-compose input{border:1.5px solid var(--g300);border-radius:9px;outline:0;width:100%;padding:10px 11px}.chat-compose input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2aacbf1f}.activity-list{gap:8px;display:grid}.activity-row{width:100%;color:inherit;text-align:left;border:0;border-top:1px solid var(--g100);background:0 0;grid-template-columns:116px minmax(0,1fr);align-items:start;gap:12px;padding:10px 0;display:grid}.activity-row:first-child{border-top:0;padding-top:0}.activity-row-button:hover strong{color:var(--teal-dk)}.activity-row strong{color:var(--navy);font-size:13px;display:block}.activity-row small{color:var(--g500);margin-top:3px;font-size:11px;line-height:1.45;display:block}.section-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-actions p{color:var(--g500);margin:0;font-size:13px}.activity-type{background:var(--g100);color:var(--g600);letter-spacing:.4px;text-transform:uppercase;border-radius:999px;justify-self:start;padding:4px 8px;font-size:10px;font-weight:900}.calendar-title{color:var(--navy);margin:-2px 0 12px;font-size:14px;font-weight:900}.calendar-grid{border:1px solid var(--g200);background:#fff;border-radius:10px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-dow{background:var(--g50);border-right:1px solid var(--g200);border-bottom:1px solid var(--g200);color:var(--g500);letter-spacing:.5px;text-transform:uppercase;padding:9px 10px;font-size:10px;font-weight:900}.calendar-dow:nth-child(7){border-right:0}.calendar-day{border-right:1px solid var(--g200);border-bottom:1px solid var(--g200);background:#fff;min-height:92px;padding:8px}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day.muted{background:var(--g50);color:var(--g400)}.calendar-day strong{margin-bottom:6px;font-size:12px;display:block}.calendar-event{border-left:3px solid var(--teal);color:#0e6470;text-overflow:ellipsis;background:#e6f8fb;border-radius:6px;margin-top:4px;padding:4px 6px;font-size:11px;font-weight:800;line-height:1.25;display:block;overflow:hidden}.card-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px;display:grid}.person-card{align-items:center;gap:12px;padding:14px;display:flex;position:relative}.person-card>div{min-width:0}.person-card strong,.file-card strong{color:var(--navy);font-size:13px;display:block}.person-card p{color:var(--g500);margin:3px 0;font-size:12px}.person-card small,.file-card small,.note-card small{color:var(--g500)}.file-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;display:grid}.file-card{border:1px solid var(--g200);text-align:left;border-radius:7px;padding-bottom:12px;overflow:hidden}.file-card-button{background:#fff;width:100%}.file-card-button:hover{border-color:var(--teal);box-shadow:0 0 0 3px #2aacbf1f}.file-card strong,.file-card small{padding:0 12px}.file-thumb{height:96px;color:var(--g400);background:var(--g50);justify-content:center;align-items:center;margin-bottom:10px;display:flex}.kanban{border:1px solid var(--g200);background:#fff;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.lane{border:0;border-right:1px solid var(--g200);background:#fff;border-radius:0;min-height:260px;padding:12px}.lane:last-child{border-right:0}.lane h2{border-bottom:1px solid var(--g200);color:var(--g600);background:var(--g50);text-align:center;margin:-12px -12px 12px;padding:10px 12px;font-size:13px}.stack{gap:10px;display:grid}.note-card{border:1px solid var(--g200);background:#fff;border-radius:8px;padding:11px}.note-card p{color:var(--g600);margin:6px 0 8px;font-size:12px}.note-link{color:var(--teal-dk);margin-bottom:5px;font-weight:700;display:block}.lot-drop-zone{border:1.5px dashed var(--g300);background:var(--g50);width:100%;min-height:76px;color:var(--g600);border-radius:10px;place-items:center;gap:8px;margin-bottom:14px;font-size:12px;font-weight:800;display:grid}.file-drop-zone{border:1.5px dashed var(--g300);width:100%;min-height:130px;color:var(--g600);text-align:center;background:#fff;border-radius:8px;place-items:center;gap:4px;margin-bottom:18px;display:grid}.file-drop-zone svg{color:#fbbf24}.file-drop-zone strong{color:var(--text);font-size:14px}.file-drop-zone span{color:var(--g500);font-size:12px}.file-drop-zone:hover{border-color:var(--teal);background:#f8fdff}.lot-drop-zone svg{color:var(--teal)}.lot-drop-zone:hover{border-color:var(--teal);background:#e6f8fb}.profile-preview{border:1px solid var(--g200);background:var(--g50);border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.profile-preview img{object-fit:cover;border-radius:999px;width:64px;height:64px}.profile-preview strong{color:var(--navy);display:block}.profile-preview small{color:var(--g500)}.empty{color:var(--g400);text-align:center;padding:22px;font-size:13px}.status,.alert{border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:13px}.status{color:#0e7490;background:#cffafe}.alert.error{color:#991b1b;background:#fee2e2}.alert.success{color:#166534;background:#dcfce7}.selected-project{border-left:3px solid var(--teal);color:var(--g600);box-shadow:var(--shadow);background:#fff;border-radius:8px;margin:-8px 0 18px;padding:11px 14px}.login-screen{background:linear-gradient(90deg,#0000006b 0%,#00000047 44%,#0000009e 100%),url(/onyx-east-signin-bg-clean.png) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.login-screen:before{content:"";opacity:.72;pointer-events:none;background:linear-gradient(90deg,#0003,#0000 38%,#00000057);position:absolute;inset:0}.login-screen:after{content:"";pointer-events:none;background:linear-gradient(#0000002e,#00000075);position:absolute;inset:0}.login-card{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;border:1px solid #ffffff61;border-radius:14px;width:min(420px,100%);padding:30px;position:relative;box-shadow:0 20px 70px #00000057,0 2px 12px #0000002e}.login-logo{color:var(--navy);text-align:center}.login-subtitle{color:var(--g500);letter-spacing:3px;text-align:center;text-transform:uppercase;margin:4px 0 22px;font-size:11px;font-weight:700}.login-card h1{color:var(--navy);text-align:center;margin:0;font-size:24px}.login-card p{color:var(--g500);text-align:center;margin:8px 0 22px;font-size:13px}.login-card label{color:var(--g700);margin-bottom:14px;font-size:12px;font-weight:700;display:block}.login-card input{border:1.5px solid var(--g300);border-radius:10px;width:100%;margin-top:6px;padding:10px 12px}.login-card input:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #2aacbf1f}.primary-action{background:var(--teal);color:#fff;border:0;border-radius:10px;width:100%;padding:11px;font-weight:800}.primary-action:disabled{opacity:.65;cursor:wait}.text-link{width:100%;color:var(--teal-dk);text-align:center;background:0 0;border:0;margin-top:14px;padding:4px;font-size:13px;font-weight:800;display:block}.text-link:hover{color:var(--navy)}.primary-inline,.secondary-inline,.table-action,.card-action{border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.primary-inline{background:var(--teal);color:#fff;box-shadow:0 2px 10px #2aacbf3d}.primary-inline:disabled{opacity:.65;cursor:not-allowed}.secondary-inline{color:var(--g700);background:var(--g100)}.secondary-inline.active-inline{color:#fff;background:var(--teal);box-shadow:0 2px 10px #2aacbf3d}.table-action,.card-action{width:34px;min-height:34px;color:var(--g600);background:var(--g100);padding:0}.inline-actions{align-items:center;gap:6px;display:inline-flex}.card-action{flex:none;margin-left:auto}.card-actions{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.card-actions .card-action{margin-left:0}.compact-action{min-height:30px;padding:0 9px;font-size:11px}.email-form textarea{min-height:170px}.email-attachment-section{gap:9px;display:grid}.email-attachment-section>p{color:var(--g400);margin:0;font-size:12px;font-weight:700}.email-attachment-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.email-attachment-head strong{color:var(--g700);font-size:13px}.email-attachments{border:1px solid var(--g200);background:var(--g50);border-radius:9px;flex-wrap:wrap;gap:8px;padding:10px;display:flex}.email-attachments span{color:var(--g600);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:800;display:inline-flex}.email-attachments button{width:18px;height:18px;color:var(--g500);background:var(--g100);border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.email-attachment-picker{border:1px solid var(--g200);background:var(--g50);border-radius:9px;gap:10px;max-height:250px;padding:10px;display:grid;overflow:auto}.email-attachment-group{gap:5px;display:grid}.email-attachment-group h4{background:var(--g200);color:var(--g500);letter-spacing:.4px;text-transform:uppercase;border-radius:5px;margin:0;padding:5px 7px;font-size:11px;font-weight:900}.email-attachment-option{border:1px solid var(--g200);background:#fff;border-radius:7px;grid-template-columns:auto 72px minmax(0,1fr);align-items:center;gap:8px;padding:8px;display:grid}.email-attachment-option span{color:var(--g500);text-transform:uppercase;font-size:11px;font-weight:800}.email-attachment-option strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.icon-btn.light{color:var(--text);background:var(--g100)}.modal-backdrop{z-index:80;background:#1111116b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--g200);width:min(680px,100%);max-height:min(760px,100vh - 40px);box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;overflow:auto}.modal-large{width:min(1180px,100vw - 32px);max-height:calc(100vh - 28px)}.modal-large .modal-body{padding:28px 30px}.modal-large .fill-form,.modal-large .submitted-form{grid-template-columns:minmax(0,1fr)}.modal-large .fill-form .field-preview-list,.modal-large .submitted-answer-list{justify-self:center;width:100%;max-width:940px}.modal-head{z-index:1;border-bottom:1px solid var(--g200);background:#fff;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex;position:sticky;top:0}.modal-head h2{color:var(--navy);margin:0;font-size:18px}.modal-body{gap:16px;padding:20px;display:grid}.record-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;display:grid}.record-form .alert{grid-column:1/-1;margin-bottom:0}.record-form label{min-width:0;color:var(--g700);flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.record-form input,.record-form select,.record-form textarea{border:1.5px solid var(--g300);width:100%;color:var(--text);background:#fff;border-radius:9px;outline:0;padding:10px 11px}.checkbox-row{align-items:center;flex-direction:row!important}.checkbox-row input{width:auto;margin:0}.file-picker input{background:var(--g50);border-style:dashed}.field-preview-list{gap:8px;display:grid}.field-preview{border:1px solid var(--g200);background:var(--g50);border-radius:9px;gap:10px;padding:10px 12px;display:grid}.field-preview span{color:var(--navy);font-size:13px;font-weight:800}.field-preview small{color:var(--g500);text-transform:uppercase;font-size:11px;font-weight:800}.bulk-import{grid-template-columns:minmax(0,1fr)}.bulk-import-help{border:1px solid var(--g200);background:var(--g50);border-radius:10px;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:10px 14px;padding:12px;display:grid}.bulk-import-help div{border-right:1px solid var(--g200);padding-right:12px}.bulk-import-help strong{color:var(--navy);font-size:24px;line-height:1;display:block}.bulk-import-help span{color:var(--g500);text-transform:uppercase;font-size:11px;font-weight:800}.bulk-import-help p{color:var(--g600);grid-column:1/-1;margin:0;font-size:12px;line-height:1.45}.bulk-import-help code{color:var(--g700);background:#fff;border-radius:8px;grid-column:1/-1;padding:9px 10px;font-size:12px;overflow-x:auto}.csv-textarea{min-height:260px;font-family:Consolas,Courier New,monospace;line-height:1.45}.form-builder{grid-template-columns:220px minmax(0,1fr);gap:14px;min-height:360px;display:grid}.field-palette{border:1px solid var(--g200);background:var(--g50);border-radius:10px;flex-wrap:wrap;align-content:flex-start;align-items:stretch;gap:8px;padding:10px;display:flex}.field-palette .secondary-inline{background:#fff;justify-content:flex-start;width:100%}.builder-fields{align-content:start;gap:10px;display:grid}.builder-field{border:1px solid var(--g200);background:#fff;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.builder-field-head{grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;display:flex}.builder-field-head strong{color:var(--navy);font-size:13px}.builder-field label,.form-field-control{min-width:0;color:var(--g700);flex-direction:column;gap:6px;font-size:12px;font-weight:800;display:flex}.builder-field input,.builder-field select,.builder-field textarea,.form-field-control input,.form-field-control select,.form-field-control textarea{border:1.5px solid var(--g300);width:100%;color:var(--text);background:#fff;border-radius:9px;outline:0;padding:9px 10px}.builder-field textarea,.form-field-control textarea{resize:vertical;min-height:82px}.builder-preview{border-top:1px solid var(--g100);padding-top:10px}.form-section-heading{color:var(--navy);margin:0;font-size:16px}.form-choice-group{border:0;flex-wrap:wrap;gap:10px;margin:0;padding:0;display:flex}.form-choice-group legend{color:var(--g700);flex:0 0 100%;font-size:12px;font-weight:800}.form-choice-group label{color:var(--g600);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.project-lot-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.signature-preview{border:1.5px dashed var(--g300);min-height:76px;color:var(--g400);background:#fff;border-radius:9px;place-items:center;font-size:12px;font-weight:800;display:grid}.fill-form{gap:14px}.fill-form .field-preview-list{gap:10px}.signature-submit{border:1px solid var(--g200);background:var(--g50);border-radius:10px;padding:12px}.submitted-form{gap:16px}.form-document-head{color:#fff;background:linear-gradient(#181818 0%,#111 100%);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px;display:flex}.form-document-head.submitted{border-bottom:4px solid var(--teal)}.form-doc-brand{letter-spacing:2.3px;font-size:15px;font-weight:900}.form-doc-brand span{color:var(--teal);font-size:19px}.form-document-head h3{margin:14px 0 4px;font-size:21px;line-height:1.15}.form-document-head p{color:#ffffffad;margin:0;font-size:12px;font-weight:700}.form-doc-meta{border:1px solid var(--g200);background:var(--g50);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:10px;display:grid}.submitted-answer-list{border:1px solid var(--g200);background:#fff;border-radius:10px;gap:0;display:grid;overflow:hidden}.submitted-answer{border-bottom:1px solid var(--g200);background:#fff;gap:5px;padding:13px 14px;display:grid}.submitted-answer:last-child{border-bottom:0}.submitted-answer span{color:var(--g500);letter-spacing:.6px;text-transform:uppercase;font-size:10px;font-weight:800}.submitted-answer strong{color:var(--text);white-space:pre-wrap;font-size:13px;font-weight:700}.file-open-link{justify-self:start;text-decoration:none}.replace-file-form{border:1px solid var(--g200);background:#fff;border-radius:10px;gap:10px;padding:12px;display:grid}.replace-file-form label{color:var(--g700);gap:6px;font-size:12px;font-weight:800;display:grid}.replace-file-form input{border:1.5px dashed var(--g300);background:var(--g50);border-radius:9px;width:100%;padding:9px 10px}.replace-file-help{color:var(--g500);margin:-2px 0 2px;font-size:12px;line-height:1.4}.file-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.file-detail-body{gap:12px}.file-meta-strip{border:1px solid var(--g200);background:var(--g50);border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.file-meta-strip span{color:var(--g600);background:#fff;border-radius:7px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:inline-flex}.file-meta-strip strong{color:var(--g400);letter-spacing:.5px;text-transform:uppercase;font-size:10px}.file-preview{border:1px solid var(--g200);background:var(--g50);border-radius:10px;overflow:hidden}.markup-editor{gap:10px;display:grid}.markup-toolbar{border:1px solid var(--g200);background:var(--g50);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px;display:flex}.tool-group,.page-controls{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.page-controls{color:var(--g600);font-size:12px;font-weight:800}.tool-btn{border:1px solid var(--g200);width:34px;height:34px;color:var(--g600);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.tool-btn.active{border-color:var(--teal);color:var(--teal-dk);box-shadow:0 0 0 3px #2aacbf1f}.tool-btn:disabled{opacity:.45;cursor:not-allowed}.color-swatch{width:24px;height:24px;box-shadow:0 0 0 1px var(--g300);border:2px solid #fff;border-radius:50%}.color-swatch.active{box-shadow:0 0 0 2px var(--teal)}.markup-canvas-wrap{border:1px solid var(--g200);background:var(--g50);border-radius:10px;max-height:58vh;position:relative;overflow:auto}.markup-canvas-wrap canvas{max-width:100%;height:auto;display:block}.markup-draw-layer{cursor:crosshair;touch-action:none;position:absolute;inset:0 auto auto 0}.markup-loading{z-index:2;min-height:220px;color:var(--g500);background:#ffffffd1;place-items:center;font-size:13px;font-weight:800;display:grid;position:absolute;inset:0}.image-preview{justify-content:center;align-items:center;max-height:58vh;display:flex}.image-preview img{object-fit:contain;max-width:100%;max-height:58vh;display:block}.document-preview iframe{background:#fff;border:0;width:100%;height:min(58vh,520px);display:block}.media-preview{justify-content:center;align-items:center;padding:10px;display:flex}.media-preview video{width:100%;max-height:58vh}.audio-preview{padding:14px}.audio-preview audio{width:100%}.no-preview{min-height:180px;color:var(--g500);text-align:center;place-items:center;gap:8px;font-size:13px;display:grid}.range-row{grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:10px;display:grid}.range-row input[type=range]{accent-color:var(--teal);padding:0}.record-form textarea{resize:vertical;min-height:96px}.record-form input:focus,.record-form select:focus,.record-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2aacbf1f}.span-2{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.mobile-only{display:none}.mobile-drawer{z-index:40;width:min(320px,88vw);box-shadow:var(--shadow-lg);background:#fff;padding:14px;position:fixed;inset:0 auto 0 0}.drawer-head{color:var(--navy);justify-content:space-between;align-items:center;margin-bottom:14px;font-weight:800;display:flex}.mobile-drawer .icon-btn{background:var(--g100);color:var(--text)}.mobile-drawer .nav-item{width:100%;color:var(--g700)}.mobile-drawer .nav-item.active{color:#fff}@media (width<=1024px){.desktop-only,.sidebar{display:none}.mobile-only{display:inline-flex}.project-picker{flex:1;min-width:0}.main{padding:20px}.split,.kanban,.dashboard-activity-grid,.project-hero,.project-overview-grid,.project-forms-grid{grid-template-columns:1fr}.calendar-day{min-height:76px}}@media (width<=640px){.top-nav{gap:8px;padding:0 12px}.brand-sub,.project-picker{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column;align-items:stretch}.page-actions,.page-actions .primary-inline,.project-actions,.project-actions .secondary-inline{width:100%}.form-builder,.builder-field,.project-lot-fields{grid-template-columns:1fr}.field-palette .secondary-inline{flex:140px;width:auto}.tabs{margin-left:-16px;margin-right:-16px;padding:0 16px}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:12px 12px 0 0;width:100%;max-height:92vh}.modal-large{width:100%;max-height:94vh}.modal-large .modal-body{padding:18px}.activity-row{grid-template-columns:1fr;gap:6px}.calendar-grid{overflow-x:auto}.calendar-dow,.calendar-day{min-width:94px}.inline-actions{flex-wrap:wrap;justify-content:flex-end}.record-form{grid-template-columns:1fr}.span-2{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .primary-inline,.form-actions .secondary-inline{width:100%}.main{padding:16px}}
