/* Yacht Log visual system. No routing, data, permissions or external assets. */
:root{--muted:#60717c;--yacht-radius:18px;--yacht-control-radius:12px;--yacht-shadow:0 3px 14px #122e3d05;--yacht-speed:160ms}
body{font-family:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
body.captainSimple #app{max-width:1120px;padding-top:26px;padding-bottom:56px}
header{border-bottom:1px solid var(--line);box-shadow:0 2px 12px #102b3903}
header .brand{letter-spacing:.16em;line-height:1.25}header .brand small{letter-spacing:.045em;line-height:1.4}
h1,.deskTitle,.nextHeading h1{font-size:clamp(25px,3vw,32px);font-weight:600;letter-spacing:-.025em;color:var(--ink);line-height:1.25}
h2{font-weight:600;letter-spacing:-.012em}h3{font-weight:600;line-height:1.4}
#app>h1:not(.screenReaderOnly){display:inline-block;vertical-align:middle;max-width:calc(100% - 66px);margin:6px 0 24px;overflow-wrap:anywhere}
.sub,.footer{line-height:1.55}.row,.items,.formActions,.quickActions{min-width:0}
button,summary{box-sizing:border-box;max-width:100%;line-height:1.4;overflow-wrap:anywhere}
.btn,.recordMore>summary{min-height:44px;padding:11px 17px;border-radius:var(--yacht-control-radius);font-weight:500;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:600}
.btn.quiet{background:transparent;border-color:transparent;color:var(--muted)}
.btn.danger{color:var(--alert-red)}button:disabled{cursor:not-allowed}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0;max-width:100%;border-radius:var(--yacht-control-radius);line-height:1.45}
label{font-size:13px;line-height:1.45;letter-spacing:.005em}textarea{padding:14px}
.card,.nextList,.deskList{border-radius:var(--yacht-radius);box-shadow:var(--yacht-shadow)}
.deskBack{padding:0;margin:0 0 20px;border:0;background:transparent;min-width:0}
.deskBack .deskBackButton{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;flex:0 1 auto;width:auto;max-width:100%;min-width:0;height:auto;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--yacht-control-radius);background:var(--surface);color:var(--theme-accent);text-align:left;line-height:1.4}
.deskBackIcon{display:flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px}
.deskBackLabel{display:block;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:14px;font-weight:500}
#taskLayer .deskBack{position:static;background:transparent}
#deskPageRename{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:44px;min-width:44px;height:44px;min-height:44px;padding:8px;margin:0 0 24px 10px;color:var(--muted);font-size:21px;border-radius:12px}
.yachtIcon{display:block;width:24px;height:24px;flex:none;color:inherit;pointer-events:none}
.deskBackIcon .yachtIcon{width:20px;height:20px}
.deskTiles{gap:18px;animation:none}
.deskTile{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:178px;padding:24px 54px 24px 24px;border-radius:20px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--yacht-shadow);line-height:1.4}
.deskTileIcon{display:flex;position:static;align-items:center;justify-content:center;width:46px;height:46px;flex:none;margin:0 0 18px;border-radius:13px;background:var(--surface-soft);color:var(--theme-accent)}
.deskTileIcon .yachtIcon{width:27px;height:27px}
.deskTile strong{font-size:18px;font-weight:600;line-height:1.4;letter-spacing:-.012em;min-width:0;max-width:100%;overflow-wrap:anywhere}
.deskTile small{font-size:13px;line-height:1.55;margin-top:8px;color:var(--muted);max-width:100%;overflow-wrap:anywhere}
.deskTile small.deskTone-red{color:var(--alert-red)}.deskTile small.deskTone-yellow{color:var(--alert-yellow)}
.deskRename{display:flex;align-items:center;justify-content:center;top:9px;right:9px;width:40px;min-width:40px;min-height:44px;height:44px;padding:0;font-size:24px;border-radius:12px;color:var(--muted);background:transparent}
.deskMessages{min-height:64px;margin:18px 0 0;padding:18px 22px;border-radius:16px;border-color:var(--line);background:var(--surface);color:var(--ink);font-weight:500;box-shadow:var(--yacht-shadow);line-height:1.45;text-align:left}
.deskBadge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:28px;min-height:28px;padding:3px 9px;border-radius:20px;background:var(--surface-soft);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.deskBadge.hasUnread{background:var(--alert-red);color:var(--surface)}
.nextAdd{margin-top:22px;min-height:50px;border-radius:14px}
.deskRow,.nextRow{min-width:0;min-height:74px;padding:19px 22px;background:var(--surface);color:var(--ink);line-height:1.45}
.deskRow>span:first-child,.nextRow>span:first-child{min-width:0;overflow-wrap:anywhere}
.deskRow strong,.nextRow strong{font-size:16px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}
.deskRow small,.nextRow small{font-size:13px;line-height:1.5;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}
.deskRow>span:last-child,.nextRow>span:last-child{flex:none;color:var(--muted)}
.deskGroup{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--muted);margin:28px 0 12px}
.deskFilters{gap:12px}.deskFilters label{margin:0}.quickActions,.recordActions{gap:10px}.recordMoreItems{border-radius:12px}
.fileLinks a{display:block;min-height:44px;padding:10px 12px;margin:6px 0;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere;color:var(--theme-accent);text-underline-offset:3px}
.settingsSection{margin-top:24px;padding-top:18px}.settingsSection h3{margin:0 0 12px;font-size:17px}
.viewChoice,.viewExtraGrid,.draftBar{border-radius:14px}.viewChoice:has(input:checked){background:var(--surface-soft)}
.formActions{gap:10px;padding-top:16px}.tag{border-radius:7px;line-height:1.4}
#flowDialog:not(:has(form)):not(.sketchFullscreen),#taskLayer{border-radius:20px}#taskLayer .taskLayerTop{padding:10px 16px}#taskLayer .taskLayerTop .btn{min-height:44px}
.uiProblem,.uiConnection,.uiErrorSummary{border-radius:14px}
.nextSection,.nextWorkLinks{animation:none}
#captainBottom{padding-top:8px;box-shadow:0 -3px 18px #122e3d06;background:var(--surface);border-color:var(--line)}
#captainBottom button{min-height:55px;gap:5px;border-radius:13px;font-size:12px;font-weight:500;line-height:1.3;color:var(--muted)}
#captainBottom button .yachtIcon{width:22px;height:22px}
#captainBottom button[aria-current=page]{background:var(--surface-soft);color:var(--theme-accent);font-weight:600}
@media(min-width:1000px){header .top #headerDate{position:absolute;grid-column:1/-1;grid-row:1;left:50%;top:50%;transform:translate(-50%,-50%)}header .brand{max-width:calc(50vw - 130px);overflow-wrap:anywhere}}
@media(hover:hover) and (pointer:fine){.deskTile:hover{border-color:var(--theme-accent);background:var(--surface);box-shadow:0 6px 22px #122e3d0b}.deskRow:hover,.nextRow:hover,.deskMessages:hover,.deskRename:hover,.deskBack .deskBackButton:hover{background:var(--surface-soft)}.btn:not(.primary):not(:disabled):hover{background:var(--surface-soft)}.navcard:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:no-preference){html:not([data-motion=reduced]) :is(.btn,.deskBackButton,.deskTile,.deskMessages,.deskRow,.nextRow,.deskRename,#captainBottom button){transition:background-color var(--yacht-speed) ease,border-color var(--yacht-speed) ease,box-shadow var(--yacht-speed) ease}html:not([data-motion=reduced]) dialog[open],html:not([data-motion=reduced]) :is(#flowDialog[open],#taskLayer[open]){animation:yachtDialogIn 160ms ease-out}@keyframes yachtDialogIn{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:680px){body.captainSimple #app{padding-top:18px}.deskTiles{gap:12px}.deskTile{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;row-gap:4px;min-height:112px;padding:20px 52px 20px 18px;border-radius:17px}.deskTileIcon{grid-row:1/3;grid-column:1;width:44px;height:44px;margin:0;align-self:center}.deskTile strong{grid-row:1;grid-column:2;font-size:17px;align-self:end}.deskTile small{grid-row:2;grid-column:2;margin:0;align-self:start}.deskTileIcon .yachtIcon{width:25px;height:25px}.deskMessages{padding:16px 18px;margin-top:14px;border-radius:14px}.deskRow,.nextRow{padding:17px 18px}.deskBack{margin-bottom:18px}.deskBack .deskBackButton{padding:10px 12px}.deskBackLabel{font-size:14px}#app>h1:not(.screenReaderOnly){font-size:26px}.nextAdd{min-height:48px}#flowDialog:not(:has(form)):not(.sketchFullscreen),#taskLayer{border-radius:0}header .brand{letter-spacing:.09em}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html[data-motion=reduced] *,html[data-motion=reduced] *::before,html[data-motion=reduced] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media print{.deskBack,#deskPageRename,.deskRename{display:none!important}.card{box-shadow:none}}
