/* frontend/styles/dash-base.css — 원본 dash.css 의 공유 레이아웃/카드 기본 클래스 (인박스·대시보드 공통). 전역/토큰/상단바는 tokens.css·globals.css 가 제공. .ph-title 은 globals.css 에 정의됨(항상 로드). */ /* 페이지 헤더 */ .pagehead { display: flex; align-items: flex-end; gap: 18px; padding: 14px 4px 22px; } .ph-back { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--glass); border: 1px solid var(--glass-brd); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); color: var(--ink); box-shadow: var(--shadow-sm); margin-bottom: 4px; transition: transform 0.12s; } .ph-back .ic { width: 19px; height: 19px; } .ph-back:hover { transform: translateX(-2px); } .ph-eyebrow { font-size: 13.5px; color: var(--muted); font-weight: 500; margin-bottom: 7px; display: flex; align-items: center; gap: 9px; } .ph-eyebrow .wx { display: inline-flex; align-items: center; gap: 5px; color: var(--ink-2); } .ph-eyebrow .wx .ic { width: 15px; height: 15px; color: var(--amber); } .ph-eyebrow .sep { width: 4px; height: 4px; border-radius: 50%; background: var(--faint); } .ph-title em { font-style: normal; color: var(--muted); } .ph-search { margin-left: auto; display: flex; align-items: center; gap: 10px; width: 250px; padding: 12px 18px; border-radius: 999px; background: var(--glass); border: 1px solid var(--glass-brd); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: var(--shadow-sm); margin-bottom: 4px; transition: box-shadow 0.18s, border-color 0.18s; } .ph-search:focus-within { border-color: var(--line-2); box-shadow: 0 0 0 4px rgba(79, 114, 224, 0.12); } .ph-search .ic { width: 17px; height: 17px; color: var(--muted); } .ph-search input { flex: 1; min-width: 0; border: none; background: none; outline: none; font-size: 14px; color: var(--ink); } .ph-search input::placeholder { color: var(--faint); } /* 작업 영역 + 보드 */ .work { display: flex; gap: 18px; align-items: flex-start; } .board { flex: 1; min-width: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } .card { background: var(--glass); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--glass-brd); border-radius: var(--radius); box-shadow: var(--shadow), var(--glass-hi); padding: 20px; display: flex; flex-direction: column; min-width: 0; } .card.sp2 { grid-column: span 2; } .card.r2 { grid-row: span 2; } /* 카드 헤더 */ .ch { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; } .ch .ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--glass-2); color: var(--ink); border: 1px solid var(--glass-brd); flex-shrink: 0; } .ch .ico .ic { width: 17px; height: 17px; } .ch .htext { min-width: 0; } .ch h3 { font-size: 15.5px; font-weight: 700; letter-spacing: -0.02em; margin: 0; white-space: nowrap; } .ch .sub { font-size: 12px; color: var(--muted); margin-top: 1px; } .ch .tool { margin-left: auto; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: var(--muted); transition: background 0.15s, color 0.15s; } .ch .tool .ic { width: 16px; height: 16px; } .ch .tool:hover { background: var(--card-2); color: var(--ink); } .ch .count { margin-left: auto; font-size: 12px; font-weight: 700; color: var(--ink-2); background: var(--glass-2); border: 1px solid var(--glass-brd); border-radius: 999px; padding: 3px 10px; } /* 캡처 종류 아이콘 / 분류 칩 / 시간 (인박스·대시보드 공유) */ .cap-k { width: 32px; height: 32px; border-radius: 9px; flex-shrink: 0; display: grid; place-items: center; background: var(--glass-2); border: 1px solid var(--glass-brd); color: var(--ink-2); } .cap-k .ic { width: 15px; height: 15px; } .cap-k.voice { color: var(--violet); } .cap-k.image { color: var(--blue); } .cap-k.text { color: var(--ink-2); } .r-chip { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; color: var(--ink-2); background: var(--glass-2); border: 1px solid var(--glass-brd); padding: 3px 9px; border-radius: 999px; } .r-chip .ic { width: 12px; height: 12px; color: var(--muted); } .r-chip .pdot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; } .r-chip.proj { color: var(--ink); font-weight: 700; } .cap-time { font-size: 11px; color: var(--faint); white-space: nowrap; flex-shrink: 0; padding-top: 2px; } /* 자율성 노트 (원본 approve.css) */ .auton-note { margin-top: 13px; display: flex; gap: 8px; align-items: flex-start; font-size: 11.5px; color: var(--ink-2); line-height: 1.5; background: var(--glass-2); border: 1px solid var(--glass-brd); border-radius: var(--radius-sm); padding: 10px 12px; } .auton-note .ic { width: 13px; height: 13px; flex-shrink: 0; margin-top: 2px; color: var(--coral); } .auton-note.dim { color: var(--muted); } .auton-note.dim .ic { color: var(--muted); } /* 보드 반응형 (원본 786~795) */ @media (max-width: 1200px) { .board { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 700px) { .board { grid-template-columns: 1fr; } .card.sp2 { grid-column: span 1; } }