/* ==== /css/common/notify.css ==== */
.sprint-toast__stack {
position: fixed;
right: var(--sp-5);
bottom: var(--sp-5);
z-index: 10000;
display: flex;
flex-direction: column;
align-items: flex-end;
gap: var(--sp-2);
pointer-events: none;
max-width: min(420px, calc(100vw - var(--sp-10)));
}
.sprint-toast {
pointer-events: auto;
display: flex;
align-items: center;
gap: var(--sp-3);
padding: var(--sp-3) var(--sp-4);
border-radius: var(--r-lg);
background: var(--c-surface);
border: 1px solid var(--c-border);
border-left: 4px solid var(--c-text-dim);
box-shadow: var(--shadow-lg);
font-size: var(--fs-md);
color: var(--c-text-body);
opacity: 0;
transform: translateY(var(--sp-2));
transition: opacity var(--t-base) var(--ease), transform var(--t-base) var(--ease);
}
.sprint-toast.is-visible { opacity: 1; transform: translateY(0); }
.sprint-toast.is-leaving { opacity: 0; transform: translateY(var(--sp-2)); }
.sprint-toast__body {
flex: 1 1 auto;
line-height: var(--lh-normal);
word-break: keep-all;
overflow-wrap: anywhere;
max-height: 40vh;
overflow-y: auto;
}
.sprint-toast__stack {
max-height: calc(100vh - var(--sp-10));
}
.sprint-toast--success { border-left-color: var(--c-success); }
.sprint-toast--error   { border-left-color: var(--c-danger); }
.sprint-toast--warning { border-left-color: var(--c-warning); }
.sprint-toast--info    { border-left-color: var(--c-primary); }
.sprint-toast__action {
flex: 0 0 auto;
padding: var(--sp-1) var(--sp-3);
border: 1px solid var(--c-primary);
border-radius: var(--r-sm);
background: transparent;
color: var(--c-primary);
font-size: var(--fs-sm);
font-weight: var(--fw-semibold);
cursor: pointer;
transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.sprint-toast__action:hover { background: var(--c-primary); color: var(--c-text-inverse); }
.sprint-toast__action:focus-visible { outline: none; box-shadow: var(--ring-focus); }
.sprint-toast__close {
flex: 0 0 auto;
width: var(--h-control-xs);
height: var(--h-control-xs);
padding: 0;
border: 0;
border-radius: var(--r-sm);
background: transparent;
color: var(--c-text-faint);
font-size: var(--fs-xl);
line-height: 1;
cursor: pointer;
}
.sprint-toast__close:hover { color: var(--c-text-body); background: var(--c-surface-sunken); }
.sprint-toast__close:focus-visible { outline: none; box-shadow: var(--ring-focus); }
.sprint-dialog__overlay {
position: fixed;
inset: 0;
z-index: 10001;
display: flex;
align-items: center;
justify-content: center;
padding: var(--sp-5);
background: rgba(0, 0, 0, 0.45);
}
.sprint-dialog {
width: 100%;
max-width: 420px;
padding: var(--sp-6);
border-radius: var(--r-xl);
background: var(--c-surface);
box-shadow: var(--shadow-lg);
}
.sprint-dialog__title {
margin: 0 0 var(--sp-2);
font-size: var(--fs-xl);
font-weight: var(--fw-bold);
color: var(--c-text);
}
.sprint-dialog__message {
margin: 0 0 var(--sp-6);
font-size: var(--fs-md);
line-height: var(--lh-normal);
color: var(--c-text-body);
word-break: keep-all;
overflow-wrap: anywhere;
}
input.sprint-dialog__input,
textarea.sprint-dialog__input {
display: block;
width: 100%;
height: var(--h-control);
padding: 0 var(--sp-3);
margin: 0 0 var(--sp-6);
border: 1px solid var(--c-border-strong);
border-radius: var(--r-sm);
font-size: var(--fs-md);
color: var(--c-text-body);
background: var(--c-surface);
}
input.sprint-dialog__input:focus-visible,
textarea.sprint-dialog__input:focus-visible {
outline: none;
box-shadow: var(--ring-focus);
}
textarea.sprint-dialog__input--multiline {
height: auto;
min-height: 84px;
padding: var(--sp-2) var(--sp-3);
line-height: var(--lh-normal);
resize: vertical;
font-family: inherit;
}
.sprint-dialog--wide {
max-width: 560px;
}
.sprint-dialog__items-title {
margin: 0 0 var(--sp-2);
font-size: var(--fs-base);
font-weight: var(--fw-medium);
color: var(--c-text-muted);
}
.sprint-dialog__items {
max-height: 240px;
overflow-y: auto;
margin: 0 0 var(--sp-5);
padding: var(--sp-3);
list-style: none;
border: 1px solid var(--c-border);
border-radius: var(--r-sm);
background: var(--c-surface-sunken);
font-size: var(--fs-base);
line-height: var(--lh-normal);
color: var(--c-text-body);
}
.sprint-dialog__items li + li {
margin-top: 6px;
}
.sprint-dialog__note {
margin: 0 0 var(--sp-4);
padding-left: var(--sp-3);
border-left: 3px solid var(--c-border);
font-size: var(--fs-sm);
line-height: var(--lh-relaxed);
color: var(--c-text-muted);
}
label.sprint-dialog__message {
display: block;
margin-bottom: var(--sp-2);
}
.sprint-dialog__actions {
display: flex;
justify-content: flex-end;
gap: var(--sp-2);
}
.sprint-dialog__actions .main__btn[disabled] {
opacity: 0.5;
pointer-events: none;
}
.sprint-dialog__actions .main__btn {
min-width: 88px;
height: var(--h-control-sm);
line-height: var(--h-control-sm);
padding: 0 var(--sp-4);
}
@media (max-width: 768px) {
.sprint-toast__stack {
right: var(--sp-3);
left: var(--sp-3);
bottom: var(--sp-3);
max-width: none;
align-items: stretch;
}
.sprint-dialog__actions { flex-direction: column-reverse; }
.sprint-dialog__actions .main__btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
.sprint-toast { transition: none; }
}

/* ==== /css/common/draft.css ==== */
.draft-notice {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--sp-3);
margin-bottom: var(--sp-4);
padding: var(--sp-2) var(--sp-3);
border: 1px solid var(--c-primary);
border-radius: var(--r-md);
background: var(--c-primary-light);
font-size: var(--fs-sm);
color: var(--c-text-body);
}
.draft-notice__text em {
font-style: normal;
color: var(--c-text-muted);
}
.draft-notice__discard {
flex: none;
height: var(--h-control-xs);
padding: 0 var(--sp-2);
border: 1px solid var(--c-border);
border-radius: var(--r-sm);
background: var(--c-surface);
font-size: var(--fs-xs);
color: var(--c-text-sub);
cursor: pointer;
transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.draft-notice__discard:hover {
background: var(--c-surface-sunken);
color: var(--c-text-body);
}

/* ==== /css/common/outbox.css ==== */
.sprint-outbox-bar {
position: fixed;
left: var(--sp-5);
bottom: var(--sp-5);
z-index: 10000;
display: flex;
align-items: center;
gap: var(--sp-2);
padding: var(--sp-2) var(--sp-3);
border: 1px solid var(--c-warning);
border-radius: var(--r-pill);
background: var(--c-warning-light);
box-shadow: var(--shadow-lg);
font-size: var(--fs-sm);
color: var(--c-text-body);
max-width: min(360px, calc(100vw - var(--sp-10)));
}
.sprint-outbox-bar.is-offline {
border-color: var(--c-border-strong);
background: var(--c-surface-sunken);
color: var(--c-text-sub);
}
.sprint-outbox-dot {
flex: none;
width: var(--sp-2);
height: var(--sp-2);
border-radius: var(--r-round);
background: var(--c-warning);
animation: sprint-outbox-pulse 1.6s ease-in-out infinite;
}
.sprint-outbox-bar.is-offline .sprint-outbox-dot {
background: var(--c-text-faint);
}
.sprint-outbox-text {
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.sprint-outbox-send {
flex: none;
height: var(--h-control-xs);
padding: 0 var(--sp-3);
border: 1px solid var(--c-border);
border-radius: var(--r-pill);
background: var(--c-surface);
font-size: var(--fs-xs);
color: var(--c-text-sub);
cursor: pointer;
transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.sprint-outbox-send:hover {
background: var(--c-surface-sunken);
color: var(--c-text-body);
}
.sprint-outbox-bar.is-sending .sprint-outbox-send {
opacity: 0.6;
pointer-events: none;
}
@keyframes sprint-outbox-pulse {
0%, 100% { opacity: 1; }
50%      { opacity: 0.35; }
}
@media (prefers-reduced-motion: reduce) {
.sprint-outbox-dot {
animation: none;
}
}
@media (max-width: 768px) {
.sprint-outbox-bar {
left: var(--sp-3);
right: var(--sp-3);
bottom: var(--sp-3);
max-width: none;
}
}

/* ==== /css/common/responsible-picker.css ==== */
.selected-users-tags {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2);
padding: var(--sp-3);
background: var(--c-surface-muted);
border: 1px solid var(--c-border);
border-radius: var(--r-sm);
min-height: 44px;
}
.selected-users-tags .no-selection {
color: var(--c-text-faint);
font-size: var(--fs-base);
}
.selected-user-tag {
display: inline-flex;
align-items: center;
gap: var(--sp-1);
padding: var(--sp-1) var(--sp-2);
background: var(--c-primary-light);
color: var(--c-primary-dark);
border-radius: var(--r-pill);
font-size: var(--fs-base);
font-weight: var(--fw-medium);
}
.selected-user-tag .remove-tag-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
padding: 0;
margin-left: 2px;
border: none;
background: transparent;
color: var(--c-primary-dark);
font-size: var(--fs-md);
cursor: pointer;
border-radius: var(--r-round);
transition: background var(--t-base) var(--ease);
}
.selected-user-tag .remove-tag-btn:hover {
background: rgba(25, 118, 210, 0.2);
}
.selected-user-tag .remove-tag-btn:focus-visible {
outline: none;
box-shadow: var(--ring-focus);
}
.member-checkbox-list {
background: var(--c-surface);
max-height: 300px;
overflow-y: auto;
border: 1px solid var(--c-border);
border-radius: var(--r-sm);
}
.member-checkbox-item {
display: flex;
align-items: center;
padding: var(--sp-3);
border-bottom: 1px solid var(--c-border);
cursor: pointer;
transition: background var(--t-base) var(--ease);
}
.member-checkbox-item:last-child {
border-bottom: none;
}
.member-checkbox-item:hover {
background: var(--c-surface-sunken);
}
.member-checkbox-item.selected {
background: var(--c-primary-light);
}
.member-checkbox-item input[type="checkbox"] {
width: 18px;
height: 18px;
margin-right: var(--sp-3);
cursor: pointer;
accent-color: var(--c-primary-dark);
}
.member-checkbox-item .profile-img {
width: var(--h-control);
height: var(--h-control);
border-radius: var(--r-round);
object-fit: cover;
margin-right: var(--sp-3);
}
.member-checkbox-item .member-info {
flex: 1;
min-width: 0;
}
.member-checkbox-item .member-name {
font-weight: var(--fw-semibold);
color: var(--c-text-body);
margin-bottom: 2px;
}
.member-checkbox-item .member-org {
font-size: var(--fs-sm);
color: var(--c-text-faint);
}
.member-checkbox-list .list-placeholder {
color: var(--c-text-faint);
text-align: center;
padding: var(--sp-5);
}
.edit-multi-responsible-btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: var(--sp-1);
border-radius: var(--r-sm);
transition: background var(--t-base) var(--ease);
}
.edit-multi-responsible-btn:hover {
background: var(--c-surface-sunken);
}
.edit-multi-responsible-btn:focus-visible {
outline: none;
box-shadow: var(--ring-focus);
}

/* ==== /css/common/chat-box.css ==== */
.chat-box-component {
display: flex;
flex-direction: column;
height: 100%;
}
.chat-messages-container {
flex: 1;
max-height: 400px;
overflow-y: auto;
padding: 16px 0;
}
.chat-box-component .user-profile-card {
padding: 12px 0;
border-bottom: 1px solid #f5f5f5;
}
.chat-box-component .user-profile-card:last-child {
border-bottom: none;
}
.chat-box-component .user-profile-card.mine {
background: #f0f7ff;
border-radius: 8px;
margin: 8px 0;
padding: 12px;
}
.chat-box-component .profile__image__container {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
}
.chat-box-component .profile__image {
width: 32px;
height: 32px;
border-radius: 50%;
object-fit: cover;
}
.chat-box-component .profile__text__content {
padding-left: 40px;
}
.chat-box-component .profile__text__content p.tx02 {
font-size: 13px;
line-height: 1.5;
color: #333;
word-break: break-word;
}
.chat-box-component .comment {
color: #1976d2;
font-weight: 500;
}
.chat-attachment {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
background: #f5f5f5;
border-radius: 4px;
margin-top: 8px;
margin-left: 40px;
}
.chat-attachment-icon {
width: 16px;
height: 16px;
}
.chat-attachment-name {
flex: 1;
font-size: 12px;
color: #1976d2;
text-decoration: none;
}
.chat-attachment-name:hover {
text-decoration: underline;
}
.chat-input-area {
padding: 16px 0;
border-top: 1px solid #E5E5EC;
position: relative;
}
.chat-input {
width: 100%;
min-height: 60px;
padding: 12px;
border: 1px solid #E5E5EC;
border-radius: 8px;
resize: none;
font-size: 13px;
line-height: 1.5;
}
.chat-input:focus {
outline: none;
border-color: #1976d2;
}
.chat-input:disabled {
background: #f7f7f9;
color: #9a9ea8;
cursor: not-allowed;
}
.chat-attachments-preview {
display: flex;
flex-wrap: wrap;
gap: 8px;
padding: 8px 0;
}
.chat-attachment-preview-item {
display: flex;
align-items: center;
gap: 6px;
padding: 6px var(--sp-2);
background: #f5f5f5;
border-radius: 4px;
font-size: 12px;
}
.chat-attachment-preview-item .remove-btn {
color: #f44336;
cursor: pointer;
font-size: 14px;
font-weight: bold;
}
.mention-autocomplete {
position: absolute;
bottom: 100%;
left: 0;
right: 0;
background: #fff;
border: 1px solid #E5E5EC;
border-radius: 8px;
box-shadow: 0 -4px 12px rgba(0,0,0,0.1);
max-height: 200px;
overflow-y: auto;
z-index: 100;
}
.mention-item {
display: flex;
align-items: center;
gap: var(--sp-2);
padding: var(--sp-2) 12px;
cursor: pointer;
transition: background 0.2s;
}
.mention-item:hover,
.mention-item.selected {
background: #f5f5f5;
}
.mention-item-avatar {
width: 28px;
height: 28px;
border-radius: 50%;
object-fit: cover;
}
.mention-item-name {
font-size: 13px;
font-weight: 500;
color: #333;
}
.mention-item-org {
font-size: 11px;
color: #999;
}
.chat-actions {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 12px;
}
.chat-file-btn {
display: flex;
align-items: center;
padding: 8px;
cursor: pointer;
}
.chat-file-btn img {
width: 20px;
height: 20px;
}
.chat-send-btn {
padding: 0 var(--sp-4);
text-decoration: none;
}
.chat-send-btn:hover {
background: #1565c0;
}
.chat-send-btn.is-sending {
pointer-events: none;
opacity: .5;
}
.chat-send-btn img {
width: 16px;
height: 16px;
}
.chat-search {
width: 100%;
padding: var(--sp-2) 12px;
border: 1px solid #E5E5EC;
border-radius: 4px;
font-size: 13px;
margin-bottom: 12px;
}
.chat-loading {
text-align: center;
padding: 20px;
color: #666;
}
.chat-disabled-notice {
padding: 40px 16px;
text-align: center;
color: #7A7F8A;
}
.chat-disabled-notice p {
font-size: 13px;
line-height: 1.5;
}
.chat-page-badge {
display: inline-block;
padding: 2px 8px;
background: #f0f0f0;
border-radius: 10px;
font-size: 11px;
color: #666;
margin-left: 8px;
}
.chat-box-component .profile__image__container .tx04 {
font-size: 11px;
color: #999;
margin-left: auto;
}
.chat-box-component .comment__icon {
width: 14px;
height: 14px;
margin-right: 4px;
}
input.chat-search:disabled {
background: var(--c-surface-muted);
color: var(--c-text-disabled);
cursor: not-allowed;
}
.chat-file-btn[aria-disabled="true"],
.chat-send-btn[aria-disabled="true"] {
pointer-events: none;
opacity: .5;
}
.chat-readonly-notice {
margin-top: var(--sp-2);
font-size: 12px;
color: var(--c-text-dim);
}
.user-profile-card.is-pending {
opacity: .55;
}

/* ==== /css/common/global-search.css ==== */
.global-search {
position: relative;
margin-bottom: var(--sp-6);
}
.global-search__field {
position: relative;
max-width: 520px;
}
.global-search__input {
width: 100%;
padding-right: var(--sp-8);
}
.global-search__clear {
position: absolute;
top: 50%;
right: var(--sp-2);
transform: translateY(-50%);
width: var(--h-control-xs);
height: var(--h-control-xs);
border: 0;
border-radius: var(--r-round);
background: transparent;
color: var(--c-text-dim);
font-size: var(--fs-md);
cursor: pointer;
}
.global-search__clear:hover {
background: var(--c-surface-sunken);
color: var(--c-text-body);
}
.global-search [data-category="project"] {
--gs-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5A2.5 2.5 0 0 1 5.5 5H9l2 2.5h7.5A2.5 2.5 0 0 1 21 10v7.5a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 17.5z'/%3E%3C/svg%3E");
}
.global-search [data-category="comment"] {
--gs-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 15a2.5 2.5 0 0 1-2.5 2.5H9L4 21V6.5A2.5 2.5 0 0 1 6.5 4h11A2.5 2.5 0 0 1 20 6.5z'/%3E%3C/svg%3E");
}
.global-search [data-category="schedule"] {
--gs-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");
}
.global-search [data-category="report"] {
--gs-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E");
}
.global-search [data-category="meeting"] {
--gs-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0M16 4.5a3.5 3.5 0 0 1 0 7M18 14.2a6.5 6.5 0 0 1 3.5 5.8'/%3E%3C/svg%3E");
}
.global-search [data-category="file"] {
--gs-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.5l-8.2 8.2a5 5 0 0 1-7.1-7.1l8.5-8.5a3.3 3.3 0 0 1 4.7 4.7l-8.5 8.5a1.7 1.7 0 0 1-2.4-2.4l7.8-7.8'/%3E%3C/svg%3E");
}
.global-search__icon {
flex: none;
display: inline-block;
width: 18px;
height: 18px;
background-color: currentColor;
-webkit-mask: var(--gs-icon) center / contain no-repeat;
mask: var(--gs-icon) center / contain no-repeat;
}
.global-search__panel {
position: absolute;
z-index: 30;
top: calc(100% + var(--sp-1));
left: 0;
width: 100%;
max-width: 800px;
background: var(--c-surface);
border: 1px solid var(--c-border);
border-radius: var(--r-lg);
box-shadow: var(--shadow-lg);
overflow: hidden;
}
.global-search__tabs {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2);
padding: var(--sp-3) var(--sp-4);
border-bottom: 1px solid var(--c-border);
background: var(--c-surface-muted);
}
.global-search__tab {
display: inline-flex;
align-items: center;
gap: 6px;
min-height: var(--h-control);
padding: 0 var(--sp-4);
border: 1px solid var(--c-border-strong);
border-radius: var(--r-pill);
background: var(--c-surface);
color: var(--c-text-body);
font-size: var(--fs-md);
font-weight: var(--fw-semibold);
line-height: var(--lh-snug);
cursor: pointer;
}
.global-search__tab:hover {
border-color: var(--c-text-dim);
background: var(--c-surface-alt);
}
.global-search__tab[aria-selected="true"] {
border-color: var(--c-text-body);
background: var(--c-text-body);
color: var(--c-text-inverse);
}
.global-search__tab:focus-visible,
.global-search__group-more:focus-visible,
.global-search__item:focus-visible {
outline: 2px solid var(--c-primary-dark);
outline-offset: -2px;
}
.global-search__tab:disabled {
border-color: var(--c-border-subtle);
background: transparent;
color: var(--c-text-disabled);
cursor: default;
}
.global-search__tab-count {
color: var(--c-text-dim);
font-weight: var(--fw-regular);
}
.global-search__tab[aria-selected="true"] .global-search__tab-count,
.global-search__tab:disabled .global-search__tab-count {
color: inherit;
}
.global-search__results {
max-height: min(560px, 65vh);
overflow-y: auto;
}
.global-search__group-head {
position: sticky;
top: 0;
z-index: 1;
display: flex;
align-items: center;
gap: var(--sp-2);
margin: 0;
padding: var(--sp-2) var(--sp-4);
border-top: 1px solid var(--c-border);
border-bottom: 1px solid var(--c-border);
background: var(--c-surface-tint);
color: var(--c-text);
}
.global-search__group:first-child > .global-search__group-head {
border-top: 0;
}
.global-search__group-head .global-search__icon {
width: 20px;
height: 20px;
color: var(--c-text-sub);
}
.global-search__group-name {
font-size: var(--fs-xl);
font-weight: var(--fw-bold);
line-height: var(--lh-snug);
}
.global-search__group-count {
margin-left: auto;
border-radius: var(--r-pill);
padding: 0 var(--sp-3);
background: var(--c-surface);
color: var(--c-text-sub);
font-size: var(--fs-md);
font-weight: var(--fw-semibold);
line-height: 1.8;
}
.global-search__item {
display: block;
width: 100%;
padding: var(--sp-3) var(--sp-4);
border: 0;
border-top: 1px solid var(--c-border-subtle);
background: transparent;
text-align: left;
cursor: pointer;
}
.global-search__item.has-kind {
display: grid;
grid-template-columns: 112px minmax(0, 1fr);
column-gap: var(--sp-4);
align-items: start;
}
.global-search__group-head + .global-search__item,
.global-search__group.is-single > .global-search__item:first-child {
border-top: 0;
}
.global-search__item:hover,
.global-search__item.is-active {
background: var(--c-surface-alt);
box-shadow: inset 4px 0 0 var(--gk-solid, var(--c-text-sub));
}
.global-search__main {
display: block;
min-width: 0;
}
.global-search__item-head {
display: flex;
align-items: baseline;
gap: var(--sp-2);
}
.global-search__item-title {
flex: 1 1 auto;
min-width: 0;
color: var(--c-text);
font-size: var(--fs-lg);
font-weight: var(--fw-semibold);
line-height: var(--lh-snug);
word-break: keep-all;
overflow-wrap: anywhere;
}
.global-search__badge {
flex: none;
border-radius: var(--r-pill);
padding: 0 var(--sp-2);
background: var(--c-surface-sunken);
color: var(--c-text-sub);
font-size: var(--fs-md);
font-weight: var(--fw-medium);
line-height: 1.6;
}
.global-search__snippet {
display: -webkit-box;
margin-top: var(--sp-1);
color: var(--c-text-muted);
font-size: var(--fs-md);
line-height: var(--lh-normal);
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.global-search__item mark {
border-radius: 2px;
background: var(--c-changed-border);
color: var(--c-text);
padding: 0 1px;
}
.global-search__item[data-kind="activity"] {
--gk-solid: #C45100;
--gk-tint:  var(--c-warning-light);
--gk-ink:   #A84300;
}
.global-search__item[data-kind="output"] {
--gk-solid: #1565C0;
--gk-tint:  var(--c-primary-light);
--gk-ink:   #0D47A1;
}
.global-search__item[data-kind="outcome"] {
--gk-solid: #7B1FA2;
--gk-tint:  var(--c-accent-light);
--gk-ink:   #6A1B9A;
}
.global-search__kind-col {
display: flex;
flex-direction: column;
gap: var(--sp-1);
min-width: 0;
}
.global-search__kind {
display: block;
padding: 2px var(--sp-2);
border: 1.5px solid var(--c-border-strong);
border-radius: var(--r-pill);
background: var(--c-surface);
color: var(--c-text-sub);
font-size: var(--fs-md);
font-weight: var(--fw-bold);
line-height: var(--lh-snug);
text-align: center;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.global-search__item:is([data-kind="activity"], [data-kind="output"], [data-kind="outcome"]) .global-search__kind {
border-color: var(--gk-solid);
background: var(--gk-tint);
color: var(--gk-ink);
}
.global-search__item.is-self:is([data-kind="activity"], [data-kind="output"], [data-kind="outcome"]) .global-search__kind {
background: var(--gk-solid);
color: var(--c-text-inverse);
}
.global-search__where {
color: var(--c-text-dim);
font-size: var(--fs-md);
line-height: var(--lh-snug);
}
.global-search__kind-col .global-search__where {
text-align: center;
word-break: keep-all;
}
.global-search__item-head .global-search__where {
flex: none;
margin-left: auto;
white-space: nowrap;
}
.global-search__group-more {
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
width: 100%;
min-height: var(--h-control);
padding: var(--sp-2) var(--sp-4);
border: 0;
border-top: 1px solid var(--c-border-subtle);
background: var(--c-surface);
color: var(--c-text-body);
font-size: var(--fs-md);
font-weight: var(--fw-semibold);
cursor: pointer;
}
.global-search__group-more:hover {
background: var(--c-surface-alt);
text-decoration: underline;
text-underline-offset: 3px;
}
.global-search__foot {
margin: 0;
padding: var(--sp-3) var(--sp-4);
border-top: 1px solid var(--c-border-subtle);
color: var(--c-text-faint);
font-size: var(--fs-md);
}
.global-search__retry {
border: 0;
padding: 0;
background: transparent;
color: var(--c-primary-dark);
font-size: inherit;
text-decoration: underline;
text-underline-offset: 3px;
cursor: pointer;
}
.global-search__empty {
padding: var(--sp-8) var(--sp-4);
color: var(--c-text-faint);
font-size: var(--fs-lg);
text-align: center;
}
@media (max-width: 767px) {
.global-search__panel {
max-width: 100%;
}
.global-search__results {
max-height: 65vh;
}
.global-search__item.has-kind {
grid-template-columns: minmax(0, 1fr);
row-gap: var(--sp-2);
}
.global-search__kind-col {
flex-direction: row;
align-items: center;
gap: var(--sp-2);
}
.global-search__kind {
min-width: 96px;
}
.global-search__item-head {
flex-wrap: wrap;
}
.global-search__item-head .global-search__where {
flex-basis: 100%;
margin-left: 0;
white-space: normal;
}
}

/* ==== /css/common/board.css ==== */
.board-head {
align-items: center;
margin-bottom: var(--sp-3);
}
.board-head__count {
margin-left: var(--sp-1);
color: var(--c-text-faint);
font-size: var(--fs-lg);
font-weight: var(--fw-regular);
}
.board-section button.main__btn,
#board-summary button.main__btn {
background: var(--c-surface-sunken);
}
.board-section button.main__btn:hover,
#board-summary button.main__btn:hover {
background: var(--c-surface-hover);
}
.board-avatar {
flex: none;
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: var(--r-round);
background: var(--c-primary-light);
color: var(--c-primary-dark);
font-size: var(--fs-md);
font-weight: var(--fw-semibold);
line-height: 1;
}
.board-compose {
display: flex;
align-items: center;
gap: var(--sp-3);
width: 100%;
margin-bottom: var(--sp-4);
padding: var(--sp-3);
border: 1px solid var(--c-border);
border-radius: var(--r-lg);
background: var(--c-surface);
text-align: left;
cursor: pointer;
}
.board-compose:hover {
border-color: var(--c-primary);
background: var(--c-surface-alt);
}
.board-compose__hint {
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--c-text-dim);
font-size: var(--fs-lg);
}
.board-compose__cta {
flex: none;
border-radius: var(--r-md);
padding: 0 var(--sp-3);
background: var(--c-surface-sunken);
color: var(--c-text-sub);
font-size: var(--fs-md);
font-weight: var(--fw-medium);
line-height: var(--h-control-sm);
}
.board-pinned {
margin-bottom: var(--sp-4);
border: 1px solid var(--c-border);
border-left: 3px solid var(--c-warning);
border-radius: var(--r-lg);
background: var(--c-surface-alt);
overflow: hidden;
}
.board-pinned__head {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: var(--sp-2) var(--sp-3);
border: 0;
background: transparent;
text-align: left;
cursor: pointer;
}
.board-pinned__head:hover { background: var(--c-surface-sunken); }
.board-pinned__label {
color: var(--c-text-sub);
font-size: var(--fs-md);
font-weight: var(--fw-semibold);
}
.board-pinned__count {
margin-left: var(--sp-1);
border-radius: var(--r-pill);
padding: 0 var(--sp-2);
background: var(--c-warning-light);
color: var(--c-on-imminent-tint);
font-size: var(--fs-base);
line-height: 20px;
}
.board-pinned__chev {
flex: none;
width: 8px;
height: 8px;
border-right: 1.5px solid var(--c-text-muted);
border-bottom: 1.5px solid var(--c-text-muted);
transform: rotate(45deg) translate(-2px, -2px);
transition: transform var(--t-fast) var(--ease);
}
.board-pinned__head[aria-expanded="false"] .board-pinned__chev {
transform: rotate(-135deg) translate(-2px, -2px);
}
.board-pinned__list {
list-style: none;
margin: 0;
padding: 0 0 var(--sp-1);
}
.board-pinned__item + .board-pinned__item { border-top: 1px solid var(--c-border-subtle); }
.board-pinned__link {
display: flex;
align-items: center;
gap: var(--sp-2);
width: 100%;
padding: var(--sp-2) var(--sp-3);
border: 0;
background: transparent;
text-align: left;
cursor: pointer;
}
.board-pinned__link:hover { background: var(--c-surface-sunken); }
.board-pinned__title {
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--c-text-body);
font-size: var(--fs-lg);
line-height: var(--lh-snug);
}
.board-pinned__when {
flex: none;
color: var(--c-text-faint);
font-size: var(--fs-md);
}
.board-card.is-target {
border-color: var(--c-primary);
box-shadow: var(--ring-focus);
}
.board-feed {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: var(--sp-4);
}
.board-feed > .board-card,
.board-pinned__list > .board-pinned__item,
.board-list > .board-summary__item {
margin-bottom: 0;
}
.board-card {
border: 1px solid var(--c-border);
border-radius: var(--r-lg);
padding: var(--sp-4);
background: var(--c-surface);
}
.board-card.is-pinned {
border-left: 3px solid var(--c-warning);
}
.board-card__head {
display: flex;
align-items: center;
gap: var(--sp-2);
margin-bottom: var(--sp-3);
}
.board-card__who {
flex: 1 1 auto;
min-width: 0;
display: flex;
flex-direction: column;
}
.board-card__name {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--c-text-body);
font-size: var(--fs-lg);
font-weight: var(--fw-semibold);
line-height: var(--lh-snug);
}
.board-card__when {
color: var(--c-text-faint);
font-size: var(--fs-md);
line-height: var(--lh-snug);
}
.board-card__badge {
flex: none;
border-radius: var(--r-pill);
padding: 0 var(--sp-2);
background: var(--c-warning-light);
color: var(--c-on-imminent-tint);
font-size: var(--fs-base);
line-height: 22px;
}
.board-card__actions {
flex: none;
display: flex;
gap: var(--sp-3);
}
.board-card__act {
border: 0;
background: transparent;
color: var(--c-text-muted);
font-size: var(--fs-md);
cursor: pointer;
padding: 0;
}
.board-card__act:hover {
color: var(--c-primary-dark);
text-decoration: underline;
}
.board-card__act.board-act--danger:hover {
color: var(--c-danger-dark);
}
.board-card__title {
margin-bottom: var(--sp-2);
color: var(--c-text-body);
font-size: var(--fs-xl);
font-weight: var(--fw-semibold);
line-height: var(--lh-tight);
word-break: break-word;
}
.board-card__body {
color: var(--c-text-body);
font-size: var(--fs-lg);
line-height: var(--lh-normal);
word-break: break-word;
white-space: normal;
}
.board-card__body.is-clamped {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 6;
overflow: hidden;
}
.board-card__body p {
margin: 0 0 var(--sp-2);
}
.board-editor ul,
.board-card__body ul {
margin: 0 0 var(--sp-2);
padding-left: 1.5em;
list-style: disc outside;
}
.board-editor ol,
.board-card__body ol {
margin: 0 0 var(--sp-2);
padding-left: 1.5em;
list-style: decimal outside;
}
.board-editor ul ul,
.board-card__body ul ul {
margin-bottom: 0;
list-style-type: circle;
}
.board-editor ul ul ul,
.board-card__body ul ul ul {
list-style-type: square;
}
.board-editor li,
.board-card .board-card__body li {
display: list-item;
margin: 2px 0;
}
.board-editor li::marker,
.board-card .board-card__body li::marker {
color: var(--c-text-muted);
}
.board-card__body a {
color: var(--c-primary-dark);
text-decoration: underline;
}
.board-card__expand {
margin-top: var(--sp-1);
border: 0;
padding: 0;
background: transparent;
color: var(--c-primary-dark);
font-size: var(--fs-md);
cursor: pointer;
}
.board-card__expand:hover {
text-decoration: underline;
}
.board-files {
display: flex;
flex-direction: column;
gap: var(--sp-1);
margin-top: var(--sp-3);
}
.board-file {
display: flex;
align-items: center;
gap: var(--sp-2);
border: 1px solid var(--c-border-subtle);
border-radius: var(--r-md);
padding: var(--sp-2);
background: var(--c-surface-alt);
color: var(--c-text-sub);
font-size: var(--fs-md);
}
.board-file:hover {
border-color: var(--c-primary);
}
.board-file__icon {
flex: none;
width: 16px;
height: 16px;
}
.board-file__name {
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.board-file__size {
flex: none;
color: var(--c-text-faint);
font-size: var(--fs-md);
}
.board-files--compact {
align-items: flex-start;
margin-top: var(--sp-2);
}
.board-files--compact .board-file {
max-width: 100%;
padding: var(--sp-1) var(--sp-2);
}
.board-file__hint {
margin-top: var(--sp-1);
color: var(--c-text-muted);
font-size: var(--fs-md);
}
.board-comments {
margin-top: var(--sp-4);
padding-top: var(--sp-3);
border-top: 1px solid var(--c-border-subtle);
}
.board-comments__count {
margin-bottom: var(--sp-2);
color: var(--c-text-muted);
font-size: var(--fs-md);
font-weight: var(--fw-medium);
}
.board-comments__more {
display: block;
margin-bottom: var(--sp-2);
border: 0;
padding: 0;
background: transparent;
color: var(--c-primary-dark);
font-size: var(--fs-md);
cursor: pointer;
}
.board-comments__more:hover {
text-decoration: underline;
}
.board-comment {
display: flex;
gap: var(--sp-2);
padding: var(--sp-2) 0;
}
.board-comment .board-avatar {
width: 28px;
height: 28px;
background: var(--c-surface-sunken);
color: var(--c-text-sub);
font-size: var(--fs-base);
}
.board-comment__body {
flex: 1 1 auto;
min-width: 0;
}
.board-comment__who {
color: var(--c-text-sub);
font-size: var(--fs-md);
font-weight: var(--fw-semibold);
}
.board-comment__when {
margin-left: var(--sp-2);
color: var(--c-text-faint);
font-size: var(--fs-md);
font-weight: var(--fw-regular);
}
.board-comment__text {
color: var(--c-text-body);
font-size: var(--fs-lg);
line-height: var(--lh-normal);
word-break: break-word;
}
.board-comment__del {
flex: none;
border: 0;
background: transparent;
color: var(--c-text-faint);
font-size: var(--fs-md);
cursor: pointer;
}
.board-comment__del:hover {
color: var(--c-danger-dark);
}
.board-comment-form {
display: flex;
align-items: center;
gap: var(--sp-2);
margin-top: var(--sp-2);
}
.board-comment-form input[type="text"] {
flex: 1 1 auto;
min-width: 0;
}
.board-comment-form button {
flex: none;
white-space: nowrap;
}
.board-comment-attach {
flex: none;
display: inline-flex;
align-items: center;
gap: var(--sp-1);
background: var(--c-surface-sunken);
white-space: nowrap;
cursor: pointer;
}
.board-comment-attach:hover {
background: var(--c-surface-hover);
}
.board-comment-attach:focus-within {
outline: 2px solid var(--c-primary);
outline-offset: 2px;
}
.board-comment-attach__icon {
width: 16px;
height: 16px;
}
.board-write-files {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--sp-2);
margin-top: var(--sp-2);
}
.board-write-files .board-write-files__list {
margin-top: 0;
padding-left: 0;
}
.board-comment-pending {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2);
margin-top: var(--sp-2);
padding-left: 44px;
}
.board-pending-file {
display: inline-flex;
align-items: center;
gap: var(--sp-2);
max-width: 100%;
border: 1px solid var(--c-border);
border-radius: var(--r-pill);
padding: 2px var(--sp-1) 2px var(--sp-3);
background: var(--c-surface-alt);
color: var(--c-text-sub);
font-size: var(--fs-md);
}
.board-pending-file__name {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.board-pending-file__size {
flex: none;
color: var(--c-text-faint);
}
.board-pending-file__del {
flex: none;
width: 24px;
height: 24px;
border: 0;
border-radius: var(--r-round);
background: transparent;
color: var(--c-text-muted);
font-size: var(--fs-md);
line-height: 24px;
cursor: pointer;
}
.board-pending-file__del:hover {
background: var(--c-surface-hover);
color: var(--c-danger-dark);
}
.board-feed-box {
position: relative;
}
.board-feed-scroll {
max-height: 320px;
overflow-y: auto;
padding-right: var(--sp-1);
border-radius: var(--r-lg);
scrollbar-gutter: stable;
}
.board-feed-scroll:focus-visible {
outline: 0;
box-shadow: var(--ring-focus);
}
.board-feed-box::after {
content: '';
position: absolute;
left: 0;
right: var(--sp-3);
bottom: 0;
height: 56px;
border-radius: 0 0 var(--r-lg) var(--r-lg);
background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--c-surface));
pointer-events: none;
opacity: 0;
transition: opacity var(--t-fast) var(--ease);
}
.board-feed-box.is-overflowing:not(.is-at-end)::after {
opacity: 1;
}
.board-feed-hint {
display: flex;
align-items: center;
justify-content: center;
gap: var(--sp-2);
margin-top: var(--sp-2);
color: var(--c-text-muted);
font-size: var(--fs-md);
}
.board-feed-hint__arrow {
flex: none;
width: 8px;
height: 8px;
border-right: 1.5px solid var(--c-text-muted);
border-bottom: 1.5px solid var(--c-text-muted);
transform: rotate(45deg) translate(-2px, -2px);
}
.board-empty {
padding: var(--sp-8) var(--sp-3);
color: var(--c-text-faint);
font-size: var(--fs-lg);
text-align: center;
}
.board-card--skeleton {
display: flex;
flex-direction: column;
gap: var(--sp-2);
}
.board-skel-line {
display: block;
height: 16px;
width: 60%;
border-radius: var(--r-sm);
background: var(--c-surface-sunken);
}
.board-skel-line--sm { width: 30%; }
.board-skel-line--lg { width: 85%; }
.board-more__wr {
display: flex;
justify-content: center;
margin-top: var(--sp-4);
}
.board-editor__toolbar {
display: flex;
flex-wrap: wrap;
gap: var(--sp-1);
padding: var(--sp-1);
border: 1px solid var(--c-border-strong);
border-bottom: 0;
border-radius: var(--r-md) var(--r-md) 0 0;
background: var(--c-surface-muted);
}
.board-tool {
min-width: var(--h-control-sm);
height: var(--h-control-sm);
padding: 0 var(--sp-2);
border: 1px solid transparent;
border-radius: var(--r-sm);
background: transparent;
color: var(--c-text-sub);
font-size: var(--fs-md);
cursor: pointer;
}
.board-tool:hover {
background: var(--c-surface-hover);
}
.board-tool[aria-pressed="true"] {
border-color: var(--c-primary);
background: var(--c-primary-light);
color: var(--c-primary-dark);
}
.board-editor {
min-height: 160px;
max-height: 320px;
overflow-y: auto;
padding: var(--sp-3);
border: 1px solid var(--c-border-strong);
border-radius: 0 0 var(--r-md) var(--r-md);
background: var(--c-surface);
color: var(--c-text-body);
font-size: var(--fs-lg);
line-height: var(--lh-normal);
}
.board-editor:focus {
outline: 0;
box-shadow: var(--ring-focus);
}
.board-editor:empty::before {
content: attr(data-placeholder);
color: var(--c-text-disabled);
}
.board-list {
list-style: none;
margin: 0;
padding: 0;
border-top: 1px solid var(--c-border-subtle);
}
.board-item {
border-bottom: 1px solid var(--c-border-subtle);
}
.board-item--skeleton {
padding: var(--sp-3) var(--sp-2);
}
.board-item__pin {
flex: none;
color: var(--c-warning-dark);
font-size: var(--fs-md);
}
.board-item__title {
flex: 1 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--c-text-body);
font-size: var(--fs-lg);
font-weight: var(--fw-medium);
line-height: var(--lh-snug);
}
.board-item__meta {
flex: none;
display: flex;
align-items: center;
gap: var(--sp-2);
color: var(--c-text-faint);
font-size: var(--fs-md);
line-height: var(--lh-snug);
}
.board-item__count {
border-radius: var(--r-pill);
padding: 0 var(--sp-2);
background: var(--c-primary-light);
color: var(--c-primary-dark);
}
.board-summary__item {
border-bottom: 1px solid var(--c-border-subtle);
}
.board-summary__link {
display: flex;
align-items: center;
gap: var(--sp-2);
width: 100%;
padding: var(--sp-3) var(--sp-2);
border: 0;
background: transparent;
text-align: left;
cursor: pointer;
}
.board-summary__link:hover {
background: var(--c-surface-sunken);
}
.board-summary__where {
flex: none;
max-width: 40%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
border-radius: var(--r-sm);
padding: 0 var(--sp-2);
background: var(--c-surface-sunken);
color: var(--c-text-muted);
font-size: var(--fs-base);
line-height: 24px;
}
@media (max-width: 767px) {
.board-item__meta {
display: none;
}
.board-summary__where {
display: none;
}
.board-card__actions {
flex-wrap: wrap;
}
.board-comment-attach__text {
display: none;
}
}

/* ==== /css/common/icon-art.css ==== */
.sic-logo     { background-image: url('/images/menu_logo.png?v=1776997724'); }
.sic-star,
.sic-star-sm  { background-image: url('/images/star_icon.svg?v=1776997724'); }
.sic-home     { background-image: url('/images/home_img00.svg?v=1776997724'); }
.sic-folder   { background-image: url('/images/forder_icon.svg?v=1776997724'); }
.sic-calendar { background-image: url('/images/calendar.svg?v=1776997724'); }
.sic-company  { background-image: url('/images/company_icon.svg?v=1776997724'); }
.sic-setting  { background-image: url('/images/setting_icon.svg?v=1776997724'); }
.sic-tutorial { background-image: url('/images/fixed_menu_icon03.png?v=1776997724'); }
.sic-bell     { background-image: url('/images/fixed_menu_icon04.png?v=1776997724'); }
.sic-mypage   { background-image: url('/images/fixed_menu_icon05.png?v=1776997724'); }
.sic-logout   { background-image: url('/images/fixed_menu_icon07.png?v=1776997724'); }
.sic-close    { background-image: url('/images/close_btn.png?v=1776997724'); }
.drop__down__icon { background-image: url('/images/drop_down_icon.png?v=1776997724'); background-repeat: no-repeat; background-position: center; }
