:root{font-family:Segoe UI,Arial,sans-serif;color:#15263c;background:#f2f5fa;font-size:16px}*{box-sizing:border-box}body{margin:0}header{height:82px;background:#11253b;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,20px)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:23px}.brand small{font-size:12px;letter-spacing:2px;color:#9bb2c9;margin-left:20px}.mark{display:grid;place-items:center;background:#3ad3b1;color:#11253b;width:36px;height:36px;border-radius:10px}main{max-width:1180px;margin:48px auto;padding:0 24px}h1{font-size:36px;letter-spacing:-1px;margin:10px 0 22px}h2{margin:8px 0 20px;font-size:26px}.eyebrow{color:#58718b;font-size:12px;font-weight:700;letter-spacing:2px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}button{background:#087b68;color:white;border:0;border-radius:8px;padding:13px 20px;font:600 16px Segoe UI,Arial;cursor:pointer}button:hover{background:#066453}button:disabled{opacity:.6;cursor:wait}.quiet{background:#eaf0f6;color:#203e5b}.quiet:hover{background:#d8e4ef}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:12px 0 30px}.stat{padding:22px;background:white;border:1px solid #dde6ef;border-radius:12px}.stat strong{display:block;font-size:32px;margin-top:8px}.stat span{color:#5a6f86}.toolbar{display:flex;gap:12px;margin-bottom:20px}.toolbar input{flex:1}.toolbar select{width:210px}input,select,textarea{width:100%;font:inherit;background:white;color:#15263c;border:1px solid #bacada;border-radius:7px;padding:12px;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #088772;outline-offset:2px}label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}label input,label select,label textarea{margin-top:7px}.card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;border:1px solid #dce5ef;padding:22px;border-radius:10px;margin-bottom:12px;cursor:pointer;width:100%;text-align:left;color:#15263c;font-weight:400}.card:hover{background:#f8fcff;border-color:#8faabd}.card h3{font-size:18px;margin:7px 0}.meta{font-size:14px;color:#60738a}.badge{display:inline-block;background:#e7f3f0;color:#0b6c59;font-size:14px;border-radius:6px;padding:6px 10px;white-space:nowrap}.urgent{color:#a73030}.empty{text-align:center;padding:60px 20px;background:white;border:1px dashed #a9bdcf;border-radius:12px}.empty h2{margin:0 0 12px}.login{max-width:480px;margin:60px auto}.panel{background:white;border:1px solid #dce5ef;border-radius:16px;padding:36px}.login p{color:#60738a;line-height:1.6}dialog{border:0;border-radius:16px;width:min(720px,calc(100% - 24px));max-height:90vh;padding:28px;color:#15263c;box-shadow:0 24px 80px #10203040}dialog::backdrop{background:#0c223a99}.modalhead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.check{display:flex;align-items:center;gap:10px}.check input{width:20px;margin:0}.upload{border:1px dashed #8fa8bc;padding:18px;border-radius:8px;background:#f5f9fc}.upload small{display:block;margin-top:10px;color:#5d748b;font-weight:400;line-height:1.5}.photos{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.photos img{width:110px;height:90px;object-fit:cover;border-radius:7px}.detailtext{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.detailsection{border-top:1px solid #dce5ef;padding:16px 0}.detailsection h3{font-size:14px;color:#5b7289;margin:0 0 8px}#message,#createError,#updateError{color:#a33333}#message:empty,#createError:empty,#updateError:empty{display:none}[hidden]{display:none!important}@media(max-width:600px){header{height:68px}.brand small{display:none}main{margin:28px auto;padding:0 16px}h1{font-size:29px}.heading{align-items:flex-start;flex-direction:column;gap:0}.heading button{margin-bottom:20px;width:100%}.stats{gap:8px}.stat{padding:14px 10px}.stat span{font-size:14px}.stat strong{font-size:26px}.toolbar{flex-direction:column}.toolbar select{width:100%}.card{align-items:flex-start;padding:16px;gap:10px}.card h3{font-size:17px}.grid{grid-template-columns:1fr;gap:0}dialog{padding:20px}.panel{padding:24px}.login{margin:30px auto}}

.company-logo{width:48px;height:64px;object-fit:contain;background:white;border-radius:5px;padding:3px;flex-shrink:0}.login-logo{display:block;width:100px;height:140px;object-fit:contain;margin:0 auto 24px}@media(max-width:600px){.company-logo{width:35px;height:49px}.brand{gap:9px;font-size:19px}}

.contact-add{background:#f5f9fc;border:1px solid #dce5ef;border-radius:8px;padding:14px;margin:0 0 20px}.contact-add summary{cursor:pointer;font-weight:600;color:#087b68}.contact-add[open] summary{margin-bottom:18px}

.password-visibility{margin-top:-8px;font-weight:400;min-height:30px}

.site-location{display:inline-block;font-weight:700;color:#163c62;background:#e3eef9;border-radius:5px;padding:3px 7px;overflow-wrap:anywhere}

.call-tabs{display:flex;gap:10px;border-bottom:1px solid #bacada;margin-bottom:20px;padding-bottom:12px}.call-tabs button{background:#eaf0f6;color:#203e5b}.call-tabs button[aria-selected="true"]{background:#087b68;color:white}.ticket-message{padding:16px;background:#f5f9fc;border:1px solid #dce5ef;border-radius:8px;margin-bottom:12px}.ticket-message .detailtext{margin-top:10px}

.toolbar{flex-wrap:wrap}.toolbar input{min-width:220px}#searchDropdown{max-width:100%}@media(max-width:600px){.toolbar input{min-width:0}}

.search-combo{position:relative;display:flex;flex:1;min-width:250px}.search-combo input{min-width:0;border-radius:7px 0 0 7px}.search-combo>button{padding:10px 16px;border:1px solid #bacada;border-left:0;border-radius:0 7px 7px 0;font-size:22px}.search-options{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:10;max-height:290px;overflow:auto;background:white;border:1px solid #bacada;border-radius:8px;box-shadow:0 8px 20px #11253b20}.search-options>div{padding:12px 14px;overflow-wrap:anywhere}.search-options [role=option]{cursor:pointer}.search-options [role=option]:hover,.search-options [aria-selected=true]{background:#e3eef9;color:#163c62}@media(max-width:600px){.search-combo{min-width:0;width:100%}}

body{padding-bottom:env(safe-area-inset-bottom)}header{gap:12px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}@media(max-width:600px){header{height:auto;min-height:68px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.brand{flex:1}#installApp,#logout{font-size:14px;padding:10px 12px}}

.call-message-indicator{display:block;margin-top:10px;border-radius:7px;border:1px solid #bacada;background:#eaf0f6;color:#203e5b;padding:8px 10px;font-size:14px;font-weight:600;white-space:nowrap}.call-message-indicator.unread{background:#fff2cb;border-color:#d8ae42;color:#765000}
