
:root{font-family:system-ui,-apple-system,sans-serif;color:#172a46;background:#f2f6fb;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:white;border-bottom:1px solid #dde7f2;padding:18px max(20px,calc((100vw - 1200px)/2));display:flex;align-items:center;gap:24px}header img{width:140px;height:auto}header strong{display:block}header small{color:#63758c}main{max-width:1200px;margin:30px auto;padding:0 20px}button,input,select,textarea{font:inherit;border-radius:10px;border:1px solid #cbd8e8;padding:12px}button{cursor:pointer;background:#064487;color:#fff;font-weight:650}button.secondary{background:white;color:#064487}button:disabled{opacity:.6;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #66b9e7;outline-offset:3px}label{display:block;margin:16px 0 7px;font-weight:600}input,select,textarea{width:100%;background:white;color:inherit}h1{font-size:clamp(25px,4vw,34px);margin:0 0 8px}h2{font-size:22px}p{line-height:1.6}.muted{color:#64758d}.login{max-width:440px;margin:70px auto;background:white;padding:32px;border:1px solid #dae5f1;border-radius:20px;box-shadow:0 12px 40px #184a8010}.login button{width:100%;margin-top:22px}.bar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:22px}.badge{display:inline-block;background:#e4f4fd;color:#10567b;padding:6px 10px;border-radius:20px;font-size:13px;font-weight:650}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat{background:white;padding:20px;border:1px solid #dae5f1;border-radius:15px}.stat small{display:block;color:#64758d}.stat strong{display:block;font-size:26px;margin-top:8px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:20px 0}.period{display:flex;gap:16px;flex-wrap:wrap}.period label{margin:0;font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.card{text-align:left;background:white;color:#172a46;border:1px solid #d7e3ef;border-left:4px solid #7ca7ce;border-radius:15px;padding:20px;min-width:0;font-weight:400}.card.contracted{border-left-color:#75ad8b}.card.irregular{border-left-color:#ddb074}.card.blocked{border-left-color:#d98383}.card strong{display:block;font-size:17px;overflow-wrap:anywhere;margin-bottom:8px}.card small{display:block;margin:7px 0;line-height:1.5}.card:hover{box-shadow:0 8px 24px #144b7e12}.error{color:#9d2735}.notice{background:#e7f1fb;border-radius:12px;padding:13px 17px;font-size:14px}dialog{width:min(800px,95vw);max-height:90dvh;border:0;border-radius:20px;padding:25px;color:#172a46}dialog::backdrop{background:#10284580}.sheet-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.sheet-head h2{margin-top:4px}dl{display:grid;grid-template-columns:170px 1fr;gap:12px}dt{color:#63758c}dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}#status{min-height:26px}#logout{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.view-tabs{margin:22px 0 8px}.view-tabs button[aria-pressed="true"]{background:#064487;color:white}.phase-chip{display:inline-block;padding:6px 10px;background:#e7effb;border-radius:8px;color:#064487;font-size:14px;font-weight:650}.task-label{font-size:15px!important;color:#064487;margin-top:14px}.card-action{display:block;margin-top:14px;color:#064487;font-weight:650}.group-heading{grid-column:1/-1;margin:16px 0 0}.sheet-tabs{margin:20px 0}.sheet-tabs button{font-size:14px;padding:10px}.timeline-entry{border-left:3px solid #b6cfe8;margin:14px 0;padding:10px 16px;background:#f4f7fb;border-radius:0 12px 12px 0}.timeline-entry small{color:#63758c}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.interest-results{max-height:240px;overflow:auto;border:1px solid #dce5ee;border-radius:10px;padding:8px}.interest-option{display:flex;align-items:center;gap:10px;font-weight:400;font-size:14px;margin:0;padding:10px}.interest-option input{width:18px;height:18px;flex-shrink:0}#interestSelected{margin-top:12px}#interestSelected button{padding:7px 10px;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}textarea{min-height:100px;resize:vertical}.editor{border-top:1px solid #dce5ee;margin-top:24px;padding-top:8px}.editor button{margin-top:16px}.wide{grid-column:1/-1}.actions{display:flex;gap:10px;flex-wrap:wrap}.notice{white-space:normal}#writeStatus{white-space:pre-wrap}[hidden]{display:none!important}@media(max-width:850px){.cards{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){header{gap:14px;padding:14px}header img{width:110px}header small{font-size:11px}main{padding:0 14px}.login{margin:30px auto;padding:24px}.cards,.filters,.form-grid{grid-template-columns:1fr}.stat{padding:14px}.stat strong{font-size:22px}.bar{align-items:start}dl{grid-template-columns:1fr;gap:6px}dd{margin-bottom:12px}.period label{flex:1}}

.quote-result{display:block;width:100%;text-align:left;margin:5px 0}

.kanban-board{display:flex;gap:16px;overflow-x:auto;align-items:stretch;padding:6px 0 22px;scroll-snap-type:x proximity}.kanban-column{flex:0 0 280px;background:#eaf0f7;border:1px solid #d6e1ef;border-radius:16px;padding:12px;scroll-snap-align:start}.kanban-column h2{font-size:16px;margin:8px 4px 16px;min-height:42px}.kanban-stack{display:flex;flex-direction:column;gap:12px;max-height:65vh;overflow-y:auto;padding:2px}.kanban-stack .card{padding:14px}.kanban-open{display:block;text-align:left;width:100%;padding:0;border:0;background:transparent;color:inherit;font-weight:400}.kanban-stack .secondary{font-size:13px;padding:8px;margin-top:12px}.kanban-stack .is-dragging{opacity:.45}input[type=checkbox]{width:auto}

/* Kanban uses the available screen, without a nested scrolling box. */
main:has(.kanban-board){max-width:none;margin:30px 0;padding:0 24px}.kanban-board{overflow:visible;flex-wrap:wrap;align-items:flex-start;scroll-snap-type:none}.kanban-column{flex:1 1 270px;min-width:250px;max-width:380px;background:transparent;border:0;border-radius:0;padding:0 6px}.kanban-column h2{border-bottom:2px solid #d6e1ef;padding-bottom:12px}.kanban-stack{max-height:none;overflow:visible;padding:2px}.kanban-stack .card{background:white}@media(max-width:550px){main:has(.kanban-board){padding:0 14px}.kanban-column{flex-basis:100%;max-width:none;min-width:0}}

main.kanban-layout{width:100%;max-width:none;margin:24px 0;padding:0 24px}.kanban-layout .kanban-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;overflow:visible;align-items:start}.kanban-layout .kanban-column{min-width:0;max-width:none;width:100%;background:transparent;border:0;padding:0}.kanban-layout .kanban-stack{max-height:none;overflow:visible}body:has(main.kanban-layout) header{padding:18px 24px}@media(max-width:550px){main.kanban-layout{padding:0 14px}.kanban-layout .kanban-board{grid-template-columns:1fr}}

.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.overview-panel{background:white;border:1px solid #dae5f1;border-radius:16px;padding:22px;min-width:0}.overview-panel h2{margin:0 0 20px;font-size:19px}.overview-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:14px 0;font-size:14px}.overview-row span,.overview-link{overflow-wrap:anywhere}.overview-row meter{grid-column:1/-1;width:100%;height:12px;accent-color:#064487}.overview-link{padding:0;border:0;border-radius:0;background:transparent;color:#064487;text-align:left;font-weight:500}.overview-note{grid-column:1/-1}@media(max-width:700px){.overview-grid{grid-template-columns:1fr}}

main.analysis-layout{max-width:1480px;width:100%;padding:0 24px}.analysis-layout #cards,.analysis-layout .filters,.analysis-layout #showArchived,.analysis-layout label:has(#showArchived),.analysis-layout #resultCount,.analysis-layout #kanbanStatus{display:none}.pan-wide{grid-column:1/-1}.pan-controls{margin:20px 0}.pan-controls details{margin:18px 0}.pan-table-scroll{overflow:auto}.overview-panel table{width:100%;border-collapse:collapse;font-size:14px}.overview-panel th,.overview-panel td{text-align:left;border-bottom:1px solid #e1e8f0;padding:12px 8px;vertical-align:top}.pan-funnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.pan-funnel>div{background:#f3f7fc;padding:14px;border-radius:12px;min-width:0}.pan-funnel h3{font-size:16px}.pan-funnel button{display:block;margin:12px 0}.pan-ranking{max-height:540px;overflow:auto;margin:20px 0}.pan-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:20px 0}.pan-map-layout svg{width:100%;max-height:580px}.pan-map-layout svg text{font-size:11px;fill:#173755}.pan-map-layout path{cursor:pointer}.pan-map-layout path:focus{outline:none;stroke:#064487;stroke-width:4}.pan-map-layout button{display:block;margin:14px 0}.analysis-layout .period select{width:auto;max-width:100%}@media(max-width:700px){main.analysis-layout{padding:0 14px}.pan-map-layout{grid-template-columns:1fr}}@media print{body{background:white}header,.bar,.view-tabs,#viewHint,.filters,#taskFilter,label:has(#showArchived),#cards,#resultCount,#kanbanStatus,#panControls button{display:none!important}main.analysis-layout{max-width:none;margin:0;padding:0}.overview-grid{display:block}.overview-panel,.stat{break-inside:avoid;margin:12px 0}.pan-ranking{max-height:none;overflow:visible}.pan-table-scroll{overflow:visible}.overview-panel table{font-size:10px}.pan-funnel{grid-template-columns:repeat(3,1fr)}.pan-map-layout{grid-template-columns:1fr 1fr}dialog{display:none!important}}

main.analysis-layout{max-width:1480px;width:100%;padding:0 24px}.analysis-layout #cards,.analysis-layout .filters,.analysis-layout #showArchived,.analysis-layout label:has(#showArchived),.analysis-layout #resultCount,.analysis-layout #kanbanStatus{display:none}.pan-wide{grid-column:1/-1}.pan-controls{margin:20px 0}.pan-controls details{margin:18px 0}.pan-table-scroll{overflow:auto}.overview-panel table{width:100%;border-collapse:collapse;font-size:14px}.overview-panel th,.overview-panel td{text-align:left;border-bottom:1px solid #e1e8f0;padding:12px 8px;vertical-align:top}.pan-funnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.pan-funnel>div{background:#f3f7fc;padding:14px;border-radius:12px;min-width:0}.pan-funnel h3{font-size:16px}.pan-funnel button{display:block;margin:12px 0}.pan-ranking{max-height:540px;overflow:auto;margin:20px 0}.pan-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:20px 0}.pan-map-layout svg{width:100%;max-height:580px}.pan-map-layout svg text{font-size:11px;fill:#173755}.pan-map-layout path{cursor:pointer}.pan-map-layout path:focus{outline:none;stroke:#064487;stroke-width:4}.pan-map-layout button{display:block;margin:14px 0}.analysis-layout .period select{width:auto;max-width:100%}@media(max-width:700px){main.analysis-layout{padding:0 14px}.pan-map-layout{grid-template-columns:1fr}}@media print{body{background:white}header,.bar,.view-tabs,#viewHint,.filters,#taskFilter,label:has(#showArchived),#cards,#resultCount,#kanbanStatus,#panControls button{display:none!important}main.analysis-layout{max-width:none;margin:0;padding:0}.overview-grid{display:block}.overview-panel,.stat{break-inside:avoid;margin:12px 0}.pan-ranking{max-height:none;overflow:visible}.pan-table-scroll{overflow:visible}.overview-panel table{font-size:10px}.pan-funnel{grid-template-columns:repeat(3,1fr)}.pan-map-layout{grid-template-columns:1fr 1fr}dialog{display:none!important}}

.filters{grid-template-columns:minmax(240px,2fr) repeat(4,minmax(140px,1fr))}@media(max-width:1100px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters input{grid-column:span 2}}@media(max-width:650px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters input{grid-column:1/-1}}@media(max-width:400px){.filters{grid-template-columns:1fr}}
