/* Selected Bit & Bearing tokens mapped onto existing functioning Harbor components.
   Logo geometry and fonts are supplied assets. This file changes presentation, never permissions or records. */
@font-face{font-family:Manrope;src:url('/brand/fonts/Manrope[wght].ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/brand/fonts/IBMPlexMono-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#152D32;--muted:#446268;--bg:#F5F3EB;--line:#D0D9D3;--accent:#152D32;--soft:#BCE5D6;--danger:#A52F35;--selected:#245B91;--brand-orange:#F16B3A;--control-border:#71837F}
body{font-family:Manrope,Arial,sans-serif;font-size:16px;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font-family:Manrope,Arial,sans-serif}
button,input:not([type=checkbox]):not([type=radio]),select{min-height:52px}
button{min-width:48px}button:hover{background:#EDF1EE}.primary,button.primary{background:var(--ink);border-color:var(--ink);color:var(--bg);min-height:56px}.primary:hover{background:#24464D}
a{color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 2px #fff}
.field input,.field select,.field textarea,.toolbar input,.toolbar select,.workspace-bar select,.identity select{font-size:16px;border-color:var(--control-border)}
aside{background:var(--ink);color:var(--bg);overflow-y:auto}.brand{display:block;padding:0 4px;max-width:220px}.brand img{display:block;width:100%;height:auto}.brand small{color:var(--soft)}.hotel strong{color:var(--bg)}
nav button{min-height:52px;color:var(--soft)}nav button.active{background:var(--soft);color:var(--ink)}nav button:hover{background:#24464D;color:var(--bg)}
header{background:var(--bg)}.demo-strip{background:#EDF1EE;color:var(--muted)}.notice{background:#EAF5EC;color:var(--ink)}.sidebar-note{color:var(--soft)}.pilot{color:var(--soft)}
h1{font-size:32px}.button-row,.header-actions,.modal-actions,.column-option .button-row{gap:8px}.check,.column-option label{min-height:48px;gap:8px}.check input,.column-option input{min-height:20px}
.icon-button{width:52px}.column-option button,.work-mode-bar button,.asset-mode-bar button,.photo-caption button,.photo-picker button,.photo-upload button,.phone-back,.phone-filter-toggle,.asset-sort-bar select,.calendar-more,.filter-chip{min-height:52px;min-width:48px}
.modal-actions button{min-height:52px}.modal-actions .primary{min-height:56px}.calendar-controls button{min-height:52px}
.mobile-bottom-nav button{min-height:54px;min-width:48px;color:var(--ink)}.mobile-bottom-nav button.active{background:var(--soft);color:var(--ink)}
.badge.URGENT,.photo-error,#form-error,.overdue{color:#A52F35}.badge.URGENT{background:#FCECED}.badge.HIGH,.badge.ON_HOLD{background:#FFF1D6;color:#805510}.badge.OPEN,.badge.IN_PROGRESS{background:#EAF2FC;color:#245B91}.badge.DONE{background:#EAF5EC;color:#276246}.badge.LOW{background:#EDF1EE;color:#446268}
.compact-work.selected,.compact-asset.selected,.calendar-event.selected{background:#EAF2FC}.data-id{font-family:'IBM Plex Mono',Consolas,monospace}
/* Orange is a small brand accent only; urgency continues to use semantic red. */
.contact-card h3:before{content:'';display:inline-block;width:6px;height:6px;background:var(--brand-orange);margin:0 8px 3px 0}
@media(max-width:900px){aside{overflow:visible}.brand{max-width:240px}button,input:not([type=checkbox]):not([type=radio]),select{min-height:52px}.primary{min-height:56px}.mobile-bottom-nav button{min-height:54px}.photo-caption button,.photo-upload button,.phone-back{min-height:52px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Phone working screens use compact property/account controls, not a persistent brand lockup. */
#phone-more,#launch-screen{display:none}
@media(max-width:900px){
 aside{display:none}.workspace{display:flex;flex-direction:column}.workspace-bar{order:-1;display:flex;flex-wrap:nowrap;align-items:center;padding:10px 16px;gap:8px;background:var(--ink)}
 .workspace-bar>label:first-child{flex:1;min-width:0;font-size:11px;color:var(--soft)}.workspace-bar>label:first-child select{width:100%;max-width:100%;color:var(--ink)}
 .workspace-bar>label:nth-child(2),.workspace-bar>#new-hotel,.workspace-bar>span{display:none}
 #phone-more{display:block;flex:0 0 52px;background:var(--soft);color:var(--ink);margin-top:16px}
 header{padding:12px 16px;gap:8px;flex-direction:row;align-items:center}header h1{font-size:24px;margin:0}.eyebrow,.header-actions .identity{display:none}.header-actions{margin-left:auto}.demo-strip{padding:8px 16px;font-size:10px}
 #create:not([hidden]){position:fixed;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:45;width:56px;height:56px;min-height:56px;padding:0;border-radius:50%;font-size:0;box-shadow:0 4px 14px #152D3233}#create:not([hidden]):after{content:'+';font-size:30px;font-weight:400}
 #launch-screen{display:grid;position:fixed;inset:0;place-items:center;z-index:100;background:var(--ink);pointer-events:none;opacity:1;transition:opacity 120ms ease,visibility 0s 120ms}
 .launch-mark{width:96px;height:96px;animation:brand-launch 350ms ease-out both}
 body.app-ready #launch-screen{opacity:0;visibility:hidden}
}
@keyframes brand-launch{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){#launch-screen,.launch-mark{animation:none!important;transition:none!important;transform:none!important}}

/* Launch animation runs independently of loading and never delays navigation or intercepts input. */
@media(max-width:900px){#launch-screen{animation:launch-exit 350ms ease-out forwards}body.app-ready #launch-screen{animation:none;transition:none;opacity:0;visibility:hidden}}
@keyframes launch-exit{0%,65%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){#launch-screen{display:none!important}}

/* Flex ordering must not let intrinsic table width expand the phone document. */
@media(max-width:900px){.workspace>main{width:100%;min-width:0}.workspace>header,.workspace>.demo-strip,.workspace>footer{min-width:0;max-width:100%}}

@media(max-width:900px){header{flex-wrap:nowrap}.header-actions{width:auto;flex:0 0 auto;margin-left:auto}}
