@font-face{font-family:'TT Fors';src:url('/assets/TT-Fors-Light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:'TT Fors';src:url('/assets/TT-Fors-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'TT Fors';src:url('/assets/TT-Fors-Medium.ttf') format('truetype');font-weight:500 900;font-display:swap}
:root{--navy:#232D3F;--wine:#932144;--blue:#A6BAD0;--graphite:#32363A;--white:#FFFFFF}
body{background:var(--white);color:var(--graphite);font-family:'TT Fors',system-ui,sans-serif;font-weight:400;line-height:1.5}
button,input,select,textarea{font-family:inherit}h1,h2,h3{font-weight:300;color:var(--navy);line-height:1.2}h1{letter-spacing:-.025em;font-size:38px}h2{font-size:27px}h3{font-size:21px}b,strong{font-weight:500}
header{background:var(--navy);color:var(--white);padding:22px 5%;min-height:116px;gap:24px;flex-wrap:wrap}
header a,header small{color:var(--white)!important}a{color:var(--wine);text-underline-offset:4px}
.brand{display:inline-flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:var(--white)!important;flex-shrink:0}
.brand-logo{display:block;width:170px;height:auto;color:inherit;overflow:visible}.brand span{font-size:9px;letter-spacing:.19em;font-weight:400}
main{max-width:1160px}button{background:var(--wine);color:var(--white);border:1px solid transparent;border-radius:7px;font-weight:500;min-height:44px;box-shadow:none}button:hover{outline:1px solid var(--wine);outline-offset:2px}button:disabled{opacity:.5}
button.secondary,nav button{background:var(--white);color:var(--navy);border:1px solid var(--blue)}nav button.active{background:var(--navy);color:var(--white);border-color:var(--navy)}
input,select,textarea{color:var(--graphite);background:var(--white);border:1px solid var(--blue);border-radius:6px;min-height:42px}input::placeholder,textarea::placeholder{color:var(--graphite);opacity:.7}input[type=checkbox]{min-height:0;accent-color:var(--wine)}input[type=range]{accent-color:var(--wine);min-height:24px}
input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.notice,.note{background:var(--blue);color:var(--navy);border:0;border-radius:6px;font-size:12px;line-height:1.6;padding:13px 18px}
.card{background:var(--white);border:1px solid var(--blue);border-left:4px solid var(--navy);border-radius:10px;padding:24px;box-shadow:none}.card:hover{border-color:var(--wine);box-shadow:none}.card:focus-visible{outline-color:var(--wine)}.card h3{font-weight:400;margin:14px 0}
.badge{background:var(--blue);color:var(--navy);border-radius:4px;font-weight:500;padding:5px 9px}.meta,.muted,small,footer,.empty{color:var(--graphite)}.error,#error{color:var(--wine)}
fieldset{border-color:var(--blue);border-radius:7px}legend{color:var(--navy)}dialog{background:var(--white);color:var(--graphite);border:1px solid var(--blue);padding:30px;border-radius:12px}dialog::backdrop{background:#232D3F99}.comment{background:var(--white);border:1px solid var(--blue);border-left:3px solid var(--wine);border-radius:6px;padding:15px}.comment .meta{font-size:11px}label{font-size:14px}.actions{gap:12px}
th{background:var(--navy);color:var(--white);font-weight:400}td,th{border-bottom:1px solid var(--blue)}table{border:1px solid var(--blue)}#audit{border:1px solid var(--blue);background:var(--white)}.disabled{color:var(--graphite)}
body:has(.login-panel){background:var(--navy)}.login-panel{background:var(--white);padding:42px;width:440px;border-radius:12px;box-shadow:none;border:1px solid var(--blue)}.login-panel .brand{display:flex;color:var(--navy)!important;margin:0 auto 36px}.login-panel .brand-logo{width:200px}.login-panel h1{font-size:30px}.login-panel #intro{font-size:14px}
body:has(.imaging-header){background:var(--navy);color:var(--white)}.imaging-header{min-height:98px;border-bottom:1px solid var(--blue)}.imaging-header .brand-logo{width:128px}body:has(.imaging-header) h3,body:has(.imaging-header) small{color:var(--white)}.tools,.title{background:var(--navy);color:var(--white)}.panel{border-color:var(--blue);border-radius:9px}.axes,.status,#status,.hint small{color:var(--blue)}.v,.h{background:var(--blue)}.frame img,#pano,canvas{filter:none}.viewport,.result{background:#000000}.slider input{accent-color:var(--blue)}
@media(max-width:650px){header{padding:18px 20px;gap:18px;min-height:100px}.brand-logo{width:135px}.brand span{font-size:8px}h1{font-size:30px}.login-panel{padding:28px;max-width:92vw}.toolbar{gap:22px}.card{padding:20px}header #accountName{font-size:13px}}

[hidden]{display:none!important}

.file-preview{width:min(1000px,94vw);max-width:94vw;max-height:92vh;box-sizing:border-box}.file-preview .actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.file-preview h2{font-size:22px;overflow-wrap:anywhere;max-width:100%}.preview-body img{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto}.preview-body iframe{width:100%;height:65vh;border:1px solid var(--blue)}

.inbox-list{max-height:55vh;overflow:auto}.inbox-item{display:block;text-align:left;width:100%;margin:10px 0;padding:16px}.inbox-item span,.inbox-item small{display:block;margin-top:5px}.inbox-item.unread{border-left:4px solid var(--wine)}
@media(max-width:650px){input,select,textarea{font-size:16px}.actions{flex-wrap:wrap}dialog{max-height:90dvh;overflow:auto}.toolbar>button{width:100%}}

.task-close{position:sticky;top:0;float:right;z-index:2;min-width:44px;min-height:44px;padding:6px 10px;background:#fff;font-size:24px;line-height:1}

.task-tabs{display:flex;gap:4px;border-bottom:1px solid #A6BAD0;margin:16px 0}.task-tabs button{flex:1;border-radius:8px 8px 0 0;background:transparent;color:#232D3F;border:0;padding:12px 8px;min-height:44px}.task-tabs button[aria-selected="true"]{background:#232D3F;color:#fff}.task-tabs button:focus-visible{outline:2px solid #932144;outline-offset:2px}.task-participants,.task-description{margin:10px 0}.task-participants summary,.task-description summary{cursor:pointer;padding:8px 0;min-height:36px}.task-participants fieldset{margin:8px 0}[data-task-panel]{padding:4px 0}[data-task-panel] #chatMessages{max-height:260px}#details>h2{padding-right:38px}
#details{padding:20px}#details>h2{font-size:24px;line-height:1.25;margin:0 44px 12px 0;padding:0}#details>#editTask{padding:8px 12px;min-height:40px;font-size:13px}#details>.meta{margin:10px 0}#details .task-participants,#details .task-description{margin:4px 0}#details>label{margin:8px 0}#details .task-tabs{margin:12px 0}#details #refreshChat{padding:8px 12px;min-height:40px;font-size:13px}
