#projectPlanView { --pp-border:var(--line); }
#projectPlanView [hidden] { display:none!important; }
#projectPlanView .topbar small { font-size:11px; padding:4px 7px; border-radius:5px; background:#ece6ff; color:#6635a5; vertical-align:middle; }
#projectPlanView button,#projectPlanView input,#projectPlanView select { font:inherit; color:var(--ink); border:1px solid var(--line); border-radius:6px; padding:8px 11px; background:var(--md-surface-bright); }
#projectPlanView button { cursor:pointer; }
#projectPlanView .pp-controls { display:flex; align-items:end; flex-wrap:wrap; gap:12px; padding:18px 0; }
#projectPlanView label { display:grid; gap:6px; font-size:12px; color:var(--muted); }
#projectPlanView .pp-address { position:relative; width:min(420px,100%); }
#projectPlanView .pp-results { position:absolute; top:100%; left:0; right:0; z-index:20; max-height:320px; overflow:auto; padding:6px; border:1px solid var(--line); border-radius:6px; background:var(--md-surface-bright); box-shadow:var(--shadow); }
#projectPlanView .pp-results button { display:grid; text-align:left; width:100%; border:0; gap:5px; }
#projectPlanView .pp-results button:hover { background:var(--md-secondary-container); }
#projectPlanView .pp-selected { padding:10px 0; font-weight:600; }
#projectPlanView .pp-team { padding:16px; background:var(--md-surface-bright); border:1px solid var(--line); border-radius:8px; }
#projectPlanView .pp-contacts { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px; margin-top:14px; }
#projectPlanView .pp-contacts article { display:grid; gap:5px; font-size:12px; padding:12px; border:1px solid var(--line); border-radius:6px; overflow-wrap:anywhere; }
#projectPlanView .pp-internal { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; align-items:center; font-size:12px; }
#projectPlanView .pp-internal span { background:var(--md-secondary-container); padding:5px 8px; border-radius:5px; }
#projectPlanView .pp-tabs { display:flex; gap:4px; }
#projectPlanView .pp-tabs [aria-pressed=true] { background:#e5efff; border-color:#0073ea; color:#0059b5; }
#projectPlanView .pp-group { margin:16px 0 24px; border-left:4px solid var(--pp-group-color); background:var(--md-surface-bright); border-radius:6px; }
#projectPlanView .pp-group-title { border:0; background:transparent; text-align:left; color:var(--pp-group-color); font-size:15px; font-weight:650; padding:14px; }
#projectPlanView .pp-group-title span { font-size:12px; color:var(--muted); font-weight:400; }
#projectPlanView .pp-table-scroll { overflow:auto; }
#projectPlanView table { border-collapse:collapse; width:100%; min-width:880px; table-layout:fixed; }
#projectPlanView th,#projectPlanView td { border:1px solid var(--line); padding:10px; text-align:left; font-size:12px; }
#projectPlanView th { background:var(--md-surface); color:var(--muted); }
#projectPlanView th:first-child { width:32%; }
#projectPlanView .pp-task { border:0; background:transparent; text-align:left; padding:0; width:100%; font-size:13px; line-height:1.5; }
#projectPlanView .pp-task:hover { color:#0073ea; text-decoration:underline; }
#projectPlanView .pp-status { display:block; text-align:center; padding:7px; border-radius:4px; }
#projectPlanView .s0 { background:#e6e9ee; color:#485463; } #projectPlanView .s1 { background:#fff0c2; color:#805600; } #projectPlanView .s2 { background:#d7f2e7; color:#006947; } #projectPlanView .s3 { background:#dfeaff; color:#24579c; }
#projectPlanView progress { width:60px; height:7px; accent-color:#008b75; }
#projectPlanView .pp-empty { padding:16px; color:var(--muted); }
#projectPlanView .pp-timeline { overflow:auto; max-height:70vh; position:relative; border:1px solid var(--line); border-radius:8px; }
#projectPlanView .pp-time-head,#projectPlanView .pp-time-row { display:flex; width:var(--pp-total); }
#projectPlanView .pp-time-head { position:sticky; top:0; z-index:5; background:var(--md-surface-bright); border-bottom:1px solid var(--line); }
#projectPlanView .pp-weeks { display:flex; }
#projectPlanView .pp-weeks>span { box-sizing:border-box; flex-shrink:0; text-align:center; font-size:12px; padding:10px 2px; border-left:1px solid var(--line); }
#projectPlanView small { display:block; color:var(--muted); font-size:11px; margin-top:4px; }
#projectPlanView .pp-sticky { position:sticky; left:0; z-index:2; width:340px; flex-shrink:0; box-sizing:border-box; padding:10px 12px; background:var(--md-surface-bright); border-right:1px solid var(--line); }
#projectPlanView .pp-time-row { min-height:60px; border-bottom:1px solid var(--line); }
#projectPlanView .pp-timeline .pp-group { width:var(--pp-total); border-left:0; }
#projectPlanView .pp-timeline .pp-group-title { position:sticky; left:0; max-width:min(700px,90vw); }
#projectPlanView .pp-track { position:relative; flex-shrink:0; background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--pp-week) - 1px),var(--line) calc(var(--pp-week) - 1px),var(--line) var(--pp-week)); }
#projectPlanView .pp-bar { position:absolute; top:13px; height:30px; border:0; border-radius:15px; padding:0; overflow:hidden; min-width:9px; }
#projectPlanView .pp-bar span { position:absolute; top:0; left:0; bottom:0; background:currentColor; opacity:.15; }
#projectPlanView .pp-bar b { position:relative; font-size:10px; }
#projectPlanView .pp-bar.is-invalid { outline:2px dashed #c2120e; }
#projectPlanView .pp-unscheduled { display:block; padding:20px 12px; font-size:12px; color:var(--muted); }
@media(max-width:600px) { #projectPlanView .pp-controls>label { width:100%; } #projectPlanView .pp-selected { width:100%; } #projectPlanView .pp-sticky { width:220px; } #projectPlanView .pp-time-head,#projectPlanView .pp-time-row,#projectPlanView .pp-timeline .pp-group { width:calc(var(--pp-total) - 120px); } }

#projectPlanView .topbar h1 small { display:inline-block; width:auto; margin:0 0 0 8px; }

#projectPlanView .pp-task-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:5px; }
#projectPlanView .pp-employee-chip { display:inline-block; max-width:100%; box-sizing:border-box; padding:3px 7px; border:1px solid #c8dce0; border-radius:4px; background:#e5eff1; color:#315d68; font-size:11px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
#projectPlanView .pp-task-status,#projectPlanView .pp-unassigned { color:var(--muted); font-size:11px; }

#projectPlanView .pp-weeks>span { padding:0; }
#projectPlanView .pp-weeks>span>strong { display:block; padding:8px 0; font-size:12px; font-weight:600; }
#projectPlanView .pp-days { display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid var(--line); }
#projectPlanView .pp-days>span { display:grid; gap:3px; padding:4px 0; border-left:1px solid var(--line); font-size:10px; }
#projectPlanView .pp-days .is-weekend { background:#edf0f2; color:var(--muted); }
#projectPlanView .pp-track-pair { flex-shrink:0; }
#projectPlanView .pp-track { height:54px; box-sizing:border-box; background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--pp-day) - 1px),var(--line) calc(var(--pp-day) - 1px),var(--line) var(--pp-day)),repeating-linear-gradient(to right,transparent 0,transparent calc(var(--pp-day)*5),#edf0f2 calc(var(--pp-day)*5),#edf0f2 var(--pp-week)); }
#projectPlanView .pp-target-track { border-bottom:1px dashed #c8d9e8; cursor:pointer; }
#projectPlanView .pp-track-label { position:absolute; left:5px; top:2px; font-size:10px; font-weight:700; color:var(--muted); }
#projectPlanView .pp-bar,#projectPlanView .pp-target-bar { position:absolute; top:22px; height:25px; padding:0; border:0; border-radius:5px; min-width:9px; }
#projectPlanView .pp-target-bar { background:#dceaff; border:1px solid #4c8fe6; }
#projectPlanView .pp-unscheduled { padding:25px 8px 4px; font-size:11px; }
#projectPlanView .pp-plan-empty { border:0; background:transparent; color:#2861a6; }
.pp-plan-dialog { width:min(440px,calc(100vw - 32px)); box-sizing:border-box; padding:24px; border:1px solid var(--line); border-radius:10px; background:var(--md-surface-bright); color:var(--ink); }
.pp-plan-dialog::backdrop { background:rgb(0 0 0 / 35%); }
.pp-plan-dialog h2 { font-size:18px; margin:0 0 12px; }
.pp-plan-dialog p { overflow-wrap:anywhere; }
.pp-plan-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pp-plan-fields label { display:grid; gap:6px; font-size:12px; }
.pp-plan-dialog input,.pp-plan-dialog button { min-width:0; padding:9px; font:inherit; border:1px solid var(--line); border-radius:5px; background:var(--md-surface-bright); color:var(--ink); }
.pp-plan-dialog footer { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.pp-plan-dialog button[type=submit] { background:var(--red); color:white; }
.pp-plan-error { color:#a51d2d; font-size:12px; min-height:18px; }

#projectPlanView .pp-bar,#projectPlanView .pp-target-bar { min-height:0; box-sizing:border-box; }
