*{box-sizing:border-box}body{margin:0;background:#f3f7f3;color:#203b2b;font:16px system-ui,sans-serif}header{background:#194d2c;color:white;display:flex;align-items:center;gap:14px;padding:14px 5%}header img{width:52px;border-radius:50%}header span{margin-left:auto;font-size:14px;color:#d4e6d7}nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:12px 5%;background:white;border-bottom:1px solid #dce7dd}nav a{text-decoration:none}nav form{margin-left:auto}main{max-width:1150px;margin:45px auto;padding:0 24px}h1{font-size:32px;letter-spacing:-1px;margin:10px 0}h2{font-size:21px}p{line-height:1.6;color:#586c5e}.eyebrow{font-size:12px;letter-spacing:2px;color:#39794e;font-weight:700}.card{background:white;border:1px solid #dce7dd;border-radius:16px;padding:28px;margin:24px 0;box-shadow:0 8px 25px #183d2306}.login{max-width:440px;margin:30px auto}.brand{display:block;width:180px;margin:0 auto 24px}.narrow{max-width:540px;margin:auto}label{display:block;font-size:14px;font-weight:600;margin:16px 0}input,select{display:block;width:100%;padding:12px;border:1px solid #b9cbbb;border-radius:8px;background:white;font:inherit;color:#203b2b;margin-top:8px}input:focus,select:focus{outline:2px solid #3f8856;outline-offset:2px}button,.button{display:inline-block;background:#215f36;color:white;padding:12px 20px;border:0;border-radius:8px;font:600 14px system-ui;cursor:pointer;text-decoration:none}a{color:#21673b}.login button{width:100%;margin-top:12px}.alert{color:#a03923}.alert:empty{display:none}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}.table{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}td,th{padding:15px;border-bottom:1px solid #e3ebe4}th{font-size:12px;color:#607664;text-transform:uppercase}footer{text-align:center;padding:30px;color:#6c7e70;font-size:12px}@media(max-width:600px){header span{display:none}header strong{font-size:14px}.grid{grid-template-columns:1fr}main{margin:24px auto;padding:0 16px}.card{padding:20px}nav{gap:16px;font-size:14px}h1{font-size:27px}}

input:not([type]),input[type="text"],input[type="search"],textarea{text-transform:uppercase}

body{min-height:100vh;display:flex;flex-direction:column}
header .brand-home{display:flex;align-items:center;gap:14px;color:white;text-decoration:none}
header .welcome{margin-left:auto;color:#e2eee5;font-size:14px;line-height:1.5;text-align:right}
main{width:100%;flex:1}
footer{margin-top:auto;padding:22px 16px}
nav{min-height:56px;gap:24px;padding-top:8px;padding-bottom:8px}
nav .logout-button{padding:6px 18px;background:transparent;border:1px solid #b4cbb9;border-radius:5px;color:#215f36;font-size:13px;font-weight:500;line-height:20px}
nav .logout-button:hover{background:#edf5ef;border-color:#3f7950}
.dropdown{position:relative}
.dropdown summary{cursor:pointer;list-style:none;padding:8px 0;color:#215f36;font-size:14px}
.dropdown summary::-webkit-details-marker{display:none}
.dropdown summary::after{content:'⌄';margin-left:10px;font-size:13px}
.dropdown-panel{position:absolute;left:0;top:100%;z-index:20;min-width:230px;background:white;border:1px solid #dce7dd;border-radius:8px;box-shadow:0 10px 26px #183d231a;padding:6px}
.dropdown-panel a{display:block;padding:11px 14px;font-size:13px;border-radius:4px;white-space:nowrap}
.dropdown-panel a:hover,.dropdown-panel a:focus-visible{background:#edf5ef}
.account-link{font-size:13px}
@media(max-width:600px){header{flex-wrap:wrap;gap:8px}header .welcome{display:block;flex-basis:100%;font-size:12px;text-align:left;margin-left:66px}nav{gap:16px}main{margin-top:20px;margin-bottom:20px}}

.welcome a{color:inherit;text-decoration:none}.welcome a:hover{text-decoration:underline}

.equipment-form{max-width:650px}.form-actions,.row-actions{display:flex;align-items:center;gap:20px}.row-actions form{margin:0}.delete-button{padding:5px 12px;font-weight:500;background:white;color:#923b31;border:1px solid #dfc5c0}.delete-button:hover{background:#fff2ef}.record-count{font-size:13px;font-weight:500;color:#607664;margin-left:8px}.success{color:#215f36;background:#e4f1e7;padding:12px 16px;border-radius:8px}

/* Desktop workspace */
body{font-family:"Calibri","Candara","Segoe UI",Arial,sans-serif;font-size:16px;font-weight:400;min-width:1100px}
input,select,textarea,button,.button{font-family:inherit}
h1{font-size:29px;font-weight:400;letter-spacing:-.4px}
h2{font-size:21px;font-weight:400;letter-spacing:0}
strong{font-weight:500}
label{font-weight:400}
button,.button{font-size:15px;font-weight:400;padding:9px 18px}
.eyebrow{font-weight:500;letter-spacing:1.5px}
header strong{font-size:17px;font-weight:500;letter-spacing:.3px}
main{max-width:1700px;padding:0 36px;margin:30px auto}
.maintenance-layout{display:grid;grid-template-columns:minmax(310px, .8fr) minmax(0, 1.7fr);gap:26px;align-items:start}
.maintenance-layout>.card{min-width:0;margin:12px 0;padding:24px;border-radius:10px}
.maintenance-layout .grid{grid-template-columns:1fr;gap:0}
.maintenance-layout .equipment-form{max-width:none}
.maintenance-layout h2{margin-top:0}
.maintenance-layout table{font-size:15px}
.maintenance-layout td,.maintenance-layout th{padding:12px 10px}
.maintenance-layout th{font-size:13px;font-weight:400}
.maintenance-layout .table{overflow-x:auto}
.maintenance-layout label:first-of-type{margin-top:12px}
.maintenance-layout input,.maintenance-layout select{padding:10px 12px;font-size:15px}
.login h1{font-weight:400}
nav .logout-button{font-family:inherit;font-weight:400;padding:4px 17px}

.company-assignment{display:flex;align-items:center;gap:8px}.company-assignment select{margin:0;min-width:160px;max-width:240px}.company-assignment button{padding:6px 10px;font-size:13px}
