:root{--navy:#10294a;--blue:#197bbb;--red:#c52230;--ink:#192c42;--muted:#63768a;--line:#dce5ee;--pale:#eaf5fc;--bg:#f4f7fa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible{outline:3px solid #82c8f0}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button{border:0}header{background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;padding:16px 4vw;min-height:88px}header .logo img{width:190px;display:block}nav{display:flex;flex:1;gap:5px;overflow:auto}nav button{background:transparent;color:var(--muted);padding:10px 13px;border-radius:8px;font-weight:650;white-space:nowrap}nav button.active{background:var(--pale);color:var(--blue)}#connection{font-size:11px;color:#277d5a;white-space:nowrap}main{max-width:1320px;margin:0 auto;padding:30px 4vw 70px}.heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px;flex-wrap:wrap}h1{font-size:30px;letter-spacing:-1px;line-height:1.2;margin:4px 0 7px}h2,h3,p{margin-top:0}h2{font-size:22px}h3{font-size:17px;margin-bottom:8px}small,.muted{color:var(--muted)}.eyebrow{color:var(--blue);text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:1.8px}.primary,.secondary,.danger{padding:10px 15px;border-radius:9px;display:inline-block;text-decoration:none;font-weight:700;font-size:13px}.primary{background:var(--blue);color:white}.secondary{background:white;border:1px solid var(--line);color:var(--navy)}.danger{background:#fcebee;color:var(--red)}.actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:23px;box-shadow:0 2px 5px #10294a04}.hero{background:linear-gradient(110deg,#10294a,#155c8a);border-radius:19px;color:white;padding:35px;display:flex;justify-content:space-between;align-items:center;gap:20px}.hero h1{font-size:36px}.hero p{color:#d4e8f5;margin:8px 0 0}.hero .eyebrow{color:#b4dff8}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.metric strong{font-size:28px;display:block;margin:7px 0;color:var(--navy)}.metric small{display:block}.quick{display:block;text-align:left;background:white;padding:23px;border:1px solid var(--line);border-radius:15px;color:var(--ink)}.quick b{display:block;font-size:17px;margin-bottom:7px}.quick span{color:var(--muted)}.toolbar{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}.toolbar input{flex:1;min-width:180px}.toolbar input,.toolbar select,.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:9px;background:white;padding:10px;color:var(--ink)}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#f8fafc;color:var(--muted);font-size:10px;letter-spacing:1px;text-transform:uppercase}td,th{padding:14px 18px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td{font-size:13px}td small{display:block}.link{padding:0;background:transparent;color:var(--blue);font-weight:700;margin:3px 12px 3px 0}.tag{display:inline-block;background:var(--pale);color:var(--blue);padding:4px 9px;border-radius:30px;font-size:11px;font-weight:700}.tag.green{background:#e9f5ed;color:#24784e}.tag.red{background:#fcebee;color:#b62c39}.empty{padding:45px 20px;text-align:center;color:var(--muted)}.notice{background:var(--pale);border-left:3px solid var(--blue);padding:13px 16px;border-radius:8px;font-size:12px;margin:15px 0}.project h3{margin-top:16px}.project .project-foot{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;gap:10px}.schedule-row{display:grid;grid-template-columns:145px 1fr auto;gap:22px;padding:20px 0;border-top:1px solid var(--line)}.schedule-row time{color:var(--blue);font-weight:750}.schedule-row p{margin-bottom:5px}.schedule-row h3{margin:8px 0}.schedule-row:first-child{border-top:0}dialog{padding:0;border:1px solid var(--line);border-radius:17px;width:min(820px,calc(100% - 25px));max-height:94vh;box-shadow:0 25px 90px #10294a55}dialog::backdrop{background:#10294a99}.modal-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding:24px}.modal-heading h2{margin:5px 0 0}.modal-heading small{font-size:10px;letter-spacing:1.6px}.icon-button{border-radius:50%;width:32px;height:32px;background:var(--bg);font-size:22px;color:var(--navy)}.formgrid{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:650}.field textarea{min-height:85px;resize:vertical}.full{grid-column:1/-1}form footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--line)}#formError{margin:0 24px 15px;color:var(--red)}.item{display:grid;grid-template-columns:1fr 85px 110px 32px;gap:7px;margin:9px 0}.item input{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px}.item small{display:block}.preview{background:white;padding:40px;max-width:900px;margin:20px auto;border:1px solid var(--line);border-radius:5px}.preview header{padding:0 0 25px;align-items:flex-start;justify-content:space-between;border-bottom:3px solid var(--blue)}.preview img{max-width:210px}.preview table{white-space:normal;margin:25px 0}.preview td,.preview th{padding:12px 9px}.preview .total{font-size:22px;text-align:right}.preview .terms{white-space:pre-wrap;overflow-wrap:anywhere}.kiosk{text-align:center;max-width:1000px;margin:0 auto}.kiosk .clock-logo{width:240px;max-width:80%;margin:10px auto 20px}.kiosk h1{font-size:42px}.employee-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.employee-button{background:var(--blue);color:white;border-radius:14px;font-weight:700;padding:28px 15px;font-size:17px}.clock-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}.clock-actions button{padding:23px;border-radius:13px;min-height:100px;text-align:left}.clock-actions .primary{font-size:16px}.clock-actions button span{display:block;font-size:12px;margin-top:7px;font-weight:400}.pin-input{text-align:center;font-size:28px;letter-spacing:12px;width:100%}#toast{position:fixed;bottom:24px;right:24px;max-width:calc(100% - 48px);background:var(--navy);color:white;padding:14px 20px;border-radius:10px;display:none;z-index:100}#toast.show{display:block}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.badge{color:var(--muted);font-size:11px;margin-top:14px}#printRoot{display:none}a{color:var(--blue)}@media(max-width:1000px){header{flex-wrap:wrap;gap:12px}nav{order:3;flex-basis:100%}#connection{margin-left:auto}.grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){main{padding:23px 16px 60px}.hero{padding:25px;display:block}.hero h1{font-size:29px}.hero .actions{margin-top:20px}.grid,.two,.formgrid{grid-template-columns:1fr}.full{grid-column:auto}.metrics{gap:10px}.card{padding:17px}.employee-buttons,.clock-actions{grid-template-columns:repeat(2,1fr)}.kiosk h1{font-size:33px}.schedule-row{grid-template-columns:1fr;gap:8px}.item{grid-template-columns:1fr 55px 80px 24px}.preview{padding:20px}.preview header{display:block}.preview header>div{margin-bottom:20px}.formgrid{padding:18px}header .logo img{width:165px}h1{font-size:26px}}@media print{body>*{display:none!important}#printRoot{display:block!important}.preview{border:0;margin:0;padding:0;max-width:none}.preview header{display:flex}.preview th{background:#eaf5fc;print-color-adjust:exact}.preview tr{break-inside:avoid}@page{size:letter;margin:.55in}}

.item{grid-template-columns:100px minmax(150px,1fr) 65px 60px 85px 32px;overflow:auto}.item input{font-size:12px}@media(max-width:650px){.item{grid-template-columns:1fr 1fr 65px}.item input[aria-label="Item description"]{grid-column:span 2}}

.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));overflow:auto;border:1px solid var(--line);border-radius:12px;background:white}.calendar-label{padding:10px;background:var(--pale);font-weight:700;text-align:center}.calendar-cell{border-top:1px solid var(--line);border-right:1px solid var(--line);padding:9px;min-height:130px}.calendar-cell.today{background:#f0f8ff}.calendar-event{display:block;width:100%;text-align:left;background:var(--pale);border-left:3px solid var(--blue);padding:7px;margin:6px 0;border-radius:5px;font-size:11px;color:var(--ink);overflow-wrap:anywhere}.calendar-event b,.calendar-event small{display:block}

/* Invitation and permission management */
.access-shell{max-width:580px;padding-top:8vh}.access-logo{width:220px;max-width:100%;margin-bottom:28px}.access-shell form{display:grid;gap:16px;margin-top:22px}.access-shell form[hidden]{display:none}.access-shell input{width:100%}.access-shell #accessStatus{margin-top:20px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-option{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:8px}.permission-option input{margin-top:4px}.permission-option small{display:block}.access-summary{white-space:pre-wrap;overflow-wrap:anywhere}.access-list{display:grid;gap:14px}.access-list .card{min-width:0}.access-list .actions{margin-top:15px}.access-list code{overflow-wrap:anywhere}@media(max-width:650px){.permission-grid{grid-template-columns:1fr}}
