/* UI polish: one menu style, quieter controls and press feedback (loaded after the page styles). */

/* Press feedback: buttons give a little under the finger (Emil: scale .97, 160ms ease-out). */
[data-archbro-ui="next"] :is(.ui-next-task-primary,.ui-next-task-secondary,.ui-next-task-card-action,.ui-next-task-view-option,.ui-next-task-status-pick,.ui-next-task-clear-filters,.ui-next-task-filter-toggle,.ui-agent-handoff-button,.ui-next-task-column-more,.ui-next-select-trigger,.ui-next-task-owner-pill,.ui-next-task-filter select,.ui-next-task-assigned-filter){transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .15s ease,border-color .15s ease,color .15s ease}
[data-archbro-ui="next"] :is(.ui-next-task-primary,.ui-next-task-secondary,.ui-next-task-card-action,.ui-next-task-view-option,.ui-next-task-status-pick,.ui-next-task-clear-filters,.ui-next-task-filter-toggle,.ui-agent-handoff-button,.ui-next-task-column-more,.ui-next-task-owner-pill,.ui-next-task-filter select,.ui-next-task-assigned-filter):not(:disabled):active{transform:scale(.97)}

/* The shared menu: grows from its button, closes faster than it opens. */
.ui-next-select-menu{position:fixed;z-index:1000;display:grid;gap:1px;min-width:180px;max-width:min(360px,calc(100vw - 16px));padding:5px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--ui-next-line);border-radius:12px;background:var(--ui-next-surface);color:var(--ui-next-ink);box-shadow:0 1px 2px rgba(17,19,24,.06),0 14px 36px rgba(17,19,24,.16);transform-origin:top left;animation:ui-next-menu-in .16s cubic-bezier(.23,1,.32,1)}
.ui-next-select-menu.is-closing{pointer-events:none;animation:ui-next-menu-out .12s ease-in forwards}
.ui-next-select-item{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px 0 28px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:13px;text-align:left;white-space:nowrap;cursor:pointer;position:relative}
.ui-next-select-item[aria-selected="true"]{font-weight:600}
.ui-next-select-item[aria-selected="true"]::before{content:"";position:absolute;left:11px;top:50%;width:8px;height:4px;margin-top:-4px;border:solid var(--ui-next-accent);border-width:0 0 2px 2px;transform:rotate(-45deg)}
.ui-next-select-item:is(:hover,:focus-visible){background:var(--ui-next-surface-muted);outline:none!important;box-shadow:none!important}
.ui-next-select-item:disabled{color:var(--ui-next-muted);cursor:default}
@keyframes ui-next-menu-in{from{opacity:0;transform:scale(.96)}}
@keyframes ui-next-menu-out{to{opacity:0;transform:scale(.98)}}

/* Top-bar menus share the menu look and grow from the button that opened them. */
[data-archbro-ui="next"] .top-menu{border-color:var(--ui-next-line);border-radius:12px;background:var(--ui-next-surface);color:var(--ui-next-ink);box-shadow:0 1px 2px rgba(17,19,24,.06),0 14px 36px rgba(17,19,24,.16)}
[data-archbro-ui="next"] .top-menu:not(.hidden){transform-origin:top right;animation:ui-next-menu-in .16s cubic-bezier(.23,1,.32,1)}
[data-archbro-ui="next"] .ui-next-project-switcher:not([hidden]){transform-origin:top left;animation:ui-next-menu-in .16s cubic-bezier(.23,1,.32,1)}
[data-archbro-ui="next"] :is(.notification-item,.account-menu button){transition:background-color .12s ease}

/* Settings: one row per setting, the label and its hint on the left and the control on the right. */
[data-archbro-ui="next"] .ui-next-segmented,[data-archbro-ui="next"] .v41-settings-segmented.is-compact{display:inline-flex;justify-self:end;gap:2px;padding:3px;border:1px solid var(--ui-next-line-soft);border-radius:10px;background:var(--ui-next-surface-muted)}
[data-archbro-ui="next"] :is(.ui-next-segmented,.v41-settings-segmented) button{min-height:32px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--ui-next-muted);font:inherit;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .16s cubic-bezier(.23,1,.32,1)}
[data-archbro-ui="next"] :is(.ui-next-segmented,.v41-settings-segmented) button[aria-checked="true"]{background:var(--ui-next-surface);color:var(--ui-next-ink);box-shadow:0 1px 2px rgba(17,19,24,.08),0 0 0 1px var(--ui-next-line-soft)}
[data-archbro-ui="next"] :is(.ui-next-segmented,.v41-settings-segmented) button:not(:disabled):active{transform:scale(.97)}
[data-archbro-ui="next"] .ui-next-segmented button:disabled{cursor:default;opacity:.6}
[data-archbro-ui="next"] .is-segmented-source{display:none!important}
[data-archbro-ui="next"] .v41-settings-segmented{display:inline-grid;grid-auto-flow:column;grid-template-columns:none;justify-self:end;gap:2px;padding:3px;border-color:var(--ui-next-line-soft);border-radius:10px}
[data-archbro-ui="next"] .v41-settings-segmented button{min-height:32px}
/* Preferences: section titles sit above their rows instead of in a side column. */
[data-archbro-ui="next"] #accountSettingsDialog[data-in-page="true"] .v41-settings-group{grid-template-columns:minmax(0,1fr);gap:4px;padding:22px 0 6px;border-bottom:0}
[data-archbro-ui="next"] #accountSettingsDialog[data-in-page="true"] .v41-settings-group h2{font-size:15px;font-weight:600}
[data-archbro-ui="next"] .v41-settings-row{grid-template-columns:minmax(0,1fr) auto;gap:24px;min-height:60px}
[data-archbro-ui="next"] #accountSettingsDialog .v41-settings-row select:not([hidden]),body:has(>#workspaceShell[data-archbro-ui="next"]) #editProjectDialog .project-setting-row select:not(.is-segmented-source){field-sizing:content;justify-self:end;width:auto;min-width:120px;max-width:260px;height:36px;min-height:36px;padding:0 30px 0 12px;border:1px solid var(--ui-next-line);border-radius:8px;background-color:var(--ui-next-surface);-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%238a93a3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:14px;color:var(--ui-next-ink);font:inherit;font-size:13px;cursor:pointer}

/* Project settings, General: the same row format as Preferences. */
[data-archbro-ui="next"] #editProjectForm .project-settings-group{margin:22px 0 4px;font-size:15px;font-weight:600;color:var(--ui-next-ink)}
[data-archbro-ui="next"] #editProjectForm .project-settings-group:first-of-type{margin-top:4px}
[data-archbro-ui="next"] #editProjectForm .project-setting-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);align-items:center;gap:8px 24px;min-height:60px;padding:12px 0;border-bottom:1px solid var(--ui-next-line-soft)}
[data-archbro-ui="next"] #editProjectForm .project-setting-copy{display:grid;gap:3px;min-width:0}
[data-archbro-ui="next"] #editProjectForm .project-setting-copy label{font-size:14px;font-weight:600;letter-spacing:0;color:var(--ui-next-ink)}
[data-archbro-ui="next"] #editProjectDialog[data-in-page="true"] #editProjectForm .dialog-hint{margin:0;padding:0;font-size:12px;line-height:1.5;color:var(--ui-next-muted)}
[data-archbro-ui="next"] #editProjectForm .dialog-hint.hidden{display:none}
body:has(>#workspaceShell[data-archbro-ui="next"]) #editProjectDialog #editProjectForm .project-setting-row>:is(input,textarea){width:100%;margin:0;padding:8px 10px;border:1px solid var(--ui-next-line);border-radius:8px;background:var(--ui-next-surface);color:var(--ui-next-ink);font:inherit;font-size:13px}
[data-archbro-ui="next"] #editProjectForm .project-setting-row>textarea{min-height:40px;resize:vertical;field-sizing:content;max-height:200px}
[data-archbro-ui="next"] #editProjectForm .project-setting-row>.ui-next-segmented{justify-self:end}
[data-archbro-ui="next"] #editProjectForm .project-setting-row>select{justify-self:end}
/* Goal: editable while there is no architecture yet; afterwards it reads as text with Ask beside it. */
[data-archbro-ui="next"] #editProjectForm .project-setting-row.is-goal:not(.is-locked){grid-template-columns:minmax(0,1fr)}
[data-archbro-ui="next"] #editProjectForm .project-goal-text{margin:6px 0 0;color:var(--ui-next-ink);font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
[data-archbro-ui="next"] #editProjectForm .project-goal-text[hidden],[data-archbro-ui="next"] #editProjectForm .project-setting-row>[hidden]{display:none}
[data-archbro-ui="next"] #editProjectForm .project-goal-ask{justify-self:end;align-self:start;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--ui-next-line);border-radius:8px;background:var(--ui-next-surface);color:var(--ui-next-ink);font:inherit;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:transform .16s cubic-bezier(.23,1,.32,1),border-color .15s ease}
[data-archbro-ui="next"] #editProjectForm .project-goal-ask span:first-child{color:var(--ui-next-accent)}
[data-archbro-ui="next"] #editProjectForm .project-goal-ask:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){[data-archbro-ui="next"] #editProjectForm .project-goal-ask:hover{border-color:var(--ui-next-accent)}}
/* Save bar: slides up from the bottom only while there are unsaved changes. */
[data-archbro-ui="next"] #editProjectDialog[data-in-page="true"] #editProjectForm .dialog-actions{position:sticky;bottom:12px;z-index:3;display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;padding:10px 12px;border:1px solid var(--ui-next-line-soft);border-radius:12px;background:color-mix(in srgb,var(--ui-next-surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(17,19,24,.12);transition:transform .32s cubic-bezier(.32,.72,0,1),opacity .2s ease,visibility 0s}
[data-archbro-ui="next"] #editProjectDialog[data-in-page="true"] #editProjectForm:not([data-dirty="true"]) .dialog-actions{transform:translateY(calc(100% + 24px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s ease-in,opacity .15s ease,visibility 0s .2s}
@media(max-width:760px){
  [data-archbro-ui="next"] #editProjectForm .project-setting-row{grid-template-columns:minmax(0,1fr)}
  [data-archbro-ui="next"] #editProjectForm .project-setting-row>:is(select,.ui-next-segmented,.project-goal-ask){justify-self:start}
  [data-archbro-ui="next"] .v41-settings-row{grid-template-columns:minmax(0,1fr)}
  [data-archbro-ui="next"] .v41-settings-row>:is(select,.v41-settings-segmented){justify-self:start}
  /* Phones zoom into fields under 16px when one is tapped. */
  body:has(>#workspaceShell[data-archbro-ui="next"]) #editProjectDialog #editProjectForm .project-setting-row>:is(input,select,textarea),[data-archbro-ui="next"] #accountSettingsDialog .v41-settings-row select:not([hidden]){font-size:16px}
}

@media(prefers-reduced-motion:reduce){
  [data-archbro-ui="next"] #editProjectForm .dialog-actions{transition:none!important}
  .ui-next-select-menu,.ui-next-select-menu.is-closing,[data-archbro-ui="next"] .top-menu,[data-archbro-ui="next"] .ui-next-project-switcher{animation:none!important}
  [data-archbro-ui="next"] :is(.ui-next-task-primary,.ui-next-task-secondary,.ui-next-task-card-action,.ui-next-task-view-option,.ui-next-task-status-pick,.ui-next-task-owner-pill):active{transform:none}
}
@media(pointer:coarse){[data-archbro-ui="next"] :is(#accountSettingsDialog .v41-settings-row select:not([hidden]),#editProjectDialog .project-setting-row select:not(.is-segmented-source)){height:44px;min-height:44px}}
@media(pointer:coarse){body:has(>#workspaceShell[data-archbro-ui="next"]) #editProjectDialog .project-setting-row select:not(.is-segmented-source){height:44px;min-height:44px}}

/* Overview: each upcoming task carries its next step, so starting or finishing it takes one click. */
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-work-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--ui-next-line-soft)}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-card .ui-next-overview-work-row:last-child{border-bottom:0}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-work-row>.ui-next-overview-work{flex:1 1 auto;min-width:0;border-bottom:0}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-work-action{flex:none;min-height:32px;padding:0 12px;border:1px solid var(--ui-next-line);border-radius:999px;background:transparent;color:var(--ui-next-text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .16s ease,opacity .16s ease}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-work-action:active{transform:scale(.97)}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-work-action:disabled{opacity:.55;cursor:progress}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-work-action:focus-visible{outline:2px solid var(--ui-next-accent,#3b82f6);outline-offset:2px}
@media (hover:hover) and (pointer:fine){#workspaceShell[data-archbro-ui="next"] .ui-next-overview-work-action:hover:not(:disabled){background:var(--ui-next-hover)}}
/* A smaller pill on touch screens, with the touch area grown past its edges to 44px. */
@media (pointer:coarse){#workspaceShell[data-archbro-ui="next"] .ui-next-overview-work-action{position:relative;min-height:36px;padding:0 14px}#workspaceShell[data-archbro-ui="next"] .ui-next-overview-work-action::after{content:"";position:absolute;inset:-4px}}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-activity-list{display:grid}
@media (prefers-reduced-motion:reduce){#workspaceShell[data-archbro-ui="next"] .ui-next-overview-work-action{transition:none}}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-activity-row{padding:10px 0}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-activity-row small{display:block}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-activity-row details{margin-top:4px}
#workspaceShell[data-archbro-ui="next"] .ui-next-overview-activity-list>.ui-next-overview-activity-row:last-child{border-bottom:0}
