:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#142033;background:#f4f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{cursor:pointer}.shell{min-height:100vh}.side{position:fixed;inset:0 auto 0 0;width:246px;background:#10243e;color:#dbe7f4;padding:24px 16px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.brandmark{width:38px;height:38px;background:#1688ff;border-radius:10px;display:grid;place-items:center;color:#fff}.brand b,.brand span,.user b,.user span{display:block}.brand span,.user span{font-size:12px;color:#91a4bb}.side nav{display:grid;gap:5px}.side nav a{color:#b9c8d9;text-decoration:none;display:flex;gap:12px;align-items:center;padding:11px 13px;border-radius:9px;font-weight:500}.side nav a:hover,.side nav a.active{background:#1d3a5d;color:#fff}.user{margin-top:auto;border-top:1px solid #29415f;padding:18px 5px 0;display:flex;gap:10px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;background:#dbeafe;color:#164c82;display:grid;place-items:center;font-weight:700}.user svg{margin-left:auto}main{margin-left:246px;min-height:100vh}header{height:72px;background:#fff;border-bottom:1px solid #e4eaf0;display:flex;align-items:center;gap:14px;padding:0 28px;position:sticky;top:0;z-index:5}header .search{max-width:520px;margin-right:auto}.search{display:flex;align-items:center;gap:8px;border:1px solid #dbe3eb;border-radius:9px;background:#fff;padding:0 12px;width:100%;height:42px}.search input{border:0;outline:0;width:100%;color:#25364d}.icon{border:0;background:transparent;padding:8px;color:#58708b;border-radius:8px}.icon:hover{background:#edf3f8}.primary,.secondary,.linkbtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;padding:10px 15px;font-weight:600;text-decoration:none;border:0}.primary{background:#087cf0;color:#fff}.primary:hover{background:#056dcc}.secondary{background:#fff;color:#27435f;border:1px solid #d7e0e8}.mobile{display:none}.page{padding:28px;max-width:1500px;margin:auto}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.pagehead h1{font-size:28px;margin:0 0 5px}.pagehead p,.sectionhead p{margin:0;color:#71839a}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metric,.card,.project{background:#fff;border:1px solid #e1e8ef;border-radius:13px;box-shadow:0 1px 2px #0f21350a}.metric{padding:19px;position:relative}.metricIcon{position:absolute;right:17px;top:17px;width:40px;height:40px;border-radius:10px;background:#eaf4ff;color:#087cf0;display:grid;place-items:center}.metric>span,.metric small{display:block;color:#6c7f95}.metric strong{display:block;font-size:29px;margin:9px 0 5px}.metric small{font-size:12px}.card{padding:20px;margin-bottom:18px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.sectionhead h2{font-size:17px;margin:0}.sectionhead a{color:#087cf0;text-decoration:none;font-weight:600}.table{overflow:auto}.tr{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr 70px;gap:14px;align-items:center;padding:14px 8px;border-top:1px solid #edf1f5;min-width:760px}.tr.th{border:0;color:#7a8da2;font-size:12px;text-transform:uppercase;font-weight:700}.tr span small,.activity span,.filecard span,.filecard small,.task span,.stage small{display:block;color:#74869b;margin-top:3px}.status{font-style:normal;font-size:12px;font-weight:700;color:#08734b;background:#e6f7ef;padding:5px 9px;border-radius:99px;white-space:nowrap}.linkbtn{padding:7px 10px;color:#087cf0;border:1px solid #cfe4fa}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:18px}.activity{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf1f5}.activity>b{background:#eaf4ff;color:#087cf0;border-radius:7px;padding:9px}.activityIcon{width:38px;height:38px;border-radius:9px;background:#f0f4f8;display:grid;place-items:center;color:#526d88}.toolbar{display:flex;gap:12px;margin-bottom:18px}.toolbar .search{max-width:500px}.toolbar select,.upload select,select,input,textarea{border:1px solid #d8e1ea;border-radius:8px;background:#fff;padding:10px;outline:none}.projectgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{overflow:hidden}.projecthero{height:108px;background:linear-gradient(135deg,#173a60,#2372b8);color:#fff;padding:18px;display:flex;align-items:flex-start;justify-content:space-between}.projecthero span{font-size:12px;background:#fff2;padding:5px 8px;border-radius:6px}.projectbody{padding:18px}.between{display:flex;align-items:center;justify-content:space-between}.projectbody h2{margin:16px 0 5px}.projectbody p{color:#657b91;margin:0;min-height:42px}.projectbody dl,.overviewGrid dl{display:grid;grid-template-columns:1fr 1fr;margin:16px 0}.projectbody dt,.overviewGrid dt,.projectTop span{font-size:11px;color:#8292a4;text-transform:uppercase;font-weight:700}.projectbody dd,.overviewGrid dd{margin:4px 0;font-weight:600}.wide{width:100%}.form{max-width:950px}.form h2{margin-top:0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.formgrid label span{display:block;font-weight:600;font-size:13px;margin-bottom:7px}.formgrid input,.formgrid select,.formgrid textarea{width:100%}.span2{grid-column:span 2}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.projectTop{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:14px;background:#fff;border:1px solid #e1e8ef;border-radius:12px;padding:16px 20px}.projectTop b{display:block;margin-top:4px}.progress span{display:flex;justify-content:space-between}.progress i,.bigprogress i{display:block;height:7px;background:#e5edf4;border-radius:10px;overflow:hidden;margin-top:8px}.progress u,.bigprogress u{display:block;height:100%;background:#12a06b;border-radius:10px}.tabs{display:flex;gap:4px;border-bottom:1px solid #dce4ec;margin:21px 0 16px;overflow:auto}.tabs button{background:transparent;border:0;padding:11px 15px;color:#667a90;white-space:nowrap}.tabs button.active{color:#087cf0;border-bottom:2px solid #087cf0;font-weight:700}.tabbody{min-height:340px}.overviewGrid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}.overviewGrid h3{margin-top:0}.quick{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick button{border:1px solid #dce5ed;background:#fff;border-radius:8px;text-align:left;padding:10px;color:#31506e}.quick svg{width:16px;vertical-align:middle;margin-right:5px}.bigprogress{display:flex;align-items:center;gap:14px}.bigprogress i{flex:1;height:10px;margin:0}.upload{border:2px dashed #c9d7e4;border-radius:12px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#668096;background:#f9fbfd;margin-bottom:18px}.upload:hover{border-color:#1688ff;background:#f5faff}.upload svg{color:#1688ff}.upload select{margin-top:5px}.filegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.filecard{border:1px solid #e0e8ef;border-radius:10px;padding:11px;display:grid;grid-template-columns:52px 1fr auto auto;align-items:center;gap:10px;cursor:pointer}.filecard:hover{border-color:#9acbfb}.filecard img,.fileicon{width:52px;height:52px;object-fit:cover;border-radius:8px}.fileicon{background:#eef5fc;color:#2874b9;display:grid;place-items:center}.filecard b{display:block}.filecard span,.filecard small{font-size:12px}.danger{color:#cf3f3f}.empty{grid-column:1/-1;min-height:230px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#7790a8;text-align:center}.empty h2,.empty h3{color:#314b65;margin:10px 0 0}.empty p{margin:7px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a2736;z-index:50;display:flex;flex-direction:column}.viewerbar{height:62px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.viewerbar div{display:flex;align-items:center;gap:7px}.viewerbar button{border:0;background:#edf3f7;border-radius:7px;padding:7px}.viewer{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:30px}.viewer img{max-width:85%;max-height:85%;transition:.2s}.viewer iframe{width:85%;height:85%;border:0;background:#fff;transform-origin:center}.inlineAdd,.noteadd{display:flex;gap:10px;margin-bottom:16px}.inlineAdd input,.noteadd textarea{flex:1}.task{display:flex;align-items:center;gap:12px;border-top:1px solid #e7edf2;padding:13px}.task>div{flex:1}.priority{font-size:12px;font-style:normal;padding:5px 8px;border-radius:6px;background:#eef3f6}.priority.high,.priority.urgent{background:#fff0ee;color:#c23b2d}.stages{max-width:780px}.stage{display:flex;align-items:center;gap:12px;padding:12px;border-left:2px solid #dbe5ed;margin-left:15px}.stage>div{width:30px;height:30px;margin-left:-28px;border-radius:50%;display:grid;place-items:center;background:#edf2f6;color:#6b8094;font-weight:700}.stage span{flex:1}.stage.done{border-color:#12a06b}.stage.done>div{background:#12a06b;color:#fff}.stage.now>div{background:#087cf0;color:#fff}.noteadd{align-items:flex-end}.noteadd textarea{width:100%}.note{position:relative;border:1px solid #e0e8ef;border-radius:9px;padding:14px;margin:9px 0}.note p{margin:0 45px 10px 0}.note span{font-size:12px;color:#778b9f}.note button{position:absolute;right:10px;top:10px}.loading{height:100vh;display:grid;place-items:center;color:#087cf0;font-weight:700}.loading svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1050px){.metrics,.projectgrid,.projectTop{grid-template-columns:1fr 1fr}.filegrid{grid-template-columns:1fr}}@media(max-width:760px){.side{transform:translate(-100%);transition:.2s}.side.open{transform:none}.mobile{display:block}main{margin-left:0}header{padding:0 14px}.page{padding:19px}.metrics,.projectgrid,.twocol,.overviewGrid,.formgrid{grid-template-columns:1fr}.span2{grid-column:auto}.projectTop{grid-template-columns:1fr}.pagehead{align-items:flex-start}.pagehead>.primary{font-size:0;padding:11px}.pagehead>.primary svg{margin:0}.tr{min-width:700px}.filecard{grid-template-columns:46px 1fr auto auto}.quick{grid-template-columns:1fr}.toolbar{flex-direction:column}}.viewerbar .viewerExit{display:inline-flex;align-items:center;gap:7px;background:#10243e;color:#fff;padding:8px 12px;font-weight:700}.viewerbar .viewerExit:hover{background:#1d3a5d}@media(max-width:600px){.viewerbar .viewerExit span{display:none}}.stageCards{display:grid;gap:14px;max-width:900px}.stageCard{border:1px solid #dfe7ee;border-radius:12px;padding:17px;background:#fff}.stageCard.current{border-color:#74b8fb;box-shadow:0 0 0 3px #eaf4ff}.stageCard.signed{border-color:#9bd9c0;background:#fbfffd}.stageHeader{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px}.stageNumber{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#edf2f6;color:#637a90;font-weight:800}.stageCard.current .stageNumber{background:#087cf0;color:#fff}.stageCard.signed .stageNumber{background:#12a06b;color:#fff}.stageHeader h3{margin:0 0 3px}.stageHeader span{font-size:12px;color:#778a9e}.stageHeader strong{color:#4f6680}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:17px 0;padding:15px;background:#f7f9fb;border-radius:9px}.checklist label{display:flex;align-items:flex-start;gap:9px;color:#304960;font-size:14px}.checklist input{width:17px;height:17px;margin-top:2px;accent-color:#087cf0}.checklist input:checked+span{text-decoration:line-through;color:#7f90a1}.signoff{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;border-top:1px solid #e6ecf1;padding-top:14px}.signoff label{flex:1;max-width:340px}.signoff label span{display:block;font-size:12px;font-weight:700;margin-bottom:5px}.signoff input{width:100%}.signoff button:disabled{opacity:.45;cursor:not-allowed}.signedOff{display:flex;align-items:center;gap:10px;color:#08734b;border-top:1px solid #d8eee5;padding-top:14px}.signedOff span{display:block;font-size:12px;color:#6e8b7e;margin-top:2px}@media(max-width:700px){.checklist{grid-template-columns:1fr}.signoff{align-items:stretch;flex-direction:column}.signoff label{max-width:none}}.photo-folder-heading,.folder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.photo-folder-heading h3,.folder-toolbar h3{margin:0 0 4px}.photo-folder-heading p,.photo-folder-heading>span,.folder-toolbar span{margin:0;color:#74869b;font-size:13px}.folder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.folder-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:88px;padding:16px;text-align:left;border:1px solid #dce6ee;border-radius:11px;background:#fff;color:#284560}.folder-card:hover{border-color:#78b8f5;background:#f7fbff;transform:translateY(-1px);box-shadow:0 5px 15px #12385b12}.folder-card>svg:first-child{color:#1688ff}.folder-card div{min-width:0}.folder-card b,.folder-card span{display:block}.folder-card span{color:#75899d;font-size:12px;margin-top:5px}.folder-card.unsorted{background:#fffaf1}.folder-card.unsorted>svg:first-child{color:#c78016}.folder-toolbar{justify-content:flex-start}.folder-toolbar>div{flex:1}.stageHeader{width:100%;grid-template-columns:40px 1fr auto 22px;padding:0;border:0;background:transparent;text-align:left;color:inherit}.stageHeader:hover h3{color:#087cf0}.stageHeader>svg{color:#71869a}.stageContent{border-top:1px solid #edf1f4;margin-top:15px}.stageCard:not(.expanded){padding-top:14px;padding-bottom:14px}@media(max-width:900px){.folder-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.folder-grid{grid-template-columns:1fr}.photo-folder-heading,.folder-toolbar{align-items:flex-start;flex-direction:column}.folder-toolbar>div{width:100%}}.projectTop{grid-template-columns:1fr 1fr 1.4fr}.projectbody dl{grid-template-columns:1fr}.taskComposer{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:18px}.taskComposer input,.taskComposer textarea{width:100%}.taskComposer textarea{grid-column:1/-1}.taskComposer button{grid-column:2}.task p{margin:5px 0;color:#3e566e}.globalTasks{display:grid;gap:13px}.globalTask{background:#fff;border:1px solid #dfe7ee;border-radius:12px;padding:18px}.globalTaskHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.globalTaskHead h2{font-size:18px;margin:10px 0 0}.globalTask>p{color:#3d5369}.muted{color:#8494a4!important;font-style:italic}.taskProjectDetails{display:grid;grid-template-columns:1fr 2fr 1fr 1fr;gap:14px;padding:14px;background:#f6f9fb;border-radius:9px}.taskProjectDetails span,.taskFoot span,.scheduleBooking span,.projectBooking span,.dashboardBooking span{display:block;color:#74869b;font-size:12px;margin-bottom:4px}.taskProjectDetails a{color:#087cf0;font-weight:700;text-decoration:none}.taskFoot{display:flex;gap:20px;margin-top:13px}.bookingForm{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px;padding:17px;background:#f6f9fb;border-radius:11px;margin-bottom:18px}.bookingForm>div{grid-column:1/-1}.bookingForm h3{margin:0 0 4px}.bookingForm p{margin:0;color:#74869b}.bookingForm label span{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.bookingForm input,.bookingForm select{width:100%}.bookingNotes{grid-column:1/-2}.bookingForm button{align-self:end}.projectBookingList,.bookingSchedule,.dashboardBookings{display:grid;gap:10px}.projectBooking,.scheduleBooking,.dashboardBooking{display:grid;align-items:center;gap:14px;border:1px solid #e1e8ef;border-radius:10px;padding:13px;background:#fff}.projectBooking{grid-template-columns:80px 1fr auto}.scheduleBooking{grid-template-columns:80px 1.3fr 1fr 1fr 1fr auto}.dashboardBooking{grid-template-columns:80px 1.5fr 1fr auto}.bookingDate{border-right:1px solid #e3eaf0;padding-right:12px}.bookingDate b{display:block;color:#087cf0}.bookingDate span{margin-top:4px}.scheduleBooking>div>span{margin-bottom:4px}.compact{min-height:150px}.dashboardBookings .compact{border:0}.dashboardBooking strong,.projectBooking strong{display:block;margin-bottom:4px}@media(max-width:1000px){.taskProjectDetails{grid-template-columns:1fr 1fr}.scheduleBooking{grid-template-columns:70px 1fr 1fr}.scheduleBooking .linkbtn{justify-self:start}.bookingForm{grid-template-columns:1fr 1fr}.bookingNotes{grid-column:1/-1}.bookingForm button{grid-column:2}}@media(max-width:700px){.taskComposer{grid-template-columns:1fr}.taskComposer button{grid-column:1}.globalTaskHead{flex-direction:column}.taskProjectDetails{grid-template-columns:1fr}.taskFoot{flex-direction:column;gap:5px}.bookingForm{grid-template-columns:1fr}.bookingForm>*{grid-column:1!important}.projectBooking,.scheduleBooking,.dashboardBooking{grid-template-columns:1fr}.bookingDate{border-right:0;border-bottom:1px solid #e3eaf0;padding:0 0 10px}.projectTop{grid-template-columns:1fr}}.authPage{min-height:100vh;margin:0;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#0d223b,#153b63 58%,#087cf0)}.authPanel{width:min(440px,100%);background:#fff;border-radius:18px;padding:30px;box-shadow:0 24px 70px #06162755}.authBrand{display:flex;align-items:center;gap:12px;padding-bottom:24px;border-bottom:1px solid #e5ebf1}.authBrand b,.authBrand span{display:block}.authBrand span{font-size:12px;color:#6f8297;margin-top:2px}.authIntro{padding:24px 0 10px}.authIntro svg{color:#087cf0}.authPanel h1{font-size:25px;margin:9px 0 6px}.authPanel p{color:#62768c}.authPanel form{display:grid;gap:16px}.authPanel label>span,.staffForm label>span{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.authPanel input,.staffForm input,.staffForm select{width:100%}.authPanel form+.authPanel small,.authPanel>small{display:block;margin-top:18px;color:#73869a}.authPanel button{width:100%}.formError{margin:0!important;padding:10px 12px;border-radius:8px;background:#fff0ee;color:#a52d22!important;font-size:13px}.secureBadge{display:inline-flex;align-items:center;gap:6px;color:#08734b;background:#e7f7ef;border-radius:99px;padding:7px 10px;font-size:12px;font-weight:700;white-space:nowrap}.signout{margin-left:auto!important;color:#b8c8d8}.signout:hover{background:#ffffff18}.staffLayout{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:18px}.staffForm{display:grid;gap:15px;align-self:start}.staffForm h2{margin:0}.staffList{min-width:0}.staffRow{display:grid;grid-template-columns:38px minmax(180px,1fr) 120px auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #e7edf2}.staffRow b,.staffRow span{display:block}.staffRow span{font-size:12px;color:#72869a;margin-top:3px}.staffRow em{font-style:normal;color:#435b72;font-size:13px}.staffActive{display:flex;align-items:center;gap:7px;font-size:13px}.staffActive input{width:17px;height:17px}.readOnlyNotice{display:flex;align-items:center;gap:7px;color:#61778c;font-size:13px;border-top:1px solid #e7edf2;padding-top:12px}.primary:disabled,select:disabled,input:disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.secureBadge{display:none}.staffLayout{grid-template-columns:1fr}}@media(max-width:620px){.authPanel{padding:22px}.staffRow{grid-template-columns:38px 1fr}.staffRow>em,.staffActive{grid-column:2}}
