:root{--green:#107c41;--green-dark:#0b5f32;--green-soft:#e9f3ed;--text:#242424;--muted:#616161;--border:#e1dfdd;--surface:#fff;--canvas:#faf9f8;--row:#f5f5f5;--red:#c42b1c;--amber:#986f0b;--blue:#0078d4}*{box-sizing:border-box}html,body{margin:0;height:100%;font:14px "Segoe UI",Arial,sans-serif;color:var(--text);background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;background:#f3f2f1}.login-box{width:380px;background:#fff;padding:36px;border:1px solid var(--border);box-shadow:0 8px 24px #0002}.login-logo{width:58px;height:58px;object-fit:contain}.login-box h1{font-size:28px;margin:12px 0 2px}.login-box p{margin:0 0 24px;color:var(--muted)}label{display:block;font-weight:600;margin:14px 0 5px}input,select,textarea{width:100%;border:1px solid #8a8886;padding:8px 10px;background:#fff;border-radius:2px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:inset 0 -2px var(--green)}textarea{min-height:92px;resize:vertical}.primary,.command-primary{background:var(--green);border:1px solid var(--green);color:#fff;padding:8px 16px}.login-box .primary{width:100%;margin-top:20px}.error{color:var(--red);margin-top:10px}.appbar{height:48px;background:var(--green);color:#fff;display:flex;align-items:center;gap:10px;padding:0 16px;position:fixed;inset:0 0 auto;z-index:5}.appbar img{width:30px;height:30px;object-fit:contain}.appbar b{font-size:16px}.appbar #context-title{border-left:1px solid #ffffff55;margin-left:8px;padding-left:18px;font-size:16px}.appbar button{border:0;background:transparent;color:#fff;padding:8px}.waffle{font-size:20px}.appbar-right{margin-left:auto;display:flex;gap:8px}.appbar-right i{background:#fff;color:var(--green);font-style:normal;border-radius:10px;padding:1px 6px}.shell{display:flex;padding-top:48px;min-height:100vh}.rail{width:142px;position:fixed;top:48px;bottom:0;background:#f3f2f1;border-right:1px solid var(--border);padding-top:10px}.rail button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:12px 16px;color:#323130}.rail button:hover,.rail button.active{background:#fff;border-left:3px solid var(--green);padding-left:13px;color:var(--green-dark)}main{margin-left:142px;width:calc(100% - 142px);min-width:0}.page-head{height:82px;background:#fff;padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px}.page-head h1{font-size:24px;font-weight:600;margin:0}.page-head p{color:var(--muted);margin:4px 0 0}.page-head .spacer{margin-left:auto}.commandbar{height:48px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;gap:3px}.commandbar button{border:0;background:transparent;padding:8px 11px;color:#323130}.commandbar button:hover{background:#f3f2f1}.commandbar .command-primary{background:var(--green);color:#fff}.content-pad{padding:20px 24px}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);background:#fff;margin-bottom:20px}.summary-item{padding:15px 18px;border-right:1px solid var(--border)}.summary-item:last-child{border:0}.summary-item strong{font-size:23px;font-weight:600;display:block}.summary-item span{font-size:12px;color:var(--muted)}.data-grid{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border)}.data-grid th{height:38px;background:#faf9f8;text-align:left;font-weight:600;color:#484644;border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0 10px;white-space:nowrap}.data-grid td{height:44px;border-bottom:1px solid #edebe9;border-right:1px solid #edebe9;padding:6px 10px}.data-grid tbody tr:hover{background:#f3f9f5}.data-grid .clickable{cursor:pointer;color:#115ea3;font-weight:600}.status{display:inline-flex;align-items:center;gap:6px}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:#8a8886}.status.green:before,.status.done:before{background:#107c10}.status.yellow:before,.status.in_progress:before{background:#ffaa44}.status.red:before{background:#d13438}.progress-cell{display:flex;align-items:center;gap:8px}.progress-track{width:90px;height:7px;background:#edebe9}.progress-track i{display:block;height:100%;background:var(--green)}.project-title{display:flex;align-items:center;gap:12px}.project-title img{width:34px;height:34px;object-fit:contain}.tabs{height:42px;background:#fff;border-bottom:1px solid var(--border);display:flex;padding:0 22px;gap:26px}.tabs button{border:0;background:transparent;padding:0 2px;color:#484644}.tabs button.active{color:var(--green-dark);border-bottom:3px solid var(--green);font-weight:600}.split{display:grid;grid-template-columns:minmax(640px,48%) 1fr;height:calc(100vh - 220px);overflow:hidden}.task-pane,.timeline-pane{overflow:auto;background:#fff}.timeline-pane{border-left:2px solid #a19f9d}.timeline-grid{min-width:900px;position:relative;background:repeating-linear-gradient(90deg,#fff 0,#fff 39px,#edebe9 40px)}.timeline-head{height:76px;position:sticky;top:0;background:#faf9f8;z-index:2;border-bottom:1px solid var(--border)}.timeline-days{display:flex;padding-left:20px}.timeline-day{width:40px;flex:none;text-align:center;padding-top:38px;color:#605e5c}.gantt-row{height:44px;position:relative;border-bottom:1px solid #edebe9}.gantt-bar{position:absolute;top:10px;height:24px;background:#50a684;color:#fff;padding:4px 8px;min-width:24px;white-space:nowrap;overflow:hidden;font-size:12px}.gantt-bar.done{background:#9bc7b3}.gantt-bar.late{background:#d46a6a}.today-line{position:absolute;top:0;bottom:0;width:2px;background:#d13438;z-index:1}.empty{padding:32px;text-align:center;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.plain-card{background:#fff;border:1px solid var(--border);padding:18px}.plain-card h3{margin:0 0 8px}.goal-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}.goal-card{background:#fff;border:1px solid var(--border);padding:18px}.goal-card h3{margin:0 0 18px;font-size:16px}.meeting-row{display:grid;grid-template-columns:170px 1fr 180px 120px;align-items:center;background:#fff;border-bottom:1px solid var(--border);padding:12px}.meeting-row strong{display:block}.pill{display:inline-block;background:#f3f2f1;padding:3px 8px;border-radius:12px;font-size:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1000px}.settings-card{background:#fff;border:1px solid var(--border);padding:20px}.settings-card h2{font-size:18px;margin:0}.settings-card p{color:var(--muted);line-height:1.5}.settings-card .primary{margin-top:16px}.modal-layer{position:fixed;inset:0;background:#0006;display:grid;place-items:center;z-index:20}.modal{width:min(680px,calc(100vw - 32px));max-height:90vh;overflow:auto;background:#fff;box-shadow:0 16px 48px #0005}.modal-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center}.modal-head h2{font-size:20px;margin:0}.modal-head button{margin-left:auto;border:0;background:transparent;font-size:22px}.modal-body{padding:20px 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.form-grid .full{grid-column:1/-1}.modal-actions{padding:14px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.secondary{background:#fff;border:1px solid #8a8886;padding:8px 16px}.danger{color:var(--red)}.approval{background:#fff;border:1px solid var(--border);padding:18px;margin-bottom:10px}.approval blockquote{border-left:3px solid var(--green);margin:12px 0;padding-left:12px;color:var(--muted)}@media(max-width:900px){.rail{width:48px}.rail button{font-size:0;height:44px}.rail button:before{content:"•";font-size:18px}main{margin-left:48px;width:calc(100% - 48px)}.summary-strip{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;height:auto}.timeline-pane{border:0;min-height:420px}.settings-grid{grid-template-columns:1fr}}
:where([hidden]){display:none!important}
.analytics-grid{display:grid;grid-template-columns:320px 1fr;gap:16px;margin-bottom:24px}.chart-card{background:#fff;border:1px solid var(--border);padding:18px;min-height:235px}.chart-card h3{font-size:15px;font-weight:600;margin:0 0 14px}.chart-wide{grid-column:1/-1;min-height:310px}.donut-wrap{width:180px;height:180px;margin:auto;position:relative}.donut{width:180px;height:180px;transform:rotate(-90deg)}.donut circle{fill:none;stroke-width:15}.donut-bg{stroke:#edebe9}.donut-value{stroke:var(--green);stroke-linecap:butt;transition:stroke-dashoffset .4s}.donut-label{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.donut-label b{font-size:31px;font-weight:600}.donut-label span{font-size:12px;color:var(--muted)}.stacked-chart{height:42px;display:flex;margin:54px 0 28px;background:#edebe9}.stack{height:100%;min-width:0}.done-bar{background:#107c41}.work-bar{background:#ffaa44}.open-bar{background:#a19f9d}.chart-legend{display:flex;gap:28px;flex-wrap:wrap}.chart-legend span{display:flex;align-items:center;gap:7px;color:var(--muted)}.chart-legend b{color:var(--text);font-size:17px}.chart-legend i{width:10px;height:10px}.done-dot{background:#107c41}.work-dot{background:#ffaa44}.open-dot{background:#a19f9d}.column-chart{height:240px;border-left:1px solid #a19f9d;border-bottom:1px solid #a19f9d;display:flex;align-items:flex-end;gap:34px;padding:15px 34px 0;background:repeating-linear-gradient(0deg,transparent 0,transparent 47px,#edebe9 48px)}.column-item{height:100%;width:130px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.column-value{font-weight:600;margin-bottom:5px}.column-track{height:180px;width:56px;display:flex;align-items:flex-end}.column{width:100%;background:var(--green)}.column-name{height:44px;width:140px;text-align:center;font-size:12px;padding-top:7px;overflow:hidden}.section-heading{font-size:18px;font-weight:600;margin:8px 0 12px}@media(max-width:900px){.analytics-grid{grid-template-columns:1fr}.chart-wide{grid-column:auto}.column-chart{overflow-x:auto}.chart-legend{gap:12px}}
.calendar-toolbar{height:54px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:5px;padding:0 18px}.calendar-toolbar>button{border:0;background:transparent;padding:8px 12px;font-size:16px}.calendar-toolbar>button:hover,.view-switch button:hover{background:#f3f2f1}.calendar-toolbar strong{font-size:18px;text-transform:capitalize;margin-left:14px}.calendar-toolbar .today-button{border:1px solid var(--border);font-size:14px}.view-switch{margin-left:auto;display:flex;border:1px solid var(--border)}.view-switch button{border:0;border-right:1px solid var(--border);background:#fff;padding:8px 16px}.view-switch button:last-child{border:0}.view-switch button.active{background:var(--green);color:#fff}.calendar-shell{display:grid;grid-template-columns:280px 1fr;height:calc(100vh - 184px);min-height:600px}.agenda-panel{background:#252423;color:#fff;padding:22px;overflow:auto}.agenda-panel h2{font-size:18px;text-transform:capitalize;margin:0 0 14px}.agenda-add{width:100%;border:1px solid #ffffff55;background:transparent;color:#fff;padding:9px;margin-bottom:18px}.agenda-event{border-left:4px solid #55b17d;padding:9px 10px;margin:8px 0;background:#ffffff0d;display:grid;grid-template-columns:50px 1fr;gap:2px 8px}.agenda-event.deadline{border-color:#e3a21a}.agenda-event b{font-weight:600}.agenda-event small{grid-column:2;color:#c8c6c4}.agenda-empty{color:#c8c6c4;padding:25px 0}.calendar-main{background:#fff;overflow:auto}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);height:34px;border-bottom:1px solid var(--border)}.month-weekdays div{text-align:center;padding:9px;color:var(--muted);font-size:12px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));grid-template-rows:repeat(6,minmax(92px,1fr));height:calc(100% - 34px);min-width:840px}.month-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px;overflow:hidden;cursor:pointer}.month-day:hover,.month-day.selected{background:#f3f9f5}.month-day.outside{background:#faf9f8;color:#a19f9d}.day-number{width:27px;height:27px;display:grid;place-items:center;margin-left:auto}.month-day.today .day-number{background:var(--green);color:#fff;border-radius:50%}.calendar-event{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:3px 5px;margin:2px 0;border-left:3px solid var(--green);background:#e6f2eb;color:#174c30}.calendar-event.deadline{border-color:#d29200;background:#fff4ce;color:#654a00}.calendar-event span{font-weight:600}.more-events{font-size:11px;color:var(--muted);padding:2px 5px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);min-width:850px;height:100%}.week-column{border-right:1px solid var(--border);padding:0 8px;background:repeating-linear-gradient(0deg,#fff 0,#fff 47px,#edebe9 48px)}.week-head{height:58px;text-align:center;padding:8px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0}.week-head b{font-size:20px;display:block}.week-head.today b{color:var(--green)}.week-event{display:grid;padding:8px;margin-top:8px;border-left:4px solid var(--green);background:#e6f2eb}.week-event.deadline{border-color:#d29200;background:#fff4ce}.week-event span{font-size:11px}.day-view{padding:22px;max-width:900px}.day-view h2{text-transform:capitalize}.hour-row{display:grid;grid-template-columns:70px 1fr;min-height:56px;border-top:1px solid var(--border)}.hour-row time{padding:8px;color:var(--muted)}.hour-row>div{border-left:1px solid var(--border);padding:0 10px}@media(max-width:900px){.calendar-shell{grid-template-columns:1fr;height:auto}.agenda-panel{min-height:220px}.calendar-toolbar strong{display:none}.view-switch{margin-left:auto}}
.project-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px}.summary-description,.summary-panel{background:#fff;border:1px solid var(--border);padding:20px}.summary-description h2,.summary-panel h2{font-size:17px;margin:0 0 14px}.summary-description>p{font-size:16px;line-height:1.55;color:#484644}.summary-donuts{display:flex;gap:30px;margin-top:18px}.mini-donut{width:130px;height:130px;position:relative;text-align:center}.mini-donut svg{width:110px;height:110px;transform:rotate(-90deg)}.mini-donut circle{fill:none;stroke:#edebe9;stroke-width:14}.mini-donut circle.value{stroke:var(--green)}.mini-donut circle.tasks{stroke:#0078d4}.mini-donut b{position:absolute;top:39px;left:0;right:0;font-size:22px}.mini-donut span{display:block;color:var(--muted)}.summary-line{display:grid;grid-template-columns:1fr 50px;gap:10px;padding:11px 0;border-bottom:1px solid #edebe9}.summary-line b{text-align:right;color:var(--green-dark)}.summary-item-row{display:grid;grid-template-columns:105px 1fr;gap:3px 12px;padding:10px 0;border-bottom:1px solid #edebe9}.summary-item-row time{grid-row:1/3;color:var(--muted);font-size:12px}.summary-item-row small{color:var(--muted)}.summary-decisions{grid-column:1/-1}.decision-line{display:grid;grid-template-columns:90px 1fr 220px;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edebe9}.decision-line small{color:var(--muted)}.goal-charts{display:grid;gap:18px;max-width:1100px}.goal-chart-card{background:#fff;border:1px solid var(--border);padding:20px}.goal-chart-head{display:flex;justify-content:space-between;align-items:flex-start}.goal-chart-head h2{font-size:17px;margin:0 0 5px}.goal-chart-head span{color:var(--muted)}.goal-chart-head strong{font-size:30px;color:var(--green-dark)}.goal-chart{width:100%;height:240px;margin-top:14px}.goal-chart .chart-lines line{stroke:#edebe9;stroke-width:1}.goal-chart text{fill:#797775;font-size:11px}.goal-chart polyline{fill:none;stroke:var(--green);stroke-width:4;vector-effect:non-scaling-stroke}.goal-chart circle{fill:#fff;stroke:var(--green);stroke-width:3;vector-effect:non-scaling-stroke}.goal-chart-actions{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;border-top:1px solid #edebe9;padding-top:12px}@media(max-width:900px){.project-summary{grid-template-columns:1fr}.summary-decisions{grid-column:auto}.decision-line{grid-template-columns:80px 1fr}.decision-line small{grid-column:2}}
.settings-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.settings-actions .primary,.settings-actions .secondary{margin-top:0}.connection-result{margin-top:14px;padding:10px;background:#f3f2f1;color:var(--muted)}.connection-result.success{background:#dff6dd;color:#0b6a0b}.connection-result.failed{background:#fde7e9;color:#a4262c}.link-danger{border:0;background:transparent;color:var(--red);padding:4px}.link-danger:hover{text-decoration:underline}
.field-hint{margin:6px 0 14px;color:var(--muted);font-size:12px}.meeting-match{position:relative;padding-right:150px}.match-confidence{position:absolute;right:20px;top:20px;text-align:right}.match-confidence b{display:block;color:var(--green-dark);font-size:24px}.match-confidence span{color:var(--muted);font-size:12px}
.directory-progress{background:#fff;border:1px solid var(--border);padding:14px 16px;margin-bottom:16px}.progress-caption{display:flex;justify-content:space-between;margin-bottom:9px}.sync-track{height:6px;background:#edebe9;overflow:hidden}.sync-track i{display:block;height:100%;background:var(--green);transition:width .35s}.directory-progress.failed .sync-track i{background:var(--red)}.sync-stats{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:10px;color:var(--muted);font-size:12px}.employee-search{width:min(460px,60vw)}.employee-search input{height:32px}.employee-table a{color:#115ea3;text-decoration:none}.employee-table a:hover{text-decoration:underline}
.section-title{font-size:18px;margin:24px 0 10px}.primary:disabled{opacity:.55;cursor:default}.decision-auto_linked{background:#dff6dd;color:#0b6a0b}.decision-review{background:#fff4ce;color:#835c00}.decision-ai_error{background:#fde7e9;color:#a4262c}.decision-confirmed{background:#deecf9;color:#005a9e}
.member-filters{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.member-picker select[size]{height:230px;padding:0}.member-picker select[size] option{padding:8px 10px;border-bottom:1px solid #edebe9}.member-picker select[size] option[hidden]{display:none}@media(max-width:700px){.member-filters{grid-template-columns:1fr}}
.goal-chart{position:relative}.goal-chart>svg{position:absolute;inset:0;width:100%;height:100%;display:block}.goal-chart .axis-label,.goal-chart .date-label{position:absolute;color:#797775;font-size:13px;line-height:1;white-space:nowrap;font-family:"Segoe UI",Arial,sans-serif}.goal-chart .axis-label{left:0;transform:translateY(-50%)}.goal-chart .axis-100{top:16.67%}.goal-chart .axis-50{top:48.57%}.goal-chart .axis-0{top:80.95%}.goal-chart .date-label{bottom:2px}.goal-chart .date-first{left:6.67%}.goal-chart .date-last{right:4.17%}
.goal-result.metric{font-size:18px;max-width:45%;text-align:right}.goal-result.boolean{font-size:18px}.metric-goal-chart .target-line{stroke:var(--green);stroke-dasharray:6 5}.target-caption{position:absolute;right:4.17%;top:9%;color:var(--green-dark);font-size:12px;font-weight:600}.boolean-goal-state{height:150px;margin:28px 0 18px;border:1px solid var(--border);background:#faf9f8;display:flex;align-items:center;justify-content:center;gap:18px}.boolean-goal-state .boolean-icon{width:48px;height:48px;border:2px solid #8a8886;border-radius:50%;display:grid;place-items:center;font-size:27px;color:#605e5c}.boolean-goal-state b,.boolean-goal-state span{display:block}.boolean-goal-state b{font-size:18px;margin-bottom:6px}.boolean-goal-state span{color:var(--muted)}.boolean-goal-state.done{background:#e9f3ed;border-color:#9bc7b3}.boolean-goal-state.done .boolean-icon{background:var(--green);border-color:var(--green);color:#fff}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:auto}
.project-meta{display:flex;gap:8px;margin-top:7px}.project-status,.priority{display:inline-block;padding:3px 8px;border-radius:2px;font-size:12px;white-space:nowrap}.project-status.not_started{background:#f3f2f1;color:#605e5c}.project-status.active{background:#deecf9;color:#005a9e}.project-status.paused{background:#fff4ce;color:#835c00}.project-status.completed{background:#dff6dd;color:#0b6a0b}.priority{border-left:3px solid #a19f9d;background:#f3f2f1}.priority-low{border-color:#8a8886}.priority-medium{border-color:#0078d4}.priority-high{border-color:#d29200}.priority-maximum{border-color:#d13438;background:#fde7e9;color:#a4262c}
.decision-kind-decision{background:#deecf9;color:#005a9e}.decision-kind-risk{background:#fde7e9;color:#a4262c}.decision-kind-goal_change{background:#fff4ce;color:#835c00}.empty.compact{padding:16px}
.goal-result.checklist{font-size:18px}.checklist-goal{margin:24px 0 8px;border-top:1px solid var(--border)}.checklist-progress{height:8px;background:#edebe9;margin:20px 0;border-radius:4px;overflow:hidden}.checklist-progress i{display:block;height:100%;background:var(--green);transition:width .2s ease}.checklist-goal-item{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--border);cursor:pointer}.checklist-goal-item input,.checklist-edit-row input[type="checkbox"]{width:20px;height:20px;accent-color:var(--green);flex:0 0 auto}.checklist-goal-item.done span{text-decoration:line-through;color:var(--muted)}.field-caption{font-weight:600;margin:14px 0 8px}.checklist-edit-row{display:grid;grid-template-columns:24px 1fr 44px;align-items:center;gap:10px;margin-bottom:8px}.checklist-edit-row .checklist-title{width:100%}.checklist-edit-row button{padding:8px 12px;font-size:20px;line-height:1}
