/* Team views extend the established prototype's visual language. */
.team-login{max-width:460px;margin:12vh auto;padding:32px;background:#fff;border:1px solid #dce5e9;border-radius:12px}.team-login h1{margin:28px 0 12px}.team-login p{margin:16px 0}.team-login form{margin-top:32px;border-top:1px solid #e5ebef;padding-top:24px}.team-login .field{margin-bottom:16px}.team-inbox-row{padding:16px 22px;border-bottom:1px solid #edf1f3}.team-inbox-row>.product-sub{margin-bottom:8px}.team-inbox-row .task-row{width:100%;border:0}.team-assignment{margin:18px 0;padding:16px;border:1px solid #dce5e9;border-radius:8px}.team-assignment legend{font-weight:600;padding:0 7px}.dialog-body form>.field{margin:15px 0}#action-fields>.field,#manage-fields>.field{margin:15px 0}.branches h2{font-size:14px}.project-table progress{accent-color:#14695f;width:150px;max-width:100%;height:7px}.result-box{margin:12px 0;padding:14px}.result-box p{white-space:pre-wrap;overflow-wrap:anywhere}.dialog-section>p{white-space:pre-wrap;overflow-wrap:anywhere}.main .flow-note{line-height:1.8}.diagram-node{font-family:inherit}.form-error:not(:empty){padding:12px;margin:12px 0;background:#fff0ed;color:#8f2e22;border:1px solid #e6b6b0;border-radius:6px}.field [aria-invalid=true]{border-color:#b54335}.top-actions{flex-wrap:wrap}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #327d72;outline-offset:2px}@media(max-width:700px){.team-login{margin:4vh 16px;padding:24px}.team-inbox-row{padding:12px}.page-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.page-heading .top-actions{gap:6px}.team-assignment{padding:12px}}

.team-check{display:inline-flex;align-items:center;gap:6px;margin:8px}.team-check input{width:auto}.team-bulk{border-bottom:1px solid #e3e9ed;padding-bottom:12px}.team-bulk .field{margin:12px 0}.team-assignment>.field{margin:12px 0}.form-error{scroll-margin:16px}
@media(max-width:700px){.task-row{max-width:100%}.task-name{overflow-wrap:anywhere}}

.diagram-edge.is-upstream path{stroke:#446d9a}.diagram-edge.is-downstream path{stroke:#0f766e}

/* Compact panorama: presentation state only; the graph keeps its scale and scroll. */
#panorama-dialog .panorama-shell-header{padding:9px 18px;gap:14px}
#panorama-dialog .panorama-heading h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#panorama-dialog .panorama-heading h2 span{font-size:13px;margin-left:10px}
#panorama-dialog .panorama-heading-icon{width:32px;height:32px}
#panorama-dialog .panorama-summary{margin-top:3px;font-size:11px}
.panorama-summary strong{color:#376ca5;font-weight:600}.panorama-summary-issue{color:#946509}
.panorama-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.panorama-header-actions .btn{white-space:nowrap;min-height:32px;padding:6px 10px;font-size:12px}
#panorama-dialog .panorama-toolbar{padding:8px 18px;gap:10px}
#panorama-dialog .panorama-controls{gap:6px;flex-wrap:wrap}
.panorama-jump{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#657784;white-space:nowrap}
.panorama-jump select{width:150px;min-height:30px;padding:4px 6px;border:1px solid #dce5ec;border-radius:5px;background:#fff;color:#263e4d;font:inherit}
#panorama-dialog.is-compact :is(.flow-overview,.diagram-legend,.diagram-instructions,.timing-help,.panorama-extra,.panorama-project-meta){display:none}
#panorama-dialog .flow-overview{max-height:26dvh;overflow:auto}
.diagram-workspace{position:relative;display:flex;flex:1;min-height:0;min-width:0}
#panorama-dialog .diagram-workspace .diagram-viewport{width:100%;scroll-padding-bottom:110px}
#panorama-dialog .relation-preview{position:absolute;z-index:5;bottom:12px;left:12px;right:12px;border:1px solid #cad8e4;border-radius:8px;box-shadow:0 4px 20px #263e4d1c;padding-inline:16px}
#panorama-dialog .relation-preview[hidden]{display:none}
.diagram-workspace:has(.relation-preview:not([hidden])) #diagram-space{margin-bottom:110px}
@media(max-width:760px){
 #panorama-dialog .panorama-shell-header{padding:8px 12px;gap:8px;align-items:flex-start}
 #panorama-dialog .panorama-heading h2{font-size:14px}
 #panorama-dialog .panorama-heading h2 span{display:block;font-size:11px;margin:3px 0 0;overflow:hidden;text-overflow:ellipsis}
 #panorama-dialog .panorama-summary{font-size:10px;max-width:none;margin-top:4px}
 .panorama-header-actions{gap:4px;align-items:flex-end;flex-direction:column-reverse}
 .panorama-header-actions .btn{font-size:10px;padding:4px 7px;min-height:28px}
 #panorama-dialog .panorama-toolbar{padding:6px 12px;gap:5px}
 #panorama-dialog .panorama-controls{gap:5px}
 .panorama-jump{font-size:10px;gap:4px}.panorama-jump select{width:128px;min-height:29px}
 #panorama-dialog:not(.is-compact) .flow-step-strip{display:flex}
 #panorama-dialog:not(.is-compact) .flow-current{display:flex;max-height:54px}
 #panorama-dialog .relation-preview{left:6px;right:6px;bottom:6px;padding:8px;height:156px}
 #panorama-dialog .diagram-workspace .diagram-viewport{scroll-padding-bottom:174px}
 .diagram-workspace:has(.relation-preview:not([hidden])) #diagram-space{margin-bottom:174px}
}

@media(max-width:700px){dialog.drawer{width:100vw;max-width:100vw;margin:0;border-left:0}.dialog-header,.dialog-body{padding-left:18px;padding-right:18px}}

/* Identity entry: the workflow is the visual anchor, the action stays simple. */
.login-screen{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(400px,.88fr);background:#fff;color:#183d4d}
.login-story{background:#eff5f7;padding:44px clamp(36px,5vw,90px) 28px;display:flex;flex-direction:column;min-width:0;border-right:1px solid #dce7eb}
.login-brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:inherit;font-size:15px}.login-brand strong{font-size:23px;letter-spacing:-.8px}.login-brand>span:last-child{border-left:1px solid #bdccd2;padding-left:13px;color:#566e7a}.login-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:#14695f;color:white;font-size:24px}
.login-intro{margin:auto 0 44px;padding-top:76px}.login-intro h1{font-size:clamp(40px,4.3vw,64px);line-height:1.35;letter-spacing:-1.4px;font-weight:650;margin:0 0 22px}.login-intro p{font-size:15px;line-height:2;color:#536e7b;margin:0}
.login-flow{max-width:560px;padding:24px 0 38px}.login-flow-label{font-size:12px;color:#58717c;margin-bottom:18px}.login-flow-line{display:flex;gap:20px;position:relative}.login-flow-line:before{content:'';height:1px;background:#b3c9ce;position:absolute;left:20px;right:20px;top:28px}.login-flow-line>span{position:relative;flex:1;min-width:0;border:1px solid #cedfe4;background:#fbfdfe;border-radius:9px;padding:17px 15px}.login-flow-line i{font-style:normal;color:#427e78;font-size:11px;font-weight:650;background:#e4f0ed;display:inline-block;border-radius:5px;padding:4px 7px;margin-bottom:17px}.login-flow-line strong{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.login-flow-line small{font-size:11px;color:#718793}.login-story-foot{font-size:11px;color:#768c97;margin-top:auto;padding-top:30px}
.login-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px clamp(30px,5vw,88px) 24px;min-width:0}.login-form-wrap{width:100%;max-width:360px;margin:auto 0;padding:50px 0}.login-entry-symbol{display:grid;place-items:center;width:46px;height:46px;border:1px solid #d9e7e5;border-radius:12px;background:#f2f8f6;color:#14695f;font-size:28px;margin-bottom:30px}.login-form-wrap h2{font-size:27px;font-weight:650;letter-spacing:-.5px;line-height:1.45;margin:0 0 12px}.login-subtitle{font-size:14px;line-height:1.8;color:#6b7f8b;margin:0 0 36px}.login-feishu{width:100%;height:52px;display:flex;gap:12px;align-items:center;justify-content:center;border:1px solid #16625a;background:#14695f;color:#fff;border-radius:8px;text-decoration:none;font-size:15px;font-weight:600;box-shadow:0 3px 6px #14695f12}.login-feishu:hover{background:#10584f}.login-feishu svg{width:22px;height:22px}.login-help{font-size:12px;line-height:1.9;color:#6c818b;margin:20px 0 0}.login-assurance{border-top:1px solid #e9eef1;padding-top:23px;margin-top:36px;font-size:11px;color:#7a8b93;display:flex;gap:8px;align-items:center}.login-assurance>span{color:#397d72}.login-footer{font-size:11px;color:#86979f;padding-top:30px}.login-development{margin-top:24px;padding-top:24px;border-top:1px solid #e5ebef}.login-development .field{margin-bottom:12px}
.account-badge{display:inline-block;font-size:10px;border-radius:4px;background:#edf5f2;color:#28695d;padding:3px 6px;margin-left:7px}.admin-shortcut{display:none}.people-summary{display:flex;gap:34px;align-items:center;margin:0 0 24px}.people-summary>div{display:flex;align-items:baseline;gap:9px;white-space:nowrap}.people-summary strong{font-size:30px;font-weight:600;line-height:1.3;color:#23495b;font-variant-numeric:tabular-nums}.people-summary span{font-size:12px;color:#6e8290}.people-summary p{margin-left:auto;text-align:right;font-size:11px;color:#718590;line-height:1.9}.person-cell{display:flex;align-items:center;gap:12px}.person-cell strong{font-weight:500;white-space:nowrap}.person-cell small{font-size:10px;margin-left:8px;color:#718590}.person-avatar{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:9px;background:#eaf2f3;color:#3f6875;font-size:12px}.member-status{display:inline-block;font-size:11px;padding:4px 8px;border-radius:5px;background:#f0f3f5;color:#647986;white-space:nowrap}.member-status.available{background:#eaf5f0;color:#286b54}.people-table td:last-child{white-space:nowrap}.people-picker{border:1px solid #e0e8ed;border-radius:9px;max-height:360px;overflow:auto;margin-top:15px}.picker-person{display:flex;gap:12px;padding:14px 16px;align-items:center;border-bottom:1px solid #edf1f3;cursor:pointer}.picker-person:last-child{border:0}.picker-person:hover{background:#f6faf9}.picker-person>input{width:17px;height:17px;accent-color:#14695f;flex:none}.picker-person strong{display:block;font-size:13px;font-weight:500}.picker-person small{display:block;font-size:11px;color:#768a95;margin-top:5px}.picker-person .picker-state{margin-left:auto;font-size:11px;color:#768a95}.picker-person.unavailable{background:#f8fafb;cursor:default;color:#81929b}.picker-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px}.picker-footer>span{font-size:12px;color:#5e7884}
.template-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.template-card{padding:26px;max-width:580px;display:flex;flex-direction:column}.template-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.template-symbol{display:grid;place-items:center;background:#edf5f3;color:#14695f;width:46px;height:46px;border-radius:10px;font-size:28px}.template-card h2{font-size:19px;line-height:1.5;margin:0 0 12px;color:#23495b}.template-card>p{font-size:13px;line-height:1.9;color:#6b7f8c;margin:0 0 22px}.template-counts{display:flex;gap:18px;color:#4b6878;font-size:12px;padding-bottom:20px;border-bottom:1px solid #e7edf0}.template-note{margin:17px 0 0;font-size:11px;color:#768a93;line-height:1.7}.template-card-actions{display:flex;gap:10px;margin-top:auto;padding-top:24px}.template-card-actions .btn{flex:1;text-decoration:none;text-align:center;justify-content:center}.template-preview-head{padding-bottom:20px}.template-preview-head p{font-size:13px;line-height:1.8;margin-top:15px;color:#627b87}.template-preview-stage{border-top:1px solid #e3ebee;padding:20px 0}.template-preview-stage h3{font-size:15px;margin-bottom:14px;color:#23495b;display:flex;justify-content:space-between}.template-preview-stage h3 span{font-size:11px;color:#78909b;font-weight:400}.template-preview-stage>div{padding:12px 15px;margin-bottom:9px;border-left:2px solid #b9d9d2;background:#f6f9fa}.template-preview-stage strong{display:block;font-size:13px;line-height:1.8;font-weight:500}.template-preview-stage small,.template-preview-stage p{font-size:11px;color:#6a808c;line-height:1.8}.template-preview-stage p{margin:6px 0 0}
@media(max-width:1000px){.login-story{padding-left:36px;padding-right:36px}.login-flow-line{gap:10px}.login-flow-line>span{padding:13px 10px}.login-flow-line strong{font-size:12px}.login-screen{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)}.people-summary{gap:20px;flex-wrap:wrap}.people-summary p{flex-basis:100%;margin:0;text-align:left}}
@media(max-width:760px){.login-screen{display:flex;flex-direction:column}.login-story{padding:25px 24px 30px;border-right:0;border-bottom:1px solid #dce7eb}.login-intro{padding-top:35px;margin:0}.login-intro h1{font-size:36px;line-height:1.3;margin-bottom:15px}.login-intro p{font-size:13px;line-height:1.9}.login-flow,.login-story-foot{display:none}.login-entry{padding:30px 24px 22px;flex:1}.login-form-wrap{padding:0;max-width:420px}.login-entry-symbol{display:none}.login-form-wrap h2{font-size:23px}.login-subtitle{font-size:13px;margin-bottom:24px}.login-help{font-size:12px}.login-assurance{margin-top:25px;padding-top:18px}.login-footer{padding-top:26px}.admin-shortcut{display:inline-flex}.topbar .top-actions{gap:8px}.topbar .breadcrumb{display:none}.topbar .top-actions{width:100%;justify-content:flex-end}.topbar .top-actions>span{margin-right:auto;font-size:12px}.people-summary strong{font-size:26px}.people-summary{gap:20px}.people-summary p{font-size:10px}.template-library-grid{grid-template-columns:1fr}.template-card{padding:22px}.picker-person{padding:12px 10px;gap:9px}.picker-person .picker-state{font-size:10px}.picker-footer{gap:10px}.people-table{min-width:640px}}

.notification-panel{padding:24px;margin-bottom:20px}.notification-panel h2{font-size:17px;margin:0 0 12px}.notification-sample{padding:16px 0;border-top:1px solid var(--border,#e7e8eb)}.notification-sample>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.notification-sample pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7;background:#f7f8fa;padding:16px;border-radius:10px}.notification-panel p{line-height:1.6}
