:root { --design-scale-x:1; --design-scale-y:1; --aira-color-canvas:#f5f5f7; --aira-color-surface:#fff; --aira-color-surface-subtle:#f7f9fc; --aira-color-text-primary:#111; --aira-color-text-strong:#0a1f44; --aira-color-text-secondary:#71809a; --aira-color-placeholder:#8a94a6; --aira-color-border:#dce5f0; --aira-color-primary:#0071e3; --aira-color-primary-disabled:#a9c8fa; --aira-color-danger:#df6670; --aira-color-success:#169447; --aira-color-success-subtle:#eaf7ee; --aira-font-sans:"Pretendard Variable",Pretendard,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --aira-radius-input:6px; --aira-radius-control:10px; --aira-radius-card:16px; --aira-radius-panel:20px; --aira-height-input:40px; color:#112320; background:#fff; font-family:"Noto Sans KR", Arial, sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html, body { width:100%; min-width:0; height:100%; min-height:100%; margin:0; overflow:hidden; }
html.workspace-active { height:auto; min-height:var(--workspace-height, 1147px); overflow-x:hidden; overflow-y:auto; }
html.meeting-active { height:auto; min-height:var(--meeting-height, 800px); overflow-x:hidden; overflow-y:auto; }
body.workspace { height:auto; min-height:var(--workspace-height, 1147px); overflow-x:hidden; overflow-y:auto; }
body { border-top:1px solid #5791ff; }
.screen { position:absolute; top:50%; left:50%; width:1280px; height:720px; overflow:hidden; background:#fff; transform:translate(-50%, -50%) scale(var(--design-scale-x), var(--design-scale-y)); transform-origin:center center; }
.landing { display:block; }
.landing-logo { position:absolute; top:4px; left:calc(50% - 280.5px); width:561px; height:429px; display:block; object-fit:contain; }
h1 { position:absolute; top:433px; left:50%; width:697px; height:64px; margin:0; color:#112320; font-size:57.6px; font-weight:720; letter-spacing:-3.744px; line-height:63.36px; text-align:center; transform:translateX(-50%); white-space:nowrap; }
p { position:absolute; top:527px; left:50%; width:330px; height:61px; margin:0; color:#112320; font-family:"Noto Sans KR", Arial, sans-serif; font-size:17.28px; font-weight:500; letter-spacing:-.432px; line-height:30.24px; text-align:center; transform:translateX(-50%); }
.start-button { position:absolute; top:621px; left:calc(50% - 32px); width:64px; height:64px; display:grid; place-items:center; padding:0; border:1px solid #738078; border-radius:16px; color:#1f3028; background:#fff; font-size:32px; font-family:Arial, sans-serif; font-weight:400; line-height:1; transition:background .15s, color .15s, transform .15s; }
.start-button:hover { color:#fff; background:#235fc2; border-color:#235fc2; }
.login-screen, .auto-connect-screen, .workspace-screen, .meeting-screen { display:none; }
body.login .landing, body.auto-connecting .landing, body.workspace .landing, body.meeting .landing { display:none; }
body.login .login-screen, body.auto-connecting .auto-connect-screen, body.workspace .workspace-screen, body.meeting .meeting-screen { display:block; }
.auto-connect-screen { background:#fff; }
.auto-connect-spinner { position:absolute; top:50%; left:50%; width:54px; height:54px; border:5px solid #e7edfb; border-top-color:#4c74dd; border-radius:50%; transform:translate(-50%, -50%); animation:auto-connect-spin .8s linear infinite; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0; }
@keyframes auto-connect-spin { to { transform:translate(-50%, -50%) rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .auto-connect-spinner { animation-duration:1.8s; } }
.login-card { position:absolute; top:72px; left:386px; width:508px; min-height:637px; margin:0; padding:0; background:#fff; }
.login-card .welcome { position:absolute; top:9px; left:0; width:100%; height:auto; color:#4774da; font-size:16px; font-weight:700; letter-spacing:-.5px; line-height:24px; }
.login-card h1 { position:absolute; top:50px; left:0; width:100%; height:auto; color:#112320; font-size:42px; font-weight:720; letter-spacing:-2.5px; line-height:55px; text-align:center; transform:none; }
.login-card p { left:0; transform:none; }
.login-intro { top:130px; width:100%; color:#112320; font-size:16px; font-weight:400; letter-spacing:-.6px; line-height:25px; }
.field-label { position:absolute; left:0; color:#27333e; font-size:13px; font-weight:500; line-height:20px; }
.email-label { top:180px; }.password-label { top:271px; }
.input-wrap { position:absolute; left:0; width:508px; height:58px; display:flex; align-items:center; border:1px solid #d8dde5; border-radius:12px; color:#8fa5c5; }
.email-wrap { top:205px; }.password-wrap { top:296px; }
.confirm-password-label { top:362px; }
.confirm-password-wrap { top:387px; }
.login-status { position:absolute; top:357px; left:0; width:100%; height:auto; margin:0; color:#4368c9; font-size:11px; line-height:16px; text-align:left; transform:none; }
.input-wrap > img { width:20px; height:20px; margin:0 15px; object-fit:contain; }
.input-wrap input { flex:1; height:100%; padding:0 12px 0 0; border:0; outline:0; color:#24313d; background:transparent; font:400 16px "Noto Sans KR", sans-serif; }
.input-wrap input::placeholder { color:#8b97aa; }
.eye { width:48px; height:100%; display:grid; place-items:center; border:0; background:none; }.eye img { width:20px; height:20px; }
.stay { position:absolute; top:376px; left:0; display:flex; align-items:center; gap:9px; color:#33435b; font-size:14px; line-height:20px; cursor:pointer; }
.stay input { width:17px; height:17px; margin:0; accent-color:#4b75df; }
.find-password { position:absolute; top:376px; right:0; padding:0; border:0; color:#235bd1; background:transparent; font-size:14px; font-weight:600; line-height:20px; }
.login-button { position:absolute; top:417px; left:0; width:508px; height:58px; border:0; border-radius:12px; color:#fff; background:#4c74dd; font:700 15px "Noto Sans KR", sans-serif; }
.login-button:hover { background:#3f68d3; }
.divider { position:absolute; top:511px; left:0; display:flex; align-items:center; width:508px; color:#a4b1c4; font-size:12px; }
.divider::before,.divider::after { content:""; flex:1; height:1px; background:#e4e8ee; }.divider span { padding:0 19px; }
.signup { position:absolute; top:540px; left:0; width:508px; height:58px; border:1px solid #d8dde5; border-radius:12px; color:#1e2b35; background:#fff; font:700 15px "Noto Sans KR", sans-serif; }
.terms { top:622px; width:100%; color:#a1aec2; font-size:11px; font-weight:400; letter-spacing:-.4px; line-height:18px; }
.login-card.signup-mode { top:20px; }
.login-card.signup-mode .login-status { top:451px; }
.login-card.signup-mode .stay { top:470px; }
.login-card.signup-mode .login-button { top:510px; }
.login-card.signup-mode .divider { top:586px; }
.login-card.signup-mode .signup { top:612px; }
.login-card.signup-mode .terms { display:none; }

/* Landing and authentication screens use normal responsive layout.
   The workspace and meeting screens intentionally keep their 1280px design scale. */
.landing.screen,
.login-screen.screen,
.auto-connect-screen.screen {
  top:0;
  left:0;
  width:100%;
  height:auto;
  min-height:100vh;
  min-height:100dvh;
  overflow:auto;
  transform:none;
}
body:not(.workspace):not(.meeting) { height:auto; min-height:100vh; overflow-x:hidden; overflow-y:auto; }
html:not(.workspace-active):not(.meeting-active) { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
.landing.screen {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  justify-items:center;
  align-content:center;
  gap:22px;
  padding:42px 24px;
}
.landing-logo {
  position:static;
  width:clamp(240px, 36vw, 390px);
  height:auto;
  max-height:300px;
}
.landing h1 {
  position:static;
  box-sizing:border-box;
  width:calc(100% - 32px);
  height:auto;
  max-width:850px;
  color:#112320;
  font-size:clamp(30px, 3.5vw, 44px);
  letter-spacing:clamp(-3px, -.22vw, -1.4px);
  line-height:1.22;
  transform:none;
  word-break:keep-all;
  white-space:normal;
}
.landing p {
  position:static;
  width:auto;
  height:auto;
  max-width:520px;
  font-size:clamp(15px, 1.5vw, 18px);
  line-height:1.75;
  transform:none;
}
.landing .start-button {
  position:static;
  width:58px;
  height:58px;
  margin-top:5px;
}
body.login .login-screen { display:grid; place-items:center; padding:36px 20px; }
body.auto-connecting .auto-connect-screen { display:grid; place-items:center; }
.login-card,
.login-card.signup-mode {
  position:relative;
  top:auto;
  left:auto;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  column-gap:16px;
  width:min(460px, 100%);
  min-height:0;
  padding:10px 0;
}
.login-card .welcome,
.login-card h1,
.login-card p,
.login-card .field-label,
.login-card .input-wrap,
.login-card .stay,
.login-card .find-password,
.login-card .login-button,
.login-card .divider,
.login-card .signup {
  position:static;
  top:auto;
  left:auto;
  right:auto;
  width:100%;
  height:auto;
  transform:none;
}
.login-card .welcome { grid-column:1 / -1; margin:0; font-size:15px; line-height:22px; }
.login-card h1 { grid-column:1 / -1; margin:8px 0 0; font-size:clamp(34px, 7vw, 42px); line-height:1.3; }
.login-card .login-intro { grid-column:1 / -1; margin:13px 0 28px; font-size:16px; line-height:25px; }
.login-card .field-label { grid-column:1 / -1; margin:0; font-size:13px; line-height:20px; }
.login-card .password-label,
.login-card .confirm-password-label { margin-top:18px; }
.login-card .input-wrap { grid-column:1 / -1; height:58px; margin-top:8px; }
.login-card .login-status,
.login-card.signup-mode .login-status { grid-column:1 / -1; margin:9px 0 0; font-size:12px; line-height:18px; }
.login-card .stay,
.login-card.signup-mode .stay { grid-column:1; justify-self:start; width:auto; margin-top:15px; }
.login-card .find-password { grid-column:2; justify-self:end; width:auto; margin-top:15px; }
.login-card .login-button,
.login-card.signup-mode .login-button { grid-column:1 / -1; height:58px; margin-top:22px; }
.login-card .divider,
.login-card.signup-mode .divider { grid-column:1 / -1; margin-top:28px; }
.login-card .signup,
.login-card.signup-mode .signup { grid-column:1 / -1; height:58px; margin-top:15px; }
.login-card .terms { grid-column:1 / -1; margin:19px 0 0; font-size:11px; line-height:18px; }

@media (max-width:520px) {
  .landing.screen { gap:18px; padding:30px 20px; }
  .landing-logo { width:min(250px, 78vw); }
  .landing h1 { font-size:30px; line-height:1.3; }
  body.login .login-screen { place-items:start center; padding:28px 20px 36px; }
  .login-card { width:100%; }
  .login-card .welcome { font-size:14px; }
  .login-card h1 { font-size:34px; }
  .login-card .login-intro { margin-bottom:24px; font-size:15px; }
  .login-card .input-wrap,
  .login-card .login-button,
  .login-card .signup { height:54px; }
}
.workspace-screen { top:0; height:1335px; background:#fff; transform:translateX(-50%) scale(var(--design-scale-x)); transform-origin:top center; }
.work-header { position:absolute; top:42px; left:105px; display:flex; align-items:center; height:52px; }
.work-header img { width:188.54px; height:90.22px; object-fit:contain; }
.work-header h1 { position:static; width:auto; height:auto; margin:0 0 0 25px; color:#090d12; font-size:31px; font-weight:720; letter-spacing:-2.1px; line-height:45px; text-align:left; transform:none; white-space:nowrap; }
.work-top { position:absolute; top:108px; left:100px; display:flex; gap:20px; width:1105px; height:190px; padding:16px; border-radius:25px; background:#f5f6f8; }
.profile-card { position:relative; width:200px; height:158px; padding:28px 18px; overflow:hidden; border-radius:12px; color:#fff; background:#4873dc; }
.profile-copy { width:112px; }
.profile-card strong { display:flex; align-items:baseline; min-width:0; font-size:17px; font-weight:600; line-height:24px; white-space:nowrap; }
#profile-name { display:block; min-width:0; margin:0; overflow:hidden; font:inherit; text-overflow:ellipsis; white-space:nowrap; }
.profile-suffix { display:block; flex:0 0 auto; margin:0; font:inherit; }
.profile-greeting { display:block; margin-top:2px; font-size:11px; line-height:16px; white-space:nowrap; }
.profile-face { position:absolute; top:25px; right:17px; display:grid; place-items:center; width:50px; height:50px; border-radius:50%; color:#33445a; background:#f5e8dc; font-size:29px; }
.profile-actions { position:absolute; top:78px; left:18px; right:18px; display:grid; grid-template-columns:repeat(3, 1fr); gap:4px; }
.profile-actions button { width:100%; height:22px; padding:0 2px; border:1px solid rgba(255,255,255,.45); border-radius:5px; color:#fff; background:rgba(255,255,255,.1); font:500 8px "Noto Sans KR", sans-serif; white-space:nowrap; cursor:pointer; }
.profile-actions button:hover { background:rgba(255,255,255,.22); }
.counts { position:absolute; bottom:10px; left:17px; right:17px; display:flex; gap:6px; }.counts b { display:block; width:76px; padding:6px 0; border-radius:7px; color:#66a93e; background:#fff; text-align:center; font-size:12px; line-height:16px; }.counts b + b { color:#754fe0; }.counts em { color:#293344; font-style:normal; font-weight:700; }
.actor-dialog { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:24px; background:rgba(17,29,48,.46); backdrop-filter:blur(3px); }
.actor-dialog-card { width:min(460px, calc(100vw - 48px)); max-height:calc(100vh - 48px); padding:25px; overflow:auto; border:1px solid #dfe6f2; border-radius:18px; background:#fff; box-shadow:0 24px 70px rgba(19,36,68,.25); }
.actor-dialog-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.actor-dialog-card header span { display:block; color:#4c73dc; font-size:12px; font-weight:700; }
.actor-dialog-card h2 { margin:5px 0 0; color:#152338; font-size:24px; letter-spacing:-1.1px; line-height:34px; }
.actor-dialog-close { width:34px; height:34px; padding:0; border:0; border-radius:9px; color:#6f7d91; background:#f2f5f9; font-size:24px; line-height:1; cursor:pointer; }
.actor-dialog-close:disabled { visibility:hidden; }
.actor-dialog-card > p { position:static; width:auto; height:auto; margin:13px 0 18px; color:#68768b; font-size:13px; font-weight:400; letter-spacing:-.2px; line-height:21px; text-align:left; transform:none; }
.actor-options { display:grid; gap:9px; }
.actor-option { position:relative; width:100%; min-height:54px; padding:0 46px 0 17px; border:1px solid #dce3ee; border-radius:11px; color:#26364e; background:#fff; font:600 15px "Noto Sans KR", sans-serif; text-align:left; cursor:pointer; }
.actor-option::after { content:"→"; position:absolute; top:50%; right:17px; color:#7890bc; transform:translateY(-50%); }
.actor-option:hover,.actor-option:focus-visible { border-color:#7f9ff0; color:#345fcd; background:#f7f9ff; outline:0; }
.actor-option.is-selected { border-color:#4c74dd; color:#315dcc; background:#eef3ff; }
.actor-option.is-selected::after { content:"현재"; font-size:10px; font-weight:700; }
.actor-option:disabled { cursor:wait; opacity:.55; }
.actor-dialog-card > .actor-dialog-status { margin:13px 0 0; color:#4269d2; font-size:12px; }
.notice-panel { display:flex; flex:1; flex-direction:column; padding:15px 18px; border-radius:24px; background:#fff; }.notice-heading { display:flex; flex:0 0 23px; align-items:center; justify-content:space-between; height:23px; }.notice-heading strong { color:#52617b; font-size:13px; font-weight:700; }.notice-heading button { border:0; color:#557af0; background:transparent; font:600 10px "Noto Sans KR", sans-serif; cursor:pointer; }.notice-heading button:disabled { cursor:wait; opacity:.55; }.notice-table { flex:1; min-height:0; margin-top:7px; }.notice-row { display:grid; grid-template-columns:minmax(0, 1fr) 104px 72px; column-gap:10px; align-items:center; min-height:25px; color:#60708b; font-size:10px; }.notice-row.table-head { min-height:16px; color:#a0aabc; font-size:8px; }.notice-row.table-head span:last-child { text-align:right; }.notice-row b { min-width:0; overflow:hidden; color:#41516d; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }.notice-row > span:nth-child(2),.notice-row em { white-space:nowrap; }.notice-row em { color:#41516d; font-style:normal; text-align:right; }.card-usage-message { position:static; width:100%; height:auto; margin:18px 0; color:#8d99aa; font-size:11px; text-align:center; transform:none; }.card-usage-message.error { color:#c65151; }.card-usage-message button { border:0; color:#426ddd; background:none; font:inherit; cursor:pointer; text-decoration:underline; }.quick-panel { display:flex; flex-direction:column; justify-content:space-between; width:245px; height:158px; padding:20px 18px; border-radius:20px; background:#fff; }.quick-panel p { position:static; display:grid; grid-template-columns:37.27px 1fr; column-gap:17px; align-items:center; width:auto; height:28px; margin:0; color:#151a20; font-size:14px; font-weight:600; line-height:20px; text-align:left; transform:none; white-space:nowrap; }.quick-panel p img { justify-self:center; object-fit:contain; }.quick-panel p:nth-child(1) img { width:25.83px; height:27.47px; }.quick-panel p:nth-child(2) img { width:29.57px; height:26.69px; }.quick-panel p:nth-child(3) img { width:37.27px; height:23.85px; }.quick-panel b { margin:0; color:#171d24; }
.card-usage-message.empty { display:flex; align-items:center; justify-content:center; height:100%; min-height:96px; margin:0; color:#8794a8; font-weight:500; }
.task-area { position:absolute; top:333px; left:0; width:1280px; height:1002px; padding:24px 0 290px 356px; border-radius:20px 20px 0 0; background:#f5f6f9 url("assets/task-area-bg.svg") center top / 100% 100% no-repeat; }.project-panel { position:absolute; top:24px; left:57px; width:255px; min-height:592px; padding:17px 15px; border-radius:14px; background:#fff; box-shadow:0 8px 21px rgba(44,73,121,.08); }.project-heading { display:flex; align-items:center; justify-content:space-between; margin:0 2px 13px; color:#2b3850; }.project-heading strong { font-size:14px; font-weight:700; }.project-heading button { display:grid; place-items:center; width:25px; height:25px; padding:0; border:1px solid #e3e8f0; border-radius:7px; color:#586783; background:#fff; font-size:16px; cursor:pointer; }.project-item { display:flex; flex-direction:column; align-items:flex-start; width:225px; min-height:78px; margin-top:10px; padding:14px 12px; border:1px solid #e5eaf2; border-radius:9px; color:#2e3d55; background:#fff; text-align:left; cursor:pointer; }.project-item.active { border-left:3px solid #5080f5; padding-left:10px; box-shadow:0 3px 8px rgba(49,99,214,.05); }.project-item small { color:#8b98ad; font-size:9px; }.project-item b { margin-top:5px; color:#42516a; font:600 12px "Noto Sans KR", sans-serif; }
.project-message { position:static; width:auto; height:auto; margin:18px 4px; color:#7b889d; font-size:11px; line-height:1.6; transform:none; }.project-message.error { color:#c65151; }.project-message button { margin-top:7px; border:0; color:#426ddd; background:none; font:inherit; cursor:pointer; text-decoration:underline; }.project-heading button:disabled { cursor:wait; opacity:.5; }.project-refreshing { animation:project-spin .8s linear infinite; } @keyframes project-spin { to { transform:rotate(360deg); } }
.task-intro { width:855px; height:55px; display:flex; align-items:center; justify-content:space-between; color:#101820; font-size:16px; }.task-controls { display:flex; gap:10px; }.task-intro button { height:32px; padding:0; border:1px solid #dfe5ef; border-radius:4px; color:#8892a2; background:#fff; font:500 10px "Noto Sans KR", sans-serif; cursor:pointer; }.task-intro .task-filter { width:154px; }.task-intro .task-search { width:124px; }
.task-group { width:624px; margin-top:12px; }.task-group + .task-group { margin-top:27px; }.task-group-title { display:flex; align-items:center; gap:16px; margin:0 0 16px 11px; color:#111922; font-size:14px; font-weight:600; }.task-group-title::after { content:""; width:500px; height:1px; background:#6f767e; }
.task-list { display:grid; grid-template-columns:repeat(4, 112px); gap:22px 54px; }.task-tile { position:relative; width:112px; height:90px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:0; border-radius:11px; color:#1b2630; background:#fff; }.task-tile > img:not(.star) { width:43px; height:43px; object-fit:contain; }.task-tile strong { margin-top:3px; font-size:10px; font-weight:600; letter-spacing:-.6px; }.star-toggle { position:absolute; top:6px; right:6px; display:grid; place-items:center; width:24px; height:24px; padding:0; border:0; background:transparent; cursor:pointer; }.star-toggle img { width:18px; height:18px; object-fit:contain; transition:transform .18s cubic-bezier(.2,.9,.2,1); }.star-toggle:hover img { transform:scale(1.14); }.star-toggle.is-toggling img { animation:star-toggle .16s ease-out both; }.task-tile.favorite-transition { animation:favorite-enter .32s cubic-bezier(.2,.9,.25,1.18) both; }.star-toggle:focus-visible { outline:2px solid #4774da; outline-offset:1px; border-radius:4px; }
@keyframes star-toggle { 45% { transform:scale(.72) rotate(-12deg); } 100% { transform:scale(1) rotate(0); } }
@keyframes favorite-enter { from { opacity:0; transform:translateY(8px) scale(.94); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (prefers-reduced-motion:reduce) { .star-toggle img, .task-tile.favorite-transition { animation:none; transition:none; } }

/* Meeting expense page — Figma frame: 1280 × 800 */
.meeting-screen { top:0; height:800px; color:#14213b; background:#fff; transform:translateX(-50%) scale(var(--design-scale-x)); transform-origin:top center; }
.back-to-work { position:absolute; top:0; left:0; width:1280px; height:63px; padding:0 0 0 38px; border:0; border-bottom:1px solid #dce3ef; color:#14213b; background:#fff; font:500 16px "Noto Sans KR", sans-serif; text-align:left; cursor:pointer; }.back-to-work span { margin-left:10px; }
.meeting-heading { position:absolute; top:102px; left:57px; }.meeting-heading h1 { position:static; width:auto; height:auto; margin:0; color:#162340; font-size:31px; font-weight:700; letter-spacing:-1.8px; line-height:42px; text-align:left; transform:none; }.meeting-heading p { position:static; width:auto; height:auto; margin:6px 0 0; color:#77839d; font-size:16px; font-weight:400; letter-spacing:-.8px; line-height:26px; text-align:left; transform:none; }
.meeting-content { position:absolute; top:195px; left:0; display:flex; gap:21px; width:1280px; min-height:605px; padding:0 57px; background:#f7f9fe; }.meeting-form, .submission-panel { border:1px solid #dbe4f1; border-radius:14px; background:#fff; box-shadow:0 8px 22px rgba(43,70,115,.05); }.meeting-form { width:838px; height:573px; margin-top:0; padding:28px; }.meeting-form h2, .submission-panel h2 { margin:0; color:#162340; font-size:21px; font-weight:700; letter-spacing:-1.2px; line-height:30px; }.meeting-label { display:block; margin-top:19px; color:#162340; font-size:14px; font-weight:600; }.project-select { position:relative; margin-top:10px; width:782px; height:43px; border:1px solid #d7e0ed; border-radius:10px; }.project-select::after { content:"⌄"; position:absolute; top:7px; right:18px; color:#71809c; font-size:20px; pointer-events:none; }.project-select select { width:100%; height:100%; padding:0 16px; appearance:none; border:0; outline:0; color:#71809c; background:transparent; font:400 15px "Noto Sans KR", sans-serif; }
.evidence-method { margin:20px 0 0; padding:0; border:0; }.evidence-method legend, .upload-field > span { padding:0; color:#162340; font-size:14px; font-weight:600; }.method-options { display:flex; gap:9px; margin-top:10px; }.method { height:41px; padding:0 16px; border:1px solid #d7e0ed; border-radius:10px; color:#72809b; background:#fff; font:500 15px "Noto Sans KR", sans-serif; cursor:pointer; }.method.active { min-width:72px; border-color:#4d73ef; color:#fff; background:#4d73ef; }.upload-field { margin-top:20px; }.detail-upload { margin-top:20px; }.upload-box { position:relative; display:block; width:782px; height:115px; margin-top:10px; border:1px dashed #85a7ff; border-radius:12px; background:#f5f8ff; cursor:pointer; }.upload-box .file-input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }.upload-box i { position:absolute; top:35px; left:21px; display:grid; place-items:center; width:43px; height:43px; border-radius:12px; background:#fff; font-style:normal; }.upload-box i img { width:26px; height:26px; object-fit:contain; }.upload-box b { position:absolute; top:40px; left:80px; color:#1c2a44; font-size:14px; font-weight:600; }.upload-box em { position:absolute; top:63px; left:80px; color:#7b88a1; font-size:13px; font-style:normal; }.upload-box strong { position:absolute; top:39px; right:21px; width:93px; height:37px; display:grid; place-items:center; border:1px solid #4771f5; border-radius:10px; color:#4771f5; background:#fff; font-size:14px; font-weight:600; }.upload-box.has-file { border-style:solid; border-color:#7f9df1; }.upload-box.has-file b::after { content:" 첨부됨"; color:#4771f5; }
.submission-panel { width:314px; height:573px; margin-top:0; padding:30px 24px; }.check-list { display:grid; gap:14px; margin:21px 0 23px; padding:0; list-style:none; }.check-list li { position:relative; min-height:25px; padding:3px 0 0 33px; color:#7d8ba6; font-size:14px; font-weight:500; }.check-list li::before { content:""; position:absolute; top:0; left:0; width:23px; height:23px; border:1px solid #d6dfec; border-radius:50%; background:#fff; }.check-list li.done { color:#172642; }.check-list li.done::before { content:"✓"; display:grid; place-items:center; border-color:#4e73ec; color:#fff; background:#4e73ec; font-size:16px; font-weight:700; }.progress { padding-top:21px; border-top:1px solid #dce3ee; }.progress div { display:flex; justify-content:space-between; color:#172642; font-size:14px; }.progress strong { color:#4771f5; }.progress span { display:block; width:266px; height:8px; margin-top:12px; overflow:hidden; border-radius:8px; background:#e1e9fa; }.progress i { display:block; width:50%; height:100%; border-radius:8px; background:#4c72ef; transition:width .24s ease; }.start-submit, .save-draft { width:266px; height:44px; border-radius:10px; font:600 15px "Noto Sans KR", sans-serif; }.start-submit { margin-top:18px; border:0; color:#fff; background:#a9bef2; }.start-submit:not(:disabled) { cursor:pointer; background:#4d73ef; }.save-draft { margin-top:18px; border:1px solid #d7e0ed; color:#1c2941; background:#fff; cursor:pointer; }

/* Subtle, consistent interaction feedback */
.start-button, .login-button, .signup, .find-password, .eye, .notice-heading button, .quick-panel p, .project-heading button, .project-item, .task-intro button, .task-tile, .back-to-work, .method, .upload-box, .upload-box strong, .start-submit, .save-draft { transition:transform .18s cubic-bezier(.2,.8,.25,1), box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease; }
.start-button:hover { transform:translateY(-2px); box-shadow:0 7px 16px rgba(35,95,194,.18); }.login-button:hover:not(:disabled), .start-submit:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 7px 15px rgba(61,99,210,.22); }.signup:hover, .save-draft:hover { transform:translateY(-1px); border-color:#8aa6ec; box-shadow:0 5px 12px rgba(65,92,143,.08); }.find-password:hover, .notice-heading button:hover { color:#254fc4; transform:translateY(-1px); }.eye:hover { background:#f4f7fc; }.quick-panel p { cursor:pointer; border-radius:7px; }.quick-panel p:hover { color:#2858ce; background:#f5f8ff; transform:translateX(2px); }.quick-panel p:hover b { color:#2858ce; }.project-heading button:hover { transform:rotate(28deg); border-color:#aac0ef; color:#3f6bea; }.project-item:hover { transform:translateY(-2px); border-color:#a7c0f6; box-shadow:0 7px 16px rgba(44,82,145,.10); }.task-intro button:hover { transform:translateY(-1px); border-color:#9bb7f7; color:#426ddd; box-shadow:0 4px 10px rgba(47,89,164,.08); }.task-tile { cursor:pointer; transition:transform .18s cubic-bezier(.2,.8,.25,1), box-shadow .18s ease, background-color .18s ease; }.task-tile:hover { transform:translateY(-3px); box-shadow:0 9px 17px rgba(42,65,105,.12); background:#fcfdff; }.task-tile:hover > img:not(.star) { transform:scale(1.04); }.task-tile > img:not(.star) { transition:transform .18s ease; }.back-to-work:hover { color:#3e6bdd; background:#f8faff; }.method:hover:not(.active) { transform:translateY(-1px); border-color:#9fb8f8; color:#426dde; background:#f8faff; }.method.active:hover { transform:translateY(-1px); box-shadow:0 5px 11px rgba(67,105,223,.22); }.upload-box:hover { transform:translateY(-1px); border-color:#4d73ef; box-shadow:0 7px 15px rgba(68,105,185,.09); }.upload-box:hover strong { background:#4d73ef; color:#fff; }.save-draft:hover { color:#416bd9; }
button:focus-visible, [role="button"]:focus-visible, .upload-box:focus-within { outline:2px solid #5c88f5; outline-offset:2px; }
@media (prefers-reduced-motion:reduce) { .start-button, .login-button, .signup, .find-password, .eye, .notice-heading button, .quick-panel p, .project-heading button, .project-item, .task-intro button, .task-tile, .back-to-work, .method, .upload-box, .upload-box strong, .start-submit, .save-draft, .task-tile > img:not(.star) { transition:none; } }

.quick-panel a { position:static; display:grid; grid-template-columns:37.27px 1fr; column-gap:17px; align-items:center; width:auto; height:28px; margin:0; border-radius:7px; color:#151a20; font-size:14px; font-weight:600; line-height:20px; text-align:left; text-decoration:none; transform:none; white-space:nowrap; cursor:pointer; transition:transform .18s cubic-bezier(.2,.8,.25,1), background-color .18s ease, color .18s ease; }
.quick-panel a img { justify-self:center; object-fit:contain; }
.quick-panel a:nth-child(1) img { width:25.83px; height:27.47px; }
.quick-panel a:nth-child(2) img { width:29.57px; height:26.69px; }
.quick-panel a:nth-child(3) img { width:37.27px; height:23.85px; }
.quick-panel a:hover,.quick-panel a:focus-visible { color:#2858ce; background:#f5f8ff; transform:translateX(2px); outline:2px solid transparent; }
.quick-panel a:hover b,.quick-panel a:focus-visible b { color:#2858ce; }

/* Main dashboard — Figma frame 320:30.  Existing data attributes and event targets stay intact. */
.workspace-screen { height:var(--workspace-design-height, 1147px); background:#fff; }
.work-header { top:0; left:0; display:grid; place-items:center; width:1280px; height:107px; }
.work-header img { width:225px; height:107px; object-fit:contain; }
.work-top { top:107px; left:100px; gap:16px; width:1100px; height:190px; padding:18px 13px; border-radius:16px; background:#f5f5f7; }
.profile-card { width:198px; height:154px; padding:30px 20px; border-radius:16px; background:#0071e3; }
.profile-copy { width:106px; }.profile-card strong { font-size:20px; line-height:25px; }.profile-greeting { margin-top:4px; font-size:14px; line-height:20px; }
.profile-face { top:25px; right:18px; width:53px; height:59px; border-radius:16px; background:transparent; overflow:hidden; }
.profile-face img { width:100%; height:100%; object-fit:contain; }
.account-menu-toggle { position:absolute; top:91px; left:20px; padding:0; border:0; color:rgba(255,255,255,.88); background:transparent; font:600 11px "Noto Sans KR",sans-serif; cursor:pointer; }
.account-menu-toggle span { margin-left:3px; font-size:12px; }.profile-actions { z-index:3; top:111px; left:14px; right:14px; display:none; grid-template-columns:repeat(3,1fr); gap:4px; padding:7px; border-radius:10px; background:rgba(3,52,124,.94); box-shadow:0 9px 18px rgba(0,39,102,.26); }
.profile-card.account-menu-open .profile-actions { display:grid; }.profile-actions button { height:26px; border-color:rgba(255,255,255,.38); font-size:8px; }
.counts { bottom:10px; left:20px; right:20px; gap:12px; }.counts b { width:70px; padding:5px 0 6px; border-radius:10px; font-size:14px; line-height:17px; }.counts em { font-size:14px; }
.notice-panel { flex:0 0 618px; height:154px; padding:15px 22px 13px; border:1px solid #dce5f0; border-radius:16px; box-shadow:0 4px 14px rgba(10,31,68,.04); }
.notice-heading { flex-basis:24px; height:24px; }.notice-heading strong { color:#0a1f44; font-size:20px; }.notice-heading button { color:#0a6efa; font-size:14px; }.notice-table { margin-top:7px; }.notice-row { grid-template-columns:minmax(0,1fr) 170px 174px; min-height:18px; column-gap:0; color:#0a1f44; font-size:14px; }.notice-row.table-head { min-height:16px; color:#71809a; font-size:12px; }.notice-row em { color:#0a1f44; font-size:12px; }.card-usage-message { margin:15px 0; }
.quick-panel { width:220px; height:154px; padding:18px 12px; border-radius:16px; }.quick-panel a { grid-template-columns:37px 1fr; column-gap:10px; height:29px; font-size:16px; }.quick-panel a:nth-child(1) img { width:26px; height:27px; }.quick-panel a:nth-child(2) img { width:30px; height:27px; }.quick-panel a:nth-child(3) img { width:37px; height:24px; }
.task-area { top:333px; height:814px; padding:0 28px 38px 350px; border-radius:16px 16px 0 0; background:#f5f5f7; }
.project-panel { top:20px; left:56px; width:260px; min-height:724px; padding:16px 12px; border:1px solid #dce5f0; border-radius:16px; box-shadow:0 4px 16px rgba(10,31,68,.04); }.project-heading { height:40px; margin:0 0 12px; padding:0 2px; }.project-heading strong { color:#0a1f44; font-size:20px; }.project-heading button { width:38px; height:38px; border-radius:11px; font-size:21px; }
.project-item { width:100%; min-height:82px; margin-top:10px; padding:14px 14px; border-color:#dce5f0; border-radius:12px; }.project-item.active { padding:14px 14px; border-left:4px solid #0a6efa; }.project-item small { color:#71809a; font-size:12px; }.project-item b { margin-top:5px; color:#0a1f44; font-size:14px; }.project-item:hover { padding-left:12px; border-left:4px solid #0a6efa; }
.task-intro { position:relative; width:902px; height:220px; display:block; padding-top:20px; }.task-heading { text-align:center; }.task-heading h2 { margin:0; color:#0a1f44; font-size:32px; font-weight:700; letter-spacing:-1.5px; line-height:45px; }.task-heading p { position:static; width:auto; height:auto; margin:13px 0 0; color:#0a1f44; font-size:14px; font-weight:500; line-height:20px; text-align:center; transform:none; }
.task-controls { position:absolute; top:125px; left:0; display:block; width:902px; height:64px; }.task-intro .task-search { display:flex; justify-content:flex-start; width:902px; height:64px; padding:0 18px; border-color:#dce5f0; border-radius:16px; color:#71809a; font-size:20px; }.task-intro .task-search img { width:26px; height:26px; opacity:1; }.task-intro .task-filter { position:absolute; top:16px; right:18px; width:220px; height:32px; border:0; border-left:1px solid #dce5f0; border-radius:0; color:#0a1f44; background:#fff; font-size:16px; }.task-intro .task-filter img { width:18px; height:18px; }
#task-groups { width:902px; }.task-group { width:902px; margin-top:0; }.task-group + .task-group { margin-top:27px; }.task-group-title { gap:8px; margin:0 0 12px; color:#0a1f44; font-size:18px; font-weight:700; }.task-group-title::after { display:none; }.task-count { display:grid; place-items:center; min-width:22px; height:22px; padding:0 7px; border-radius:99px; color:#fff; background:#0071e3; font-size:12px; }
.task-list { grid-template-columns:repeat(4,1fr); gap:12px; }.task-tile { width:100%; height:58px; flex-direction:row; justify-content:flex-start; gap:13px; padding:0 18px; border:1px solid #dce5f0; border-radius:14px; }.task-tile > img:not(.star) { width:24px; height:24px; }.task-tile strong { margin:0; font-size:14px; line-height:18px; text-align:left; }.star-toggle { top:16px; right:12px; width:22px; height:22px; }.star-toggle img { width:18px; height:18px; }
.task-group + .task-group .task-list { gap:0; overflow:hidden; border:1px solid #dce5f0; border-radius:16px; background:#fff; grid-template-columns:repeat(3,1fr); }.task-group + .task-group .task-tile { height:66px; border:0; border-right:1px solid #dce5f0; border-bottom:1px solid #dce5f0; border-radius:0; }.task-group + .task-group .task-tile:nth-child(3n) { border-right:0; }.task-group + .task-group .task-tile:nth-last-child(-n+3) { border-bottom:0; }
.task-search-popover { top:190px; right:auto; left:350px; width:420px; }.delete-account-button { display:none; }

/* Dashboard typography and spacing corrections against Figma frame 320:30. */
.workspace-screen, .workspace-screen button, .workspace-screen input { font-family:"Pretendard Variable",Pretendard,"Noto Sans KR",Arial,sans-serif; }
.profile-card { overflow:visible; }.profile-copy { position:relative; z-index:1; }.profile-face { z-index:1; }
.account-menu-toggle { z-index:4; top:8px; right:9px; left:auto; width:22px; height:22px; overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.5); border-radius:50%; color:transparent; background:rgba(0,51,128,.22); font-size:0; }
.account-menu-toggle::after { content:"⋯"; color:#fff; font:700 16px/14px Arial,sans-serif; }.account-menu-toggle span { display:none; }
.profile-actions { top:34px; left:12px; right:12px; }.counts { z-index:2; }
.notice-panel { justify-content:flex-start; gap:0; }.notice-heading { padding-bottom:7px; border-bottom:1px solid #dce5f0; }.notice-table { margin-top:7px; }.notice-row { min-height:18px; line-height:16px; }.notice-row.table-head { min-height:16px; margin-bottom:2px; }.notice-row + .notice-row { border-top:1px solid #dce5f0; padding-top:3px; }
.task-heading h2 { font-size:32px; font-weight:600; letter-spacing:-1.8px; }.task-heading p { margin-top:14px; font-size:14px; font-weight:500; letter-spacing:-.45px; }.task-group-title { margin-bottom:13px; font-size:18px; font-weight:700; letter-spacing:-.55px; }.task-tile strong { font-weight:600; letter-spacing:-.4px; }
.task-group + .task-group .task-tile { height:84px; padding:0 18px; }.task-group + .task-group .task-tile strong { font-size:14px; line-height:20px; }.task-group + .task-group .task-tile > img:not(.star) { width:25px; height:25px; }

/* Figma 320:147 — independent table card instead of the legacy compact card rows. */
.notice-panel { display:block; overflow:hidden; padding:15px 22px 13px; }.notice-heading { height:24px; padding:0; border:0; }.notice-heading strong { font-size:20px; font-weight:600; letter-spacing:-.7px; line-height:24px; }.notice-heading button { font-size:16px; font-weight:500; letter-spacing:-.4px; }
.notice-table { height:auto; margin-top:7px; }.unclaimed-table { display:flex; flex-direction:column; gap:7px; width:100%; }.unclaimed-divider { flex:0 0 1px; width:100%; background:#dce5f0; }.unclaimed-row { display:grid; grid-template-columns:230px 170px 174px; align-items:start; height:18px; padding:0; color:#0a1f44; font-size:14px; line-height:16px; }.unclaimed-row + .unclaimed-row { border:0; padding:0; }.unclaimed-row span,.unclaimed-row b,.unclaimed-row em { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.unclaimed-row b { font-weight:400; }.unclaimed-row span { font-size:12px; }.unclaimed-row em { color:#0a1f44; font-size:12px; font-style:normal; font-weight:500; text-align:right; }.unclaimed-head { height:16px; padding:0; color:#71809a; border:0; font-size:12px; }.unclaimed-head span { font-size:12px; font-weight:500; }.unclaimed-head span:last-child { text-align:right; }
.card-usage-message.empty { min-height:72px; font-size:13px; }.card-usage-message.error { margin-top:3px; font-size:12px; }

/* Figma 313:6 and 318:6 — exact desktop directory measurements. */
.task-intro .task-search { gap:12px; }.task-intro .task-search img { flex:0 0 26px; }.task-intro .task-search span { line-height:24px; }.task-intro .task-filter { gap:12px; }
.task-list { grid-template-columns:repeat(4,216px); gap:12px; }.task-tile { width:216px; height:72px; gap:10px; padding:0 12px; }.task-tile > img:not(.star) { width:28px; height:28px; }.task-tile strong { font-size:16px; font-weight:600; line-height:20px; }.star-toggle { top:27px; right:12px; }
.task-group + .task-group .task-list { box-sizing:border-box; height:var(--all-task-list-height, 360px); padding:16px; grid-template-columns:repeat(3,289px); grid-auto-rows:81px; }.task-group + .task-group .task-tile { width:289px; height:81px; gap:10px; padding:0 8px; }.task-group + .task-group .task-tile > img:not(.star) { width:28px; height:28px; }.task-group + .task-group .task-tile strong { font-size:16px; font-weight:600; line-height:20px; }.task-group + .task-group .star-toggle { top:31px; right:25px; }
.task-label { display:flex; flex-direction:column; align-items:flex-start; min-width:0; gap:2px; }.task-label strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.task-label .task-title-split { overflow:visible; line-height:18px; text-overflow:clip; white-space:normal; }.task-subtitle { color:#71809a; font-size:12px; font-weight:500; line-height:14px; letter-spacing:-.25px; white-space:nowrap; }.task-group + .task-group .task-subtitle { color:#71809a; font-size:12px; font-weight:500; line-height:14px; }
@media (prefers-reduced-motion:reduce) { .quick-panel a { transition:none; } }

/* Project cards use blue emphasis only while hovered, never as a persistent selected state. */
.project-item.active { padding:14px 12px; border:1px solid #e5eaf2; box-shadow:none; }
.project-item:hover { padding-left:10px; border-color:#a7c0f6; border-left:3px solid #5080f5; }

/* Main dashboard: persistent full task catalogue and generous lower breathing room. */
.workspace-screen { height:var(--workspace-design-height, 1335px); overflow:visible; }
.task-area { height:var(--task-area-height, 1002px); padding-bottom:290px; }
.task-intro .task-search { display:flex; align-items:center; justify-content:flex-start; gap:12px; font-size:20px; }
.task-intro .task-filter { display:flex; align-items:center; justify-content:center; gap:14px; font-size:16px; }
.task-intro .task-search img { width:26px; height:26px; opacity:1; }.task-intro .task-filter img { width:18px; height:18px; }

/* Unified module work area */
.simplified-form { padding:28px; }.single-upload > span { display:block; color:#162340; font-size:14px; font-weight:600; }.single-upload .upload-box { margin-top:10px; }.module-workspace { width:782px; height:340px; margin-top:24px; overflow-y:auto; border:1px solid #edf1f7; border-radius:12px; background:#fbfcff; }.expense-workspace { padding:18px; background:#f8fbff; }.expense-workspace.hidden { display:none; }.expense-sheet-heading { display:flex; align-items:baseline; justify-content:space-between; padding:0 2px 12px; border-bottom:1px solid #dbe5f3; color:#162340; }.expense-sheet-heading strong { font-size:17px; letter-spacing:-.8px; }.expense-sheet-heading span { color:#7b88a1; font-size:12px; }.expense-sheet { display:grid; grid-template-columns:repeat(6, 1fr); gap:10px; padding-top:13px; }.expense-field { display:flex; flex-direction:column; gap:6px; min-width:0; }.expense-field.small { grid-column:span 2; }.expense-field.medium { grid-column:span 3; }.expense-field.wide { grid-column:span 4; }.expense-field.full { grid-column:1 / -1; }.expense-field b { color:#33425c; font-size:12px; font-weight:700; letter-spacing:-.4px; }.expense-field input, .expense-field select, .expense-field textarea { width:100%; min-height:34px; padding:7px 9px; border:1px solid #d6e1f1; border-radius:7px; outline:0; color:#1d2b45; background:#fff; font:400 12px "Noto Sans KR", sans-serif; transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease; }.expense-field textarea { min-height:52px; resize:vertical; line-height:18px; }.expense-field input::placeholder, .expense-field textarea::placeholder { color:#a5b0c1; }.expense-field input:focus, .expense-field select:focus, .expense-field textarea:focus { border-color:#5a81ee; background:#fbfdff; box-shadow:0 0 0 3px rgba(81,123,235,.12); }.expense-field:focus-within b { color:#426cda; }

/* Task search */
.meeting-screen { height:1160px; }.meeting-content { min-height:965px; padding-bottom:58px; }.meeting-form { height:auto; min-height:895px; }.module-workspace { height:auto; margin-top:24px; overflow:visible; border:0; }.excel-sheet { width:782px; min-width:782px; background:#fff; }.excel-title,.excel-label,.excel-input,.excel-declaration,.excel-recipient { border-color:#cbd8eb; }.excel-title { color:#264b9f; background:#eef4ff; }.excel-label { color:#29477b; background:#dfeaff; }.excel-input { background:#fbfdff; }.excel-input input,.excel-input select,.excel-input textarea { color:#263852; }.excel-input:focus-within { box-shadow:inset 0 0 0 2px #5179eb; background:#fff; }.excel-declaration { color:#52637e; background:#f5f8fd; }.excel-recipient { color:#425779; }
.module-workspace { overflow:auto; padding:0; border-color:#d7e1ed; border-radius:0; background:#fff; }.expense-workspace { padding:0; }.excel-sheet { position:relative; display:grid; grid-template-columns:16fr 12fr 12fr 12fr 12fr 12fr 11fr 11fr 12fr 12fr 11fr 12fr 12fr 12fr 12fr; grid-template-rows:8px 34px 9px 28px 28px 42px 28px 28px 22px 28px 28px 58px 36px 56px 95px 60px 12px 12px 34px 12px 28px 28px 12px 28px; width:780px; min-width:780px; min-height:678px; color:#111; background:#fff; font-family:"Malgun Gothic", "Noto Sans KR", sans-serif; }.excel-title,.excel-label,.excel-input,.excel-declaration,.excel-recipient { box-sizing:border-box; margin:0; border:1px solid #90a7b8; }.excel-title { grid-column:1 / -1; grid-row:2; display:grid; place-items:center; border-color:#7f9ab0; color:#122d47; background:#eaf2f8; font-size:18px; font-weight:700; letter-spacing:.5px; }.excel-label { display:grid; place-items:center; padding:2px 4px; color:#fff; background:#1f4e78; font-size:11px; font-weight:700; line-height:1.25; text-align:center; }.excel-input { display:block; overflow:hidden; background:#f8fbff; }.excel-input input,.excel-input select,.excel-input textarea { display:block; width:100%; height:100%; padding:4px 7px; border:0; outline:0; color:#1d2b45; background:transparent; font:400 11px "Malgun Gothic", "Noto Sans KR", sans-serif; line-height:1.45; }.excel-input textarea { resize:none; }.excel-input:focus-within { position:relative; z-index:2; box-shadow:inset 0 0 0 2px #4d73ef; background:#fff; }.claim{grid-column:1 / 4;grid-row:4}.claim-value{grid-column:4 / 6;grid-row:4}.resolution{grid-column:6 / 9;grid-row:4}.resolution-value{grid-column:9 / 16;grid-row:4}.project-no{grid-column:1 / 4;grid-row:5}.project-no-value{grid-column:4 / 6;grid-row:5}.department{grid-column:6 / 9;grid-row:5}.department-value{grid-column:9 / 12;grid-row:5}.applicant{grid-column:12 / 14;grid-row:5}.applicant-value{grid-column:14 / 16;grid-row:5}.project-title{grid-column:1 / 4;grid-row:6}.project-title-value{grid-column:4 / 16;grid-row:6}.period{grid-column:1 / 4;grid-row:7}.period-value{grid-column:4 / 6;grid-row:7}.budget{grid-column:6 / 9;grid-row:7}.budget-value{grid-column:9 / 16;grid-row:7}.agency{grid-column:1 / 4;grid-row:8}.agency-value{grid-column:4 / 6;grid-row:8}.program{grid-column:6 / 9;grid-row:8}.program-value{grid-column:9 / 16;grid-row:8}.date{grid-column:1 / 4;grid-row:10}.date-value{grid-column:4 / 9;grid-row:10}.attendees{grid-column:9 / 12;grid-row:10}.attendees-value{grid-column:12 / 16;grid-row:10}.location{grid-column:1 / 4;grid-row:11}.location-value{grid-column:4 / 9;grid-row:11}.amount{grid-column:9 / 12;grid-row:11}.amount-value{grid-column:12 / 16;grid-row:11}.purpose{grid-column:1 / 4;grid-row:12}.purpose-value{grid-column:4 / 9;grid-row:12}.approval-change{grid-column:9 / 12;grid-row:12}.approval-change-value{grid-column:12 / 16;grid-row:12}.internal{grid-column:1 / 4;grid-row:13}.internal-value{grid-column:4 / 16;grid-row:13}.external{grid-column:1 / 4;grid-row:14}.external-value{grid-column:4 / 16;grid-row:14}.content{grid-column:1 / 4;grid-row:15}.content-value{grid-column:4 / 16;grid-row:15}.reason{grid-column:1 / 4;grid-row:16}.reason-value{grid-column:4 / 16;grid-row:16}.excel-declaration{grid-column:1 / -1;grid-row:19;display:grid;place-items:center;color:#111;background:#f3f6f9;font-size:11px;text-align:center}.investigator{grid-column:1 / 4;grid-row:21}.investigator-value{grid-column:4 / 16;grid-row:21}.excel-recipient{grid-column:1 / -1;grid-row:22;display:flex;align-items:center;justify-content:flex-end;padding-right:28px;border:0;color:#1d2b45;font-size:12px;font-weight:700}.issued{grid-column:1 / 4;grid-row:24}.issued-date{grid-column:4 / 12;grid-row:24}.issuer{grid-column:12 / 15;grid-row:24}.issuer-value{grid-column:15 / 16;grid-row:24}.issued-date input{font-size:10px}
.meeting-import-status { min-height:20px; margin:12px 0 0; padding:9px 2px 0; border-top:1px solid #e1e8f4; color:#63718a; font-size:12px; line-height:1.45; }.meeting-import-status.success { color:#237044; }.meeting-import-status.warning { color:#906100; }.meeting-import-status.error { color:#b23c47; }
.meeting-import-status:empty,.expert-import-status:empty { display:none; }
.submission-panel .meeting-import-status,.submission-panel .expert-import-status { position:static; box-sizing:border-box; width:100%; height:auto; min-height:20px; margin:12px 0 0; text-align:left; transform:none; }
.meeting-content { background:#f6f8fc; }.meeting-form,.submission-panel { border-color:#dce5f2; border-radius:16px; box-shadow:0 10px 26px rgba(43,70,115,.06); }.meeting-form { background:#fff; }.meeting-input-heading { position:static; width:auto; height:auto; margin:0 0 25px; color:#17243e; font-size:22px; font-weight:700; letter-spacing:-1px; line-height:1.35; text-align:left; transform:none; }.single-upload > span { color:#1d2c47; font-size:14px; font-weight:700; }.single-upload .upload-box { height:118px; border-color:#8eacff; border-radius:12px; background:#f5f8ff; }.single-upload .upload-box strong { border-radius:9px; }.expense-workspace { margin-top:28px; padding-top:18px; border-top:1px solid #e5ebf5; }.submission-panel h2 { color:#17243e; }.check-list li { color:#7887a1; }.check-list li.done { color:#263751; }.progress { border-color:#dfe6f1; }
.expense-workspace .excel-sheet { grid-template-rows:8px 34px 9px 28px 42px 22px 28px 28px 58px 36px 56px 95px 60px 12px 12px 34px 12px 28px 28px 12px 28px; }.expense-workspace .project-no,.expense-workspace .project-no-value,.expense-workspace .department,.expense-workspace .department-value,.expense-workspace .applicant,.expense-workspace .applicant-value { grid-row:4; }.expense-workspace .project-title,.expense-workspace .project-title-value { grid-row:5; }.expense-workspace .date,.expense-workspace .date-value,.expense-workspace .attendees,.expense-workspace .attendees-value { grid-row:7; }.expense-workspace .location,.expense-workspace .location-value,.expense-workspace .amount,.expense-workspace .amount-value { grid-row:8; }.expense-workspace .purpose,.expense-workspace .purpose-value,.expense-workspace .approval-change,.expense-workspace .approval-change-value { grid-row:9; }.expense-workspace .internal,.expense-workspace .internal-value { grid-row:10; }.expense-workspace .external,.expense-workspace .external-value { grid-row:11; }.expense-workspace .content,.expense-workspace .content-value { grid-row:12; }.expense-workspace .reason,.expense-workspace .reason-value { grid-row:13; }.expense-workspace .excel-declaration { grid-row:16; }.expense-workspace .investigator,.expense-workspace .investigator-value { grid-row:18; }.expense-workspace .excel-recipient { grid-row:19; }.expense-workspace .issued,.expense-workspace .issued-date,.expense-workspace .issuer,.expense-workspace .issuer-value { grid-row:21; }
.excel-title { position:relative; }.meeting-update-button { position:absolute; top:3px; right:10px; width:80px; height:28px; border:1px solid #4771f5; border-radius:8px; color:#4771f5; background:#fff; font:600 12px "Noto Sans KR",sans-serif; cursor:pointer; }.meeting-update-button:hover { color:#fff; background:#4d73ef; }
.project-match-dialog { position:fixed; z-index:1100; inset:0; display:grid; place-items:center; padding:18px; background:rgba(17,29,48,.48); backdrop-filter:blur(3px); }.project-match-dialog[hidden] { display:none; }.project-match-card { width:min(440px, calc(100vw - 36px)); max-height:calc(100vh - 36px); padding:19px; overflow:auto; border:1px solid #dce5f2; border-radius:14px; background:#fff; box-shadow:0 18px 48px rgba(19,36,68,.22); }.project-match-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }.project-match-card header span { display:block; color:#4b73dc; font-size:10px; font-weight:800; }.project-match-card h2 { margin:4px 0 0; color:#17243a; font-size:18px; letter-spacing:-.8px; }.project-match-close { width:30px; height:30px; padding:0; border:0; border-radius:7px; color:#718097; background:#f1f4f8; font:400 23px/1 Arial,sans-serif; cursor:pointer; }.project-match-card > p { margin:10px 0; color:#68768b; font-size:11px; line-height:1.5; }.project-match-options { display:grid; gap:6px; }.project-match-option { width:100%; padding:9px 11px; border:1px solid #dce4f0; border-radius:8px; color:#26364e; background:#fff; text-align:left; cursor:pointer; }.project-match-option:hover,.project-match-option:focus-visible { border-color:#4d73ef; background:#f3f6ff; outline:0; }.project-match-option small { display:block; color:#7588aa; font-size:9px; font-weight:700; }.project-match-option b { display:block; margin-top:2px; color:#263b61; font:600 11px "Noto Sans KR",sans-serif; line-height:1.4; }
.expert-excel-sheet { box-sizing:border-box; }
.expert-import-status { min-height:20px; margin:12px 0 0; padding:9px 2px 0; border-top:1px solid #e1e8f4; color:#63718a; font-size:12px; line-height:1.45; }.expert-import-status.success { color:#237044; }.expert-import-status.warning { color:#906100; }.expert-import-status.error { color:#b23c47; }
.submission-panel.hidden { display:none; }
.single-upload.hidden,.expert-workspace.hidden { display:none; }
.meeting-intake.hidden { display:none; }
.expense-workspace .project-no-value { grid-column:4 / 16; }

/* Meeting expense reference layout: keep the automatic Excel sheet below the two evidence areas. */
.meeting-screen { height:1780px; }
.meeting-content { min-height:1585px; padding-bottom:92px; }
.meeting-form { min-height:1510px; }
.meeting-intake { display:block; }
.meeting-project-picker { display:block; color:#162340; font-size:14px; font-weight:700; }
.meeting-project-picker select { display:block; width:100%; height:54px; margin-top:10px; padding:0 16px; border:1px solid #d7e0ed; border-radius:10px; outline:0; color:#7d8ba5; background:#fff; font:400 15px "Noto Sans KR",sans-serif; }
.meeting-intake .evidence-method { margin-top:20px; }
.meeting-intake .upload-field { margin-top:20px; }
.meeting-intake .single-upload { margin-top:20px; }
.meeting-intake .upload-box { width:100%; height:145px; }
.meeting-intake .upload-box i { top:47px; }
.meeting-intake .upload-box b { top:51px; }
.meeting-intake .upload-box em { top:75px; }
.meeting-intake .upload-box strong { top:49px; }
.meeting-intake .reference-upload input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }

/* Meeting expense: Excel-first intake layout */
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.meeting-screen { height:1640px; }
.meeting-content { min-height:1445px; padding-bottom:72px; align-items:flex-start; }
.meeting-form { min-height:1385px; padding:28px 28px 34px; }
.meeting-input-heading { display:none; }
.meeting-intake { margin:0; }
.meeting-upload-row { display:grid; grid-template-columns:245px 1fr; gap:14px; align-items:stretch; }
.template-card { display:flex; align-items:center; gap:7px; min-width:0; padding:15px 10px; border:1px solid #d9e3f1; border-radius:13px; background:#fff; }
.template-card > i { display:grid; flex:0 0 auto; place-items:center; width:30px; height:34px; font-style:normal; }
.template-card > i img { display:block; width:29px; height:33px; object-fit:contain; }
.template-card > div { display:grid; min-width:0; gap:2px; }
.template-card b { color:#22304a; font-size:12px; font-weight:700; white-space:nowrap; }
.template-card small { overflow:hidden; color:#7a89a2; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.template-download { flex:0 0 66px; height:32px; margin-left:8px; padding:0 4px; border:1px solid #d7e1ef; border-radius:8px; color:#34425b; background:#fff; font:600 10px "Noto Sans KR",sans-serif; letter-spacing:-.6px; white-space:nowrap; cursor:pointer; }
.meeting-upload-box { width:auto !important; height:auto !important; min-height:84px; margin:0 !important; border-style:solid !important; border-color:#d9e3f1 !important; background:#fff !important; }
.meeting-upload-box i { top:24px !important; left:24px !important; width:35px !important; height:35px !important; background:#f4f7ff !important; }
.meeting-upload-box i img { width:21px !important; height:21px !important; }
.meeting-upload-box > span { position:absolute; top:20px; right:166px; left:74px; display:grid; gap:4px; min-width:0; }
.meeting-upload-box b { position:static !important; color:#25334b !important; font-size:13px !important; }
.meeting-upload-box em { position:static !important; color:#7b89a2 !important; font-size:11px !important; line-height:1.35; white-space:normal; }
.meeting-upload-box strong { top:19px !important; right:10px !important; width:145px !important; height:46px !important; border:0 !important; border-radius:11px !important; color:#fff !important; background:#4d73e9 !important; font-size:13px !important; }
.meeting-upload-box.has-file { border-color:#6d8df0 !important; background:#f7f9ff !important; }
.meeting-evidence-upload-box { grid-column:2; }
.meeting-upload-row .evidence-method { grid-column:1; grid-row:2; display:flex; align-items:center; margin:0; padding:15px 10px; border:1px solid #d9e3f1; border-radius:13px; background:#fff; }.meeting-upload-row .evidence-method legend { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }.meeting-upload-row .method-options { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); width:100%; gap:6px; margin:0; }.meeting-upload-row .method { width:100%; height:42px; min-width:0; padding:0 3px; border:1px solid #d7e1ef; border-radius:8px; color:#3a4a66; background:#fff; font:700 11px "Noto Sans KR",sans-serif; letter-spacing:-.5px; white-space:nowrap; }.meeting-upload-row .method.active { border-color:#4d73e9; color:#fff; background:#4d73e9; box-shadow:none; }
.expense-workspace { margin-top:16px; padding-top:0; border:1px solid #dbe4f1; border-radius:15px; background:#fff; overflow:visible; }
.expense-workspace .excel-sheet { display:grid; grid-template-columns:135px minmax(0,1.55fr) 120px minmax(0,.85fr); grid-template-rows:54px 46px 46px 46px 46px 46px 46px 64px 84px 125px 92px 42px 46px 46px 46px; width:100%; min-width:0; min-height:0; gap:0; padding:12px 26px 22px; border:0; background:#fff; font-family:"Noto Sans KR",sans-serif; }
.expense-workspace .excel-title { grid-column:1 / -1; grid-row:1; display:flex; align-items:center; justify-content:center; margin:0 0 7px; border:1px solid #d6e2f5; border-radius:10px; color:#173b79; background:#eef4ff; font-size:24px; font-weight:800; letter-spacing:-1.4px; box-shadow:0 2px 8px rgba(56,91,151,.08); }
.expense-workspace .excel-label { display:flex; align-items:center; justify-content:center; margin:4px 10px 4px 0; padding:0 8px; border:1px solid #1e2c49; border-radius:7px; color:#1c273b; background:#f7f9fe; font-size:14px; font-weight:700; text-align:center; }
.expense-workspace .excel-input { min-width:0; margin:4px 0; border:1px solid #1e2c49; border-radius:7px; background:#fff; }
.expense-workspace .excel-input input,.expense-workspace .excel-input select,.expense-workspace .excel-input textarea { padding:8px 14px; color:#26364f; font:400 14px "Noto Sans KR",sans-serif; }
.expense-workspace .excel-input input::placeholder,.expense-workspace .excel-input textarea::placeholder { color:#99a5b9; }
.expense-workspace .excel-input:focus-within { box-shadow:0 0 0 2px rgba(77,115,233,.18); }
.expense-workspace .project-no,.expense-workspace .project-no-value { grid-row:2; }.expense-workspace .project-title,.expense-workspace .project-title-value { grid-row:3; }.expense-workspace .date,.expense-workspace .date-value { grid-row:4; }.expense-workspace .attendees,.expense-workspace .attendees-value { grid-row:4; }.expense-workspace .location,.expense-workspace .location-value { grid-row:5; }.expense-workspace .amount,.expense-workspace .amount-value { grid-row:5; }.expense-workspace .purpose,.expense-workspace .purpose-value { grid-row:6; }.expense-workspace .approval-change,.expense-workspace .approval-change-value { grid-row:7; }.expense-workspace .internal,.expense-workspace .internal-value { grid-row:8; }.expense-workspace .external,.expense-workspace .external-value { grid-row:9; }.expense-workspace .content,.expense-workspace .content-value { grid-row:10; }.expense-workspace .reason,.expense-workspace .reason-value { grid-row:11; }
.expense-workspace .project-no,.expense-workspace .project-title,.expense-workspace .purpose,.expense-workspace .approval-change,.expense-workspace .internal,.expense-workspace .external,.expense-workspace .content,.expense-workspace .reason { grid-column:1; }.expense-workspace .project-no-value,.expense-workspace .project-title-value,.expense-workspace .purpose-value,.expense-workspace .approval-change-value,.expense-workspace .internal-value,.expense-workspace .external-value,.expense-workspace .content-value,.expense-workspace .reason-value { grid-column:2 / 5; }.expense-workspace .date,.expense-workspace .location { grid-column:1; }.expense-workspace .date-value,.expense-workspace .location-value { grid-column:2; }.expense-workspace .attendees,.expense-workspace .amount { grid-column:3; }.expense-workspace .attendees-value,.expense-workspace .amount-value { grid-column:4; }
.expense-workspace .attendees,.expense-workspace .amount { margin-left:10px; }
.expense-workspace .purpose-value { min-height:0; }.expense-workspace .internal-value { min-height:56px; }.expense-workspace .external-value { min-height:76px; }.expense-workspace .content-value { min-height:117px; }.expense-workspace .reason-value { min-height:84px; }
.refund-account-heading { grid-column:1 / -1; grid-row:12; display:flex; align-items:center; gap:9px; margin:6px 0 2px; padding:0 12px; border:1px solid #d6e2f5; border-radius:8px; color:#274779; background:#f3f7ff; }.refund-account-heading strong { font-size:14px; font-weight:800; }.refund-account-heading span { color:#70809a; font-size:11px; }.expense-workspace .refund-holder,.expense-workspace .refund-holder-value { grid-row:13; }.expense-workspace .refund-bank,.expense-workspace .refund-bank-value { grid-row:14; }.expense-workspace .refund-account,.expense-workspace .refund-account-value { grid-row:15; }.expense-workspace .refund-holder,.expense-workspace .refund-bank,.expense-workspace .refund-account { grid-column:1; }.expense-workspace .refund-holder-value,.expense-workspace .refund-bank-value,.expense-workspace .refund-account-value { grid-column:2 / 5; }
.refund-account-only[hidden] { display:none !important; }
.expense-workspace .excel-declaration,.expense-workspace .investigator,.expense-workspace .investigator-value,.expense-workspace .excel-recipient,.expense-workspace .issued,.expense-workspace .issued-date,.expense-workspace .issuer,.expense-workspace .issuer-value { display:none; }
.meeting-update-button { top:7px; right:10px; width:92px; height:34px; border-radius:8px; box-shadow:0 1px 3px rgba(43,75,138,.12); }
.submission-panel { width:314px; height:auto; min-height:755px; padding:24px 20px; }
.submission-panel h2 { font-size:21px; }
.uploaded-file { margin:16px 0 9px; padding:11px 12px 11px 35px; overflow:hidden; border:1px solid #dbe4f1; border-radius:8px; color:#53627b; font-size:12px; text-overflow:ellipsis; white-space:nowrap; background:#fff; }
.uploaded-file::before { content:"▣"; position:absolute; margin-left:-22px; color:#36a160; font-size:17px; }
.extract-summary { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:18px; padding-bottom:10px; border-bottom:1px solid #e0e7f2; }
.extract-summary span { display:grid; place-items:center; gap:2px; min-height:52px; border:1px solid #dce4f0; border-radius:9px; color:#6f7f99; font-size:10px; }
.extract-summary b { color:#4c73ef; font-size:19px; line-height:1; }
.direct-fields { margin-top:13px; }.direct-fields > div { display:flex; justify-content:space-between; color:#26344d; font-size:12px; }.direct-fields strong { color:#4d73ef; font-size:11px; }.direct-fields ol { display:grid; gap:3px; max-height:257px; margin:9px 0 0; padding:9px; overflow:auto; border:1px solid #edf1f7; border-radius:9px; list-style:none; counter-reset:item; }.direct-fields li { counter-increment:item; display:flex; align-items:center; gap:8px; min-height:20px; color:#45546b; font-size:11px; }.direct-fields li::before { content:counter(item); display:grid; place-items:center; width:18px; height:18px; border:1px solid #d8e1ef; border-radius:50%; color:#7d8ba1; font-size:10px; }
.submission-panel .progress { margin-top:14px; padding-top:13px; }.submission-panel .progress span { width:100%; height:7px; margin-top:9px; }.start-submit,.save-draft { width:100%; height:43px; }.start-submit { margin-top:15px; }.save-draft { margin-top:10px; }.submission-panel .meeting-import-status,.submission-panel .expert-import-status { margin-top:12px; font-size:11px; }
@media (max-width: 900px) { .meeting-upload-row { grid-template-columns:1fr; }.meeting-evidence-upload-box { grid-column:auto; }.expense-workspace .excel-sheet { grid-template-columns:112px minmax(0,1fr); }.expense-workspace .date,.expense-workspace .location,.expense-workspace .attendees,.expense-workspace .amount { grid-column:1; }.expense-workspace .date-value,.expense-workspace .location-value,.expense-workspace .attendees-value,.expense-workspace .amount-value { grid-column:2; }.expense-workspace .attendees,.expense-workspace .attendees-value { grid-row:5; }.expense-workspace .location,.expense-workspace .location-value { grid-row:6; }.expense-workspace .amount,.expense-workspace .amount-value { grid-row:7; } }
.expense-workspace { margin-top:30px; padding-top:24px; }
.expert-excel-sheet { width:780px; min-width:780px; padding:20px; color:#17243b; background:#fff; font-family:"Malgun Gothic","Noto Sans KR",sans-serif; }.expert-sheet-title { padding:14px; border:1px solid #7e98b0; color:#122d47; background:#eaf2f8; font-size:19px; font-weight:700; text-align:center; }.expert-sheet-title small { display:block; margin-top:4px; color:#506880; font-size:11px; font-weight:400; }.expert-basic-grid,.expert-detail-grid { display:grid; grid-template-columns:repeat(6,1fr); margin-top:13px; border-top:1px solid #90a7b8; border-left:1px solid #90a7b8; }.expert-basic-grid label,.expert-detail-grid label { display:flex; align-items:center; min-height:35px; border-right:1px solid #90a7b8; border-bottom:1px solid #90a7b8; color:#29477b; background:#dfeaff; font-size:11px; font-weight:700; text-align:center; }.expert-basic-grid label:nth-child(1),.expert-basic-grid label:nth-child(2) { grid-column:span 3; }.expert-basic-grid label:nth-child(3),.expert-basic-grid label:nth-child(4),.expert-basic-grid label:nth-child(5) { grid-column:span 2; }.expert-basic-grid label:nth-child(6),.expert-full { grid-column:1 / -1; }.expert-basic-grid label:nth-child(7),.expert-basic-grid label:nth-child(8),.expert-basic-grid label:nth-child(9),.expert-basic-grid label:nth-child(10) { grid-column:span 3; }.expert-detail-grid label { grid-column:span 3; }.expert-basic-grid input,.expert-detail-grid input,.expert-detail-grid textarea,.expert-signature input { flex:1; align-self:stretch; min-width:0; padding:6px 8px; border:0; border-left:1px solid #90a7b8; outline:0; color:#1d2b45; background:#fbfdff; font:400 11px "Malgun Gothic","Noto Sans KR",sans-serif; }.expert-detail-grid textarea { min-height:54px; resize:vertical; }.expert-basic-grid label:focus-within,.expert-detail-grid label:focus-within { position:relative; z-index:1; box-shadow:inset 0 0 0 2px #5669cc; }
.expert-payment-section { margin-top:13px; }.expert-payment-section h3 { margin:0; padding:8px 10px; border:1px solid #90a7b8; border-bottom:0; color:#fff; background:#1f4e78; font-size:12px; }.expert-table-wrap { overflow:auto; border:1px solid #90a7b8; }.expert-payment-table { width:100%; min-width:720px; border-collapse:collapse; table-layout:fixed; }.expert-payment-table th { padding:6px 3px; border-right:1px solid #90a7b8; border-bottom:1px solid #90a7b8; color:#29477b; background:#dfeaff; font-size:10px; line-height:1.35; }.expert-payment-table td { height:35px; padding:0; border-right:1px solid #90a7b8; }.expert-payment-table td input { width:100%; height:100%; padding:4px; border:0; outline:0; color:#1d2b45; background:#fbfdff; font:400 10px "Malgun Gothic","Noto Sans KR",sans-serif; }.expert-payment-table td:focus-within { box-shadow:inset 0 0 0 2px #5669cc; }.expert-payment-table .expert-travel-row { height:auto; padding:8px; border-top:1px solid #90a7b8; color:#607089; background:#f5f8fd; font-size:10px; text-align:center; }.expert-declaration { margin:13px 0 0; padding:12px; border:1px solid #90a7b8; color:#52637e; background:#f5f8fd; font-size:11px; text-align:center; }.expert-signature { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:13px 8px 0; font-size:12px; font-weight:700; }.expert-signature label { display:flex; align-items:center; gap:8px; }.expert-signature input { width:155px; height:30px; border:1px solid #90a7b8; }
.task-search-popover { position:absolute; z-index:5; top:67px; right:68px; width:278px; overflow:hidden; border:1px solid #dbe4f4; border-radius:12px; background:#fff; box-shadow:0 13px 28px rgba(45,67,108,.16); }.search-field { display:flex; align-items:center; height:45px; padding:0 12px; border-bottom:1px solid #edf1f6; }.search-field img { width:16px; height:16px; margin-right:9px; }.search-field input { flex:1; min-width:0; border:0; outline:0; color:#253652; background:transparent; font:500 12px "Noto Sans KR", sans-serif; }.search-field input::placeholder { color:#a1adbd; }.close-search { width:24px; height:24px; padding:0; border:0; border-radius:5px; color:#78879d; background:transparent; font-size:21px; line-height:1; cursor:pointer; }.close-search:hover { color:#3d69dc; background:#f2f6ff; }.task-search-results { max-height:250px; overflow-y:auto; padding:5px; }.task-search-result { display:flex; align-items:center; width:100%; min-height:36px; padding:0 10px; border:0; border-radius:7px; color:#33425a; background:#fff; font:500 12px "Noto Sans KR", sans-serif; text-align:left; cursor:pointer; }.task-search-result:hover, .task-search-result:focus-visible { color:#315ed5; background:#f2f6ff; outline:0; }.task-search-empty { display:block; padding:16px 10px; color:#98a5b7; font-size:12px; text-align:center; }
.search-field input[type="search"]::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }

/* AIRA design standard v1.0.0 — meeting-detail form controls. */
.meeting-screen, .meeting-screen button, .meeting-screen input, .meeting-screen select, .meeting-screen textarea { font-family:var(--aira-font-sans); }
.meeting-screen { color:var(--aira-color-text-primary); background:var(--aira-color-surface); }
.meeting-heading h1 { color:var(--aira-color-text-primary); font-size:32px; font-weight:700; }
.meeting-heading p { color:var(--aira-color-text-secondary); font-size:16px; font-weight:400; }
.meeting-content { background:var(--aira-color-canvas); }
.meeting-form, .submission-panel { border-color:var(--aira-color-border); border-radius:var(--aira-radius-card); box-shadow:0 4px 14px rgba(10,31,68,.04); }
.expense-workspace .excel-title { color:var(--aira-color-text-primary); border-color:var(--aira-color-border); border-radius:var(--aira-radius-control); background:var(--aira-color-surface); box-shadow:none; font-size:22px; font-weight:500; }
.expense-workspace .excel-label { margin-right:8px; border-color:var(--aira-color-border); border-radius:var(--aira-radius-input); color:var(--aira-color-text-primary); background:var(--aira-color-surface-subtle); font-size:15px; font-weight:500; }
.expense-workspace .excel-input { border-color:var(--aira-color-border); border-radius:var(--aira-radius-input); background:var(--aira-color-surface); }
.expense-workspace .excel-input input, .expense-workspace .excel-input select, .expense-workspace .excel-input textarea { min-height:var(--aira-height-input); padding:8px 14px; color:var(--aira-color-text-primary); font-family:var(--aira-font-sans); font-size:14px; font-weight:400; }
.expense-workspace .excel-input input::placeholder, .expense-workspace .excel-input textarea::placeholder { color:var(--aira-color-placeholder); }
.expense-workspace .excel-input:focus-within { box-shadow:inset 0 0 0 2px rgba(0,113,227,.18); }
.meeting-upload-box strong, .meeting-upload-row .method.active, .start-submit:not(:disabled), .meeting-update-button:hover { background:var(--aira-color-primary) !important; }
.meeting-upload-box strong, .meeting-upload-row .method.active { border-color:var(--aira-color-primary) !important; }
.meeting-upload-row .method { border-radius:var(--aira-radius-control); font-weight:500; }
.start-submit, .save-draft { height:44px; border-radius:var(--aira-radius-control); }
.start-submit { background:var(--aira-color-primary-disabled); }
.save-draft { border-color:var(--aira-color-border); color:var(--aira-color-text-primary); }
.progress strong, .extract-summary b, .direct-fields strong { color:var(--aira-color-primary); }
.progress i { background:var(--aira-color-primary); }
.meeting-import-status.success { color:var(--aira-color-success); }

.meeting-screen::before { content:""; position:absolute; z-index:0; top:0; left:0; width:1440px; height:54px; background:#fff; }
.back-to-work,.meeting-heading,.meeting-content { z-index:1; }
.template-download { font-size:20px !important; }
.template-download::after,.meeting-upload-box strong::before { content:none !important; }

/* The lower form has three different row geometries in Figma; preserve each
   width explicitly instead of letting the shared grid distribute it. */
.expense-workspace .date-value,.expense-workspace .location-value { width:378px; }
.expense-workspace .meeting-time,.expense-workspace .purpose { grid-column:5 / 9; width:66px; }
.expense-workspace .meeting-time-value,.expense-workspace .purpose-value { grid-column:5 / 9; width:388px; margin-left:66px; }
.expense-workspace .content,.expense-workspace .internal,.expense-workspace .external { grid-column:1 / 3; width:112px; }
.expense-workspace .content-value { grid-column:2 / 9; width:816px; min-height:60px; margin-left:36px; }
.expense-workspace .internal-value,.expense-workspace .external-value { grid-column:2 / 9; width:816px; min-height:42px; margin-left:36px; }
.expense-workspace .content-value textarea,.expense-workspace .external-value textarea { height:100%; min-height:0; padding:10px 14px; resize:none; }

/* Stable row layout for the meeting form shown in Figma 446:920. */
.expense-workspace .excel-sheet { display:flex; flex-direction:column; gap:20px; width:928px; padding:0; }
.expense-workspace .excel-title { position:relative; display:flex; flex:0 0 44px; align-items:center; justify-content:center; width:928px; }
.meeting-form-row { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:center; gap:0; width:928px; min-height:42px; }
.meeting-form-row > label { color:#111; font-size:16px; font-weight:500; white-space:nowrap; }
.meeting-form-row > input,.meeting-form-row > textarea { width:100%; height:42px; min-width:0; padding:0 14px; border:1px solid #dce5f0; border-radius:6px; outline:0; color:#111; background:#fff; font:400 14px var(--aira-font-sans); }
.meeting-form-row > textarea { height:42px; padding:9px 14px; resize:none; }
.meeting-form-row--triple { grid-template-columns:96px 230px 44px 170px 44px 184px; column-gap:12px; }
.meeting-form-row--pair { grid-template-columns:96px 290px 44px 1fr; column-gap:12px; }
.meeting-form-row--schedule { grid-template-columns:96px 220px 72px 160px 72px minmax(0,1fr); column-gap:12px; }
.meeting-form-row--tall { min-height:60px; }.meeting-form-row--tall > textarea { height:60px; }
.expense-workspace { height:auto; min-height:566px; }
.refund-fields { display:flex; flex-direction:column; gap:20px; width:928px; }
.refund-account-heading { display:flex; align-items:center; gap:9px; width:928px; height:42px; margin:0; padding:0 12px; border:1px solid #dce5f0; border-radius:8px; color:#111; background:#f7f9fc; }
.refund-account-heading strong { font-size:14px; font-weight:700; }.refund-account-heading span { color:#71809a; font-size:12px; }

/* Figma 446:920 — meeting expense desktop screen. */
.meeting-screen { width:1440px; height:1320px; overflow:visible; transform:translateX(-50%) scale(var(--meeting-scale,1)); transform-origin:top center; background:var(--aira-color-canvas); }
html.meeting-active,body.meeting { background:var(--aira-color-canvas); }
.back-to-work { top:0; left:48px; display:flex; align-items:center; gap:12px; height:54px; padding:0; color:#111; background:transparent; font-size:14px; font-weight:500; }
.meeting-heading { top:78px; left:44px; }.meeting-heading h1 { font-size:32px; line-height:44px; }.meeting-heading p { margin-top:8px; line-height:26px; }
.meeting-content { top:170px; left:44px; display:flex; gap:20px; width:1352px; min-height:794px; padding:0; background:transparent; }
.meeting-form { width:984px; min-height:794px; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.meeting-intake { margin:0; }.meeting-upload-row { display:grid; grid-template-columns:348px 620px; grid-template-rows:104px 92px; gap:16px; width:984px; }.template-card,.meeting-upload-box,.meeting-upload-row .evidence-method { width:auto; height:auto; min-height:0; margin:0; border-color:#dce5f0; border-radius:14px; background:#fff; }.template-card { padding:20px 24px; gap:14px; }.template-card > i { width:36px; height:36px; }.template-card > i img { width:36px; height:36px; }.template-card b,.meeting-upload-box b { color:#111 !important; font-size:14px !important; font-weight:500; }.template-card small,.meeting-upload-box em { color:#71809a !important; font-size:12px !important; }.template-download { width:44px; height:44px; margin-left:auto; border-color:#dce5f0; border-radius:8px; font-size:0; }.template-download::after { content:'↓'; color:#111; font-size:20px; }.meeting-upload-box { display:flex; align-items:center; padding:20px; gap:18px; }.meeting-upload-box i { position:static !important; flex:0 0 56px; width:56px !important; height:56px !important; border:1px solid #dce5f0; border-radius:10px; background:#fff !important; }.meeting-upload-box > span { position:static; display:grid; flex:1; gap:4px; }.meeting-upload-box strong { position:static !important; flex:0 0 136px; width:136px !important; height:46px !important; border:1px solid #dce5f0 !important; border-radius:8px !important; color:#111 !important; background:#fff !important; font-size:14px !important; }.meeting-upload-box strong::before { content:'엑셀 '; }.meeting-evidence-upload-box { grid-column:2; }.meeting-evidence-upload-box strong { flex-basis:112px; width:112px !important; }.meeting-evidence-upload-box strong::before { content:''; }.meeting-upload-row .evidence-method { grid-column:1; grid-row:2; padding:20px; }.meeting-upload-row .method-options { gap:8px; }.meeting-upload-row .method { height:48px; border-color:#dce5f0; border-radius:8px; color:#111; font-size:14px; font-weight:500; }.meeting-upload-row .method.active { background:#0071e3 !important; }
.expense-workspace { width:984px; height:566px; margin-top:20px; padding:20px 28px 38px; border:1px solid #dce5f0; border-radius:16px; background:#fff; }.expense-workspace .excel-sheet { grid-template-columns:76px 308px 20px 48px 200px 20px 48px 208px; grid-template-rows:44px repeat(4,42px) 60px repeat(2,42px); gap:20px 0; width:928px; height:auto; padding:0; background:transparent; }.expense-workspace .excel-title { grid-row:1; margin:0; border:0; background:transparent; font-size:24px; font-weight:700; }.meeting-update-button { top:0; right:0; width:104px; height:44px; border-color:#0071e3; border-radius:8px; color:#0071e3; font-size:14px; font-weight:500; }.expense-workspace .excel-label { margin:0; padding:0; border:0; background:transparent; justify-content:flex-start; color:#111; font-size:18px; font-weight:500; }.expense-workspace .excel-input { margin:0; border-color:#dce5f0; border-radius:6px; }.expense-workspace .excel-input input,.expense-workspace .excel-input textarea { padding:0 14px; }.expense-workspace .project-no { grid-column:1; grid-row:2; }.expense-workspace .project-no-value { grid-column:2; grid-row:2; }.expense-workspace .affiliation { grid-column:4; grid-row:2; }.expense-workspace .affiliation-value { grid-column:5; grid-row:2; }.expense-workspace .applicant-name { grid-column:7; grid-row:2; }.expense-workspace .applicant-name-value { grid-column:8; grid-row:2; }.expense-workspace .project-title { grid-column:1; grid-row:3; }.expense-workspace .project-title-value { grid-column:2 / 9; grid-row:3; }.expense-workspace .date { grid-column:1; grid-row:4; }.expense-workspace .date-value { grid-column:2 / 5; grid-row:4; }.expense-workspace .meeting-time { grid-column:5; grid-row:4; }.expense-workspace .meeting-time-value { grid-column:6 / 9; grid-row:4; }.expense-workspace .location { grid-column:1; grid-row:5; }.expense-workspace .location-value { grid-column:2 / 5; grid-row:5; }.expense-workspace .purpose { grid-column:5; grid-row:5; }.expense-workspace .purpose-value { grid-column:6 / 9; grid-row:5; }.expense-workspace .content { grid-column:1; grid-row:6; }.expense-workspace .content-value { grid-column:2 / 9; grid-row:6; }.expense-workspace .internal { grid-column:1; grid-row:7; }.expense-workspace .internal-value { grid-column:2 / 9; grid-row:7; }.expense-workspace .external { grid-column:1; grid-row:8; }.expense-workspace .external-value { grid-column:2 / 9; grid-row:8; }
.submission-panel { width:348px; min-height:384px; height:384px; padding:20px; border-color:#dce5f0; border-radius:18px; box-shadow:none; }.submission-panel h2 { color:#111; font-size:20px; font-weight:700; }.direct-fields { display:none; }.uploaded-file { height:44px; margin:10px 0 0; border-color:#dce5f0; border-radius:8px; }.extract-summary { gap:10px; margin-top:8px; padding:0; border:0; }.extract-summary span { min-height:68px; border-color:#dce5f0; border-radius:8px; font-size:13px; }.extract-summary b { color:#0071e3; font-size:24px; }.submission-panel .progress { margin-top:10px; padding-top:10px; border-top:1px solid #e5eaf0; }.submission-panel .progress span { height:12px; margin-top:8px; background:#edf1f5; }.start-submit,.save-draft { height:44px; border-radius:8px; }.start-submit { margin-top:10px; }.save-draft { margin-top:8px; }.submission-panel .meeting-import-status,.submission-panel .expert-import-status { display:none; }

.delete-account-button { position:absolute; bottom:32px; left:50%; padding:3px 7px; border:0; color:#c84b4b; background:transparent; font:500 10px "Noto Sans KR", sans-serif; text-decoration:underline; transform:translateX(-50%); cursor:pointer; opacity:.82; }
.delete-account-button:hover,.delete-account-button:focus-visible { color:#a82727; opacity:1; outline:0; }
.project-detail-dialog { position:fixed; z-index:1050; inset:0; display:grid; place-items:center; padding:24px; background:rgba(17,29,48,.48); backdrop-filter:blur(3px); }
.project-detail-dialog[hidden] { display:none; }
.project-detail-card { width:min(760px, calc(100vw - 48px)); max-height:calc(100vh - 48px); padding:30px; overflow:auto; border:1px solid #dce5f2; border-radius:20px; background:#fff; box-shadow:0 24px 70px rgba(19,36,68,.25); }
.project-detail-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.project-detail-card > header span { display:block; color:#4b73dc; font-size:13px; font-weight:800; }
.project-detail-card h2 { max-width:650px; margin:8px 0 0; color:#17243a; font-size:28px; letter-spacing:-1.5px; line-height:1.35; }
.project-detail-close { flex:0 0 auto; width:40px; height:40px; padding:0; border:0; border-radius:11px; color:#718097; background:#f1f4f8; font:400 29px/1 Arial,sans-serif; cursor:pointer; }
.project-detail-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:26px 0 0; }
.project-detail-fields > div { min-width:0; padding:17px 19px; border:1px solid #dbe4f1; border-radius:13px; background:#f8faff; }
.project-detail-fields .project-number-field { grid-column:1 / -1; }
.project-detail-fields dt { color:#8190a6; font-size:12px; font-weight:700; }
.project-detail-fields dd { margin:7px 0 0; overflow-wrap:anywhere; color:#34445f; font-size:16px; font-weight:700; }
.project-participants { margin-top:27px; }
.project-participants-heading { display:flex; align-items:center; min-height:35px; padding-bottom:11px; border-bottom:1px solid #dfe6f0; }
.project-participants-heading h3 { margin:0; color:#28384f; font-size:18px; letter-spacing:-.7px; }
.project-participants-heading span { margin-left:auto; color:#4c73dc; font-size:14px; font-weight:800; }
.project-participants-heading button { margin-left:12px; padding:7px 10px; border:1px solid #d5e0f1; border-radius:8px; color:#4c73dc; background:#fff; font:700 11px "Noto Sans KR",sans-serif; cursor:pointer; }
.project-participants-heading button:disabled { cursor:wait; opacity:.55; }
.project-detail-card .project-participant-sync { position:static; width:auto; height:auto; margin:10px 0 0; color:#7585a0; font-size:11px; line-height:17px; text-align:right; transform:none; }
.project-participant-list { display:grid; gap:8px; margin-top:13px; }
.project-participant-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,auto); gap:14px; align-items:center; min-height:48px; padding:11px 15px; border:1px solid #e3e9f2; border-radius:10px; color:#33445e; background:#fff; }
.project-participant-item > div { display:grid; gap:3px; min-width:0; }
.project-participant-item b { font-size:14px; }
.project-participant-item small { color:#8794a8; font-size:11px; }
.project-participant-item span { color:#76849a; font-size:12px; text-align:right; }
.project-participant-empty { padding:30px 12px; color:#8a97aa; font-size:13px; text-align:center; }
@media (max-width:640px) { .project-detail-dialog{padding:14px}.project-detail-card{width:100%;max-height:calc(100vh - 28px);padding:22px}.project-detail-card h2{font-size:23px}.project-detail-fields{grid-template-columns:1fr}.project-detail-fields .project-number-field{grid-column:auto}.project-participant-item{grid-template-columns:1fr}.project-participant-item span{text-align:left} }
.account-delete-dialog { position:fixed; z-index:1100; inset:0; display:grid; place-items:center; padding:24px; background:rgba(17,29,48,.5); backdrop-filter:blur(3px); }
.account-delete-dialog[hidden] { display:none; }
.account-delete-card { width:min(430px, calc(100vw - 48px)); padding:27px; border:1px solid #eadcdc; border-radius:17px; background:#fff; box-shadow:0 24px 70px rgba(42,22,22,.24); }
.account-delete-card h2 { margin:0; color:#b33636; font-size:23px; letter-spacing:-.8px; }
.account-delete-card > p { position:static; width:auto; height:auto; margin:12px 0 20px; color:#667386; font-size:13px; line-height:21px; text-align:left; transform:none; }
.account-delete-card label { display:block; margin-bottom:7px; color:#354259; font-size:13px; font-weight:700; }
.account-delete-card input { width:100%; height:45px; padding:0 13px; border:1px solid #d9e0ea; border-radius:9px; outline:0; color:#202c3e; background:#fff; font:400 14px "Noto Sans KR", sans-serif; }
.account-delete-card input:focus { border-color:#d56a6a; box-shadow:0 0 0 3px rgba(200,75,75,.11); }
.account-delete-card > .account-delete-status { margin:9px 0 0; color:#bd3535; font-size:12px; line-height:18px; }
.account-delete-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:20px; }
.account-delete-actions button { height:42px; border-radius:9px; font:700 13px "Noto Sans KR", sans-serif; cursor:pointer; }
.account-delete-cancel { border:1px solid #dbe1ea; color:#536176; background:#fff; }
.account-delete-confirm { border:1px solid #c94343; color:#fff; background:#c94343; }
.account-delete-actions button:disabled { cursor:wait; opacity:.55; }

/* General-receipt account rows are in normal document flow.  Do not clip them
   with the fixed desktop-card height from the original meeting layout. */
.expense-workspace { height:auto !important; min-height:566px; overflow:visible; }

/* Figma 446:920 form metrics.  Keep the distinct label widths: standard
   fields begin at 76px, while the long participant labels begin at 112px. */
.meeting-form-row {
  grid-template-columns:76px 852px;
  min-height:42px;
}
.meeting-form-row > label {
  font-size:18px;
  font-weight:500;
  line-height:28px;
}
.meeting-form-row--triple {
  grid-template-columns:76px 308px 20px 48px 200px 20px 48px 208px;
  column-gap:0;
}
.meeting-form-row--pair {
  grid-template-columns:76px 378px 20px 66px 388px;
  column-gap:0;
}
.meeting-form-row--participant { grid-template-columns:112px 816px; }

/* Figma 446:1045 — the panel's declared 384px includes its 20px padding. */
.submission-panel {
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:10px;
  height:auto;
  min-height:0;
  padding:20px;
}
.submission-panel h2 {
  width:308px;
  height:30px;
  margin:0;
  font-size:20px;
  font-weight:700;
  line-height:30px;
  letter-spacing:0;
}
.uploaded-file {
  box-sizing:border-box;
  flex:0 0 44px;
  width:308px;
  height:44px;
  margin:0;
  padding-left:14px;
}
.extract-summary {
  display:flex;
  flex:0 0 68px;
  width:308px;
  height:68px;
  gap:10px;
  margin:0;
}
.extract-summary span {
  box-sizing:border-box;
  flex:1 1 0;
  min-height:68px;
  height:68px;
  gap:2px;
  font-size:13px;
  line-height:22px;
}
.extract-summary b { font-size:24px; line-height:30px; }
.submission-panel .progress {
  box-sizing:border-box;
  flex:0 0 61px;
  width:308px;
  height:61px;
  margin:0;
  padding-top:10px;
  border-top:1px solid #e5eaf0;
}
.submission-panel .progress > div { height:24px; font-size:13px; font-weight:500; line-height:24px; }
.submission-panel .progress span { height:12px; margin-top:10px; border-radius:6px; }
.start-submit,.save-draft {
  box-sizing:border-box;
  flex:0 0 44px;
  width:308px;
  height:44px;
  margin:0;
  font-size:14px;
  font-weight:500;
  line-height:22px;
}

/* The page itself is scaled for the available desktop width.  Use proportional
   columns inside the form rather than the unscaled Figma pixel tracks. */
.meeting-form-row {
  grid-template-columns:96px minmax(0,1fr);
  width:100%;
}
.meeting-form-row > label {
  font-size:16px;
  line-height:24px;
}
.meeting-form-row--triple {
  grid-template-columns:96px minmax(0,1.45fr) 48px minmax(0,1fr) 48px minmax(0,1.05fr);
  column-gap:0;
}
.meeting-form-row--pair {
  grid-template-columns:96px minmax(0,1fr) 48px minmax(0,1fr);
  column-gap:0;
}
.meeting-form-row--participant { grid-template-columns:96px minmax(0,1fr); }
.meeting-form-row--triple label:nth-of-type(n+2),
.meeting-form-row--pair label:nth-of-type(n+2) { margin-left:12px; }
.meeting-form-row--triple input:nth-of-type(n+2),
.meeting-form-row--pair input:nth-of-type(n+2) { width:calc(100% - 12px); margin-left:12px; }

/* Let this card follow the contents actually shown in the app, so its bottom
   edge remains directly below the draft button when no uploaded-file row exists. */
.submission-panel {
  display:block;
  height:auto;
  min-height:0;
}
.submission-panel h2 { width:auto; height:auto; margin:0 0 10px; font-size:20px; line-height:30px; }
.uploaded-file { width:100%; margin:0 0 10px; }
.extract-summary { display:grid; width:100%; height:auto; margin:0 0 10px; gap:10px; }
.extract-summary span { min-height:68px; height:68px; }
.submission-panel .progress { width:100%; height:auto; margin:10px 0; padding-top:10px; }
.start-submit,.save-draft { display:block; width:100%; margin:0; }
.save-draft { margin-top:8px; }

/* Purchase expense — same desktop canvas as the meeting screen, with form
   rows that grow in proportion to the scaled desktop layout. */
.purchase-intake,.purchase-workspace { display:block; }
.purchase-intake.hidden,.purchase-workspace.hidden { display:none; }
.purchase-evidence-method .method-options { display:flex; gap:8px; }
.purchase-evidence-method .purchase-method { flex:1 1 auto; min-width:0; height:48px; padding:0 8px; border:1px solid #dce5f0; border-radius:8px; color:#111; background:#fff; font:500 14px/22px var(--aira-font-sans); }
.purchase-evidence-method .purchase-method.active { color:#fff; background:#0071e3; border-color:#0071e3; }
.purchase-template-download { box-sizing:border-box; display:grid; flex:0 0 44px; place-items:center; width:44px; height:44px; margin-left:auto; padding:0; border:1px solid #dce5f0; border-radius:8px; background:#fff; text-decoration:none; }
.purchase-template-download::after { content:none; }
.purchase-template-download img { width:20px; height:20px; }
.purchase-workspace { box-sizing:border-box; width:984px; height:auto; min-height:0; margin-top:20px; padding:20px 28px 38px; overflow:hidden; border:1px solid #dce5f0; border-radius:16px; background:#fff; }
.purchase-sheet { display:flex; flex-direction:column; gap:20px; width:928px; min-width:0; }
.purchase-sheet .excel-title { position:relative; display:flex; flex:0 0 44px; align-items:center; justify-content:center; width:100%; color:#111; border:0; background:transparent; font-size:24px; font-weight:700; }
.purchase-row { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:center; width:100%; min-height:42px; }
.purchase-row label { color:#111; font-size:16px; font-weight:500; line-height:24px; white-space:nowrap; }
.purchase-row input,.purchase-row select { box-sizing:border-box; width:100%; height:42px; min-width:0; padding:0 14px; border:1px solid #dce5f0; border-radius:6px; outline:0; color:#111; background:#fff; font:400 14px/20px var(--aira-font-sans); }
.purchase-row select { appearance:auto; }
.purchase-row--triple { grid-template-columns:96px minmax(0,1.45fr) 60px minmax(0,1fr) 60px minmax(0,1.05fr); }
.purchase-row--triple label:nth-of-type(n+2) { padding-left:12px; }
.purchase-row--title { grid-template-columns:96px minmax(0,1fr) 76px minmax(180px,.58fr); }
.purchase-row--title label:nth-of-type(2) { padding-left:12px; }
.purchase-row--pair { grid-template-columns:96px minmax(0,1fr) 60px minmax(0,1fr); }
.purchase-row--pair label:nth-of-type(2) { padding-left:12px; }
.purchase-row--three { grid-template-columns:96px minmax(0,1.6fr) 72px minmax(0,.8fr) 72px minmax(0,.8fr); }
.purchase-row--three label:nth-of-type(n+2) { padding-left:12px; }
.purchase-row--long-label { grid-template-columns:96px minmax(0,1fr); }
.purchase-conditional { display:flex; flex-direction:column; gap:20px; width:100%; }
.purchase-section-heading { width:100%; margin:0; color:#111; font-size:16px; font-weight:500; line-height:26px; }
.purchase-section-heading { display:none !important; }
.purchase-intake .meeting-evidence-upload-box strong { flex-basis:136px; width:136px !important; }
.purchase-refund-fields { display:flex; flex-direction:column; gap:20px; width:100%; }

/* Shared module download control.  New modules only need this class to use
   the same Figma icon and 44px control. */
.template-download { box-sizing:border-box; display:grid; flex:0 0 44px; place-items:center; width:44px; height:44px; margin-left:auto; padding:0 !important; border:1px solid #dce5f0; border-radius:8px; font-size:0 !important; }
.template-download::after { content:"" !important; display:block; width:20px; height:20px; background:center / 20px 20px no-repeat url("assets/figma-download-icon.svg"); }
.purchase-template-download::after { content:none; }
.meeting-evidence-upload-box strong { flex-basis:136px; width:136px !important; }

.domestic-intake.hidden,.domestic-workspace.hidden { display:none; }
.domestic-evidence .method-options { display:flex; gap:6px; }.domestic-evidence .domestic-method { flex:1; height:48px; border:1px solid #dce5f0; border-radius:8px; background:#fff; font:500 14px var(--aira-font-sans); }.domestic-evidence .domestic-method.active { color:#fff; border-color:#0071e3; background:#0071e3; }
.domestic-workspace { box-sizing:border-box; width:984px; height:auto; margin-top:20px; padding:20px 28px 38px; overflow:hidden; border:1px solid #dce5f0; border-radius:16px; background:#fff; }
.domestic-sheet,.domestic-event-fields { display:flex; flex-direction:column; gap:20px; width:928px; }.domestic-sheet .excel-title { position:relative; display:flex; height:44px; align-items:center; justify-content:center; color:#111; font-size:24px; font-weight:700; }
.domestic-row { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:center; width:928px; min-height:42px; }.domestic-row label { color:#111; font-size:16px; font-weight:500; line-height:24px; }.domestic-row input,.domestic-row select { box-sizing:border-box; width:100%; height:42px; min-width:0; padding:0 14px; border:1px solid #dce5f0; border-radius:6px; color:#111; background:#fff; font:400 14px var(--aira-font-sans); }
.domestic-triple { grid-template-columns:96px minmax(0,1.45fr) 60px minmax(0,1fr) 60px minmax(0,1.05fr); }.domestic-triple label:nth-of-type(n+2),.domestic-pair label:nth-of-type(2),.domestic-three label:nth-of-type(n+2) { padding-left:12px; }.domestic-pair { grid-template-columns:164px minmax(0,1fr) 176px minmax(0,1fr); }.domestic-three { grid-template-columns:96px minmax(0,1.6fr) 72px minmax(0,.8fr) 72px minmax(0,.8fr); }

/* Domestic travel follows the same left input edge as the Figma form: labels
   take only their measured space and the remaining spacing is explicit. */
.domestic-template-download { display:grid; place-items:center; }
.domestic-template-download img { display:block; width:20px; height:20px; }
.domestic-sheet .excel-title { width:928px; border:0; color:#111; background:transparent; box-shadow:none; }
.domestic-sheet .excel-title .domestic-update-button { display:flex; align-items:center; justify-content:center; }
.domestic-row { grid-template-columns:96px minmax(0, 1fr); }
.domestic-triple { grid-template-columns:96px 288px 20px 48px 196px 20px 48px 212px; }
.domestic-pair { grid-template-columns:96px 348px 20px 96px 368px; }
.domestic-three { grid-template-columns:96px 230px 20px 60px 200px 20px 60px 222px; }
.domestic-triple label:nth-of-type(n+2),
.domestic-pair label:nth-of-type(2),
.domestic-three label:nth-of-type(n+2) { padding-left:0; }
.domestic-triple > :nth-child(1) { grid-column:1; }.domestic-triple > :nth-child(2) { grid-column:2; }.domestic-triple > :nth-child(3) { grid-column:4; }.domestic-triple > :nth-child(4) { grid-column:5; }.domestic-triple > :nth-child(5) { grid-column:7; }.domestic-triple > :nth-child(6) { grid-column:8; }
.domestic-pair > :nth-child(1) { grid-column:1; }.domestic-pair > :nth-child(2) { grid-column:2; }.domestic-pair > :nth-child(3) { grid-column:4; }.domestic-pair > :nth-child(4) { grid-column:5; }
.domestic-three > :nth-child(1) { grid-column:1; }.domestic-three > :nth-child(2) { grid-column:2; }.domestic-three > :nth-child(3) { grid-column:4; }.domestic-three > :nth-child(4) { grid-column:5; }.domestic-three > :nth-child(5) { grid-column:7; }.domestic-three > :nth-child(6) { grid-column:8; }
.domestic-row .domestic-label-stack { display:flex; align-items:center; min-height:42px; line-height:18px; white-space:nowrap; }
.domestic-row .domestic-label-stack:not(.domestic-academic-input-label) br { display:none; }

.international-intake.hidden,.international-workspace.hidden { display:none; }
.international-evidence .method-options { display:flex; gap:6px; }.international-evidence .international-method { flex:1; height:48px; border:1px solid #dce5f0; border-radius:8px; background:#fff; font:500 14px var(--aira-font-sans); }.international-evidence .international-method.active { color:#fff; border-color:#0071e3; background:#0071e3; }
.international-workspace { box-sizing:border-box; width:984px; height:auto; margin-top:20px; padding:20px 28px 38px; overflow:hidden; border:1px solid #dce5f0; border-radius:16px; background:#fff; }
.international-sheet,.international-event-fields { display:flex; flex-direction:column; gap:20px; width:928px; }.international-sheet .excel-title { position:relative; display:flex; height:44px; align-items:center; justify-content:center; width:928px; border:0; color:#111; background:transparent; box-shadow:none; font-size:24px; font-weight:700; }
.international-row { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:center; width:928px; min-height:42px; }.international-row label { color:#111; font-size:16px; font-weight:500; line-height:24px; }.international-row input,.international-row select { box-sizing:border-box; width:100%; height:42px; min-width:0; padding:0 14px; border:1px solid #dce5f0; border-radius:6px; color:#111; background:#fff; font:400 14px var(--aira-font-sans); }
.international-triple { grid-template-columns:96px 288px 20px 48px 196px 20px 48px 212px; }.international-pair { grid-template-columns:96px 348px 20px 96px 368px; }.international-three { grid-template-columns:96px 230px 20px 60px 200px 20px 60px 222px; }
.international-triple > :nth-child(1) { grid-column:1; }.international-triple > :nth-child(2) { grid-column:2; }.international-triple > :nth-child(3) { grid-column:4; }.international-triple > :nth-child(4) { grid-column:5; }.international-triple > :nth-child(5) { grid-column:7; }.international-triple > :nth-child(6) { grid-column:8; }.international-pair > :nth-child(1) { grid-column:1; }.international-pair > :nth-child(2) { grid-column:2; }.international-pair > :nth-child(3) { grid-column:4; }.international-pair > :nth-child(4) { grid-column:5; }.international-three > :nth-child(1) { grid-column:1; }.international-three > :nth-child(2) { grid-column:2; }.international-three > :nth-child(3) { grid-column:4; }.international-three > :nth-child(4) { grid-column:5; }.international-three > :nth-child(5) { grid-column:7; }.international-three > :nth-child(6) { grid-column:8; }
.international-row .international-label-stack { display:flex; align-items:center; min-height:42px; line-height:18px; white-space:nowrap; }.international-row .international-label-stack:not(.international-academic-input-label) br { display:none; }
.meal-intake.hidden,.meal-workspace.hidden{display:none}.meal-evidence .method-options{display:flex;gap:8px}.meal-evidence .meal-method{flex:1;height:48px;border:1px solid #dce5f0;border-radius:8px;background:#fff;font:500 14px var(--aira-font-sans)}.meal-evidence .meal-method.active{color:#fff;background:#0071e3}.meal-workspace{width:984px;margin-top:20px;padding:20px 28px 38px;border:1px solid #dce5f0;border-radius:16px;background:#fff}.meal-sheet{display:flex;flex-direction:column;gap:20px;width:928px}.meal-sheet .excel-title{position:relative;display:flex;height:44px;align-items:center;justify-content:center;background:transparent;color:#111;font-size:24px}.meal-row{display:grid;grid-template-columns:96px 1fr;align-items:center;width:928px;min-height:42px}.meal-row input{height:42px;border:1px solid #dce5f0;border-radius:6px}.meal-triple{grid-template-columns:96px 288px 20px 48px 196px 20px 48px 212px}.meal-triple>*:nth-child(1){grid-column:1}.meal-triple>*:nth-child(2){grid-column:2}.meal-triple>*:nth-child(3){grid-column:4}.meal-triple>*:nth-child(4){grid-column:5}.meal-triple>*:nth-child(5){grid-column:7}.meal-triple>*:nth-child(6){grid-column:8}.meal-pair{grid-template-columns:96px 348px 20px 96px 368px}.meal-pair>*:nth-child(1){grid-column:1}.meal-pair>*:nth-child(2){grid-column:2}.meal-pair>*:nth-child(3){grid-column:4}.meal-pair>*:nth-child(4){grid-column:5}.meal-recipient{grid-template-columns:210px 718px}
.meal-workspace{box-sizing:border-box;overflow-x:hidden}.meal-sheet .excel-title{border:0!important;box-shadow:none!important}
.expert-workspace{box-sizing:border-box;width:984px;margin-top:20px;padding:20px 28px 38px;overflow:hidden;border:1px solid #dce5f0;border-radius:16px;background:#fff}.expert-modern{display:flex;flex-direction:column;gap:20px;width:928px}.expert-modern-title{position:relative;display:flex;align-items:center;justify-content:center;height:44px;font-size:24px;font-weight:700}.expert-row{display:grid;grid-template-columns:96px 1fr;align-items:center;min-height:42px}.expert-row label{font-size:16px;font-weight:500}.expert-row input,.expert-row select{height:42px;padding:0 14px;border:1px solid #dce5f0;border-radius:6px;background:#fff;font:400 14px var(--aira-font-sans)}.expert-triple{grid-template-columns:96px 288px 20px 48px 196px 20px 48px 212px}.expert-triple>*:nth-child(1){grid-column:1}.expert-triple>*:nth-child(2){grid-column:2}.expert-triple>*:nth-child(3){grid-column:4}.expert-triple>*:nth-child(4){grid-column:5}.expert-triple>*:nth-child(5){grid-column:7}.expert-triple>*:nth-child(6){grid-column:8}.expert-pair{grid-template-columns:164px 290px 20px 164px 290px}.expert-pair>*:nth-child(1){grid-column:1}.expert-pair>*:nth-child(2){grid-column:2}.expert-pair>*:nth-child(3){grid-column:4}.expert-pair>*:nth-child(4){grid-column:5}.expert-three{grid-template-columns:96px 230px 20px 60px 200px 20px 60px 222px}.expert-three>*:nth-child(1){grid-column:1}.expert-three>*:nth-child(2){grid-column:2}.expert-three>*:nth-child(3){grid-column:4}.expert-three>*:nth-child(4){grid-column:5}.expert-three>*:nth-child(5){grid-column:7}.expert-three>*:nth-child(6){grid-column:8}.expert-conditional,.expert-recipient-fields,.expert-receipt-fields{display:flex;flex-direction:column;gap:20px}.expert-oneoff{box-sizing:border-box;display:flex;align-items:center;width:928px;min-height:42px;margin:0;padding:0 14px;border:1px solid #dce5f0;border-radius:8px;color:#71809a;background:#f7f9fc;font-size:14px}.expert-receipt-note{display:flex;align-items:center;gap:9px;width:928px;min-height:42px;margin:0;padding:0 12px;border:1px solid #dce5f0;border-radius:8px;color:#71809a;background:#f7f9fc;font-size:12px}.expert-receipt-note strong{color:#111;font-size:14px}.expert-travel{display:flex;flex-direction:column;gap:20px}.expert-travel>strong{align-self:flex-start;height:auto;padding:1px 12px;border:1px solid #e6ecf3;border-radius:8px;color:#111;background:#f5f5f5;font-size:16px;font-weight:500;line-height:26px}

/* Dashboard profile and refresh interaction corrections — 0.0.13.1. */
.profile-card { width:232px; }
.profile-copy { width:138px; }
.profile-card strong { display:block; max-width:138px; font-size:18px; line-height:23px; white-space:normal; }
.profile-card #profile-name,
.profile-card .profile-suffix { display:inline; overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
.notice-panel { flex-basis:584px; }
.project-refreshing { animation:none; }
.project-refresh-icon { display:inline-block; transform-origin:50% 50%; transition:transform .18s ease; }
.project-refreshing .project-refresh-icon { animation:project-spin .8s linear infinite; }
.project-heading button:hover { transform:none; }
.project-heading button:hover .project-refresh-icon { transform:rotate(28deg); }
@media (prefers-reduced-motion:reduce) {
  .project-refresh-icon { transition:none; }
  .project-refreshing .project-refresh-icon { animation:none; }
}

/* Responsive layout and visual rhythm corrections — 0.0.13.2. */
.landing.screen,
.login-screen.screen,
.auto-connect-screen.screen { transform:none; }
.work-header { height:88px; }
.work-header img { width:184px; height:82px; }
.work-top { top:88px; }
.task-area { top:302px; }
.notice-heading { gap:10px; }
.notice-heading strong { flex:0 0 auto; }
.notice-sync-status {
  min-width:0;
  margin-left:auto;
  overflow:hidden;
  color:#71809a;
  font-size:11px;
  font-weight:600;
  line-height:18px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.notice-sync-status.pending { color:#557af0; }
.notice-sync-status.warning { color:#c65151; }
.notice-sync-status.success { color:#71809a; }
.notice-heading button { flex:0 0 auto; }
.unclaimed-row { grid-template-columns:minmax(0, 1fr) 132px 126px; }
.project-item { box-sizing:border-box; height:auto; min-height:102px; }
.project-item b {
  display:block;
  overflow:visible;
  line-height:20px;
  overflow-wrap:anywhere;
  text-overflow:clip;
  white-space:normal;
  word-break:keep-all;
}
.notice-table.is-expanded {
  max-height:102px;
  padding-right:5px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.notice-table.is-expanded .unclaimed-table { min-height:max-content; }
.notice-table.is-expanded::-webkit-scrollbar { width:6px; }
.notice-table.is-expanded::-webkit-scrollbar-thumb { border-radius:999px; background:#c5d1e2; }
.notice-table.is-expanded::-webkit-scrollbar-track { background:transparent; }

/* 0.0.14.0 attachment queue and seven-day upload history */
.meeting-upload-row { grid-template-rows:104px 92px auto !important; }
.meeting-evidence-upload-box.is-dragover { border-color:#0071e3 !important; background:#eef6ff !important; box-shadow:inset 0 0 0 2px rgba(0,113,227,.12); }
.meeting-attachment-list { grid-column:2; display:grid; gap:6px; max-height:112px; margin:0; padding:0; overflow-y:auto; list-style:none; }
.meeting-attachment-list:empty { display:none; }
.meeting-attachment-list li { display:grid; grid-template-columns:minmax(0,1fr) auto 26px; gap:10px; align-items:center; min-height:34px; padding:5px 8px 5px 12px; border:1px solid #dce5f0; border-radius:8px; color:#33445e; background:#fff; font-size:12px; }
.meeting-attachment-list b { min-width:0; overflow:hidden; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
.meeting-attachment-list span { color:#7a8799; font-size:11px; white-space:nowrap; }
.meeting-attachment-list button { width:26px; height:26px; padding:0; border:0; border-radius:6px; color:#71809a; background:#f1f4f8; cursor:pointer; }
.meeting-attachment-list button:hover { color:#c9434e; background:#fff0f1; }
.refund-excel-upload { display:flex; align-items:center; gap:12px; width:620px; min-height:48px; margin:10px 0 0 auto; padding:8px 10px 8px 14px; border:1px solid #dce5f0; border-radius:10px; color:#52617a; background:#fff; font-size:12px; }
.refund-excel-upload span { flex:1; }
.refund-excel-upload strong { display:grid; place-items:center; width:96px; height:32px; border:1px solid #dce5f0; border-radius:7px; color:#111; background:#fff; font-size:12px; cursor:pointer; }

.recent-upload-panel { position:absolute; right:57px; bottom:34px; left:57px; height:188px; padding:18px 20px; border:1px solid #e0e7f1; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(44,73,121,.06); }
.recent-upload-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:10px; }
.recent-upload-panel h2 { margin:0; color:#1d2c43; font-size:16px; line-height:23px; }
.recent-upload-panel header p { position:static; width:auto; height:auto; margin:2px 0 0; color:#8995a7; font-size:10px; line-height:16px; text-align:left; transform:none; }
#attachment-storage-usage { padding:5px 9px; border-radius:999px; color:#4269d2; background:#eef3ff; font-size:10px; white-space:nowrap; }
.recent-upload-list { display:grid; gap:4px; max-height:124px; overflow-y:auto; }
.recent-upload-message { position:static; width:auto; height:auto; margin:30px 0; color:#8995a7; font-size:11px; text-align:center; transform:none; }
.recent-upload-row { display:grid; grid-template-columns:70px 105px minmax(0,1fr) 62px 96px 92px 92px; gap:8px; align-items:center; min-height:28px; padding:0 8px; border-radius:7px; color:#64728a; font-size:10px; }
.recent-upload-row:hover { background:#f7f9fc; }
.recent-upload-row .recent-module { color:#3f69d7; font-weight:700; }
.recent-upload-row .recent-project,.recent-upload-row .recent-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.recent-upload-row .recent-name { color:#34445f; font-weight:600; }
.recent-upload-actions { display:flex; justify-content:flex-end; gap:4px; }
.recent-upload-actions a,.recent-upload-actions button { display:grid; place-items:center; min-width:40px; height:22px; padding:0 6px; border:1px solid #dce5f0; border-radius:5px; color:#52647e; background:#fff; font:500 9px "Noto Sans KR",sans-serif; text-decoration:none; cursor:pointer; }
.recent-upload-actions button:hover { color:#c9434e; border-color:#efc8cc; }
.recent-upload-unavailable { color:#9ba6b6; }
.task-area > .delete-account-button { bottom:8px; }

@media (max-width:1100px) {
  html.workspace-active,
  body.workspace { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; background:#f5f5f7; }
  body.workspace .workspace-screen {
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    height:auto !important;
    min-height:100vh;
    overflow:visible;
    transform:none;
  }
  .workspace-screen .work-header {
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    height:82px;
  }
  .workspace-screen .work-header img { width:170px; height:78px; }
  .workspace-screen .work-top {
    position:relative;
    top:auto;
    left:auto;
    display:grid;
    grid-template-columns:232px minmax(0, 1fr);
    width:calc(100% - 32px);
    height:auto;
    margin:0 16px;
    padding:14px;
  }
  .workspace-screen .profile-card { box-sizing:border-box; width:232px; }
  .workspace-screen .notice-panel { box-sizing:border-box; width:100%; min-width:0; height:154px; }
  .workspace-screen .quick-panel {
    box-sizing:border-box;
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    width:100%;
    height:auto;
    min-height:68px;
    padding:12px 18px;
  }
  .workspace-screen .quick-panel a { justify-content:center; }
  .workspace-screen .task-area {
    position:relative;
    top:auto;
    left:auto;
    display:grid;
    grid-template-columns:260px minmax(0, 1fr);
    grid-template-rows:auto auto auto;
    gap:24px;
    width:100%;
    height:auto !important;
    min-height:0;
    margin-top:24px;
    padding:24px;
    border-radius:16px 16px 0 0;
  }
  .workspace-screen .project-panel {
    position:relative;
    top:auto;
    left:auto;
    grid-column:1;
    grid-row:1 / span 2;
    box-sizing:border-box;
    width:260px;
    min-height:0 !important;
    align-self:start;
  }
  .workspace-screen .task-intro {
    grid-column:2;
    grid-row:1;
    width:100%;
  }
  .workspace-screen .task-controls,
  .workspace-screen .task-intro .task-search { width:100%; }
  .workspace-screen #task-groups { grid-column:2; grid-row:2; width:100%; }
  .workspace-screen .recent-upload-panel { position:relative; right:auto; bottom:auto; left:auto; grid-column:1 / -1; grid-row:3; width:100%; height:auto; min-height:188px; margin-top:8px; }
  .workspace-screen .recent-upload-row { grid-template-columns:64px 92px minmax(0,1fr) 56px 88px 84px 88px; }
  .workspace-screen .delete-account-button { position:relative; grid-column:1 / -1; grid-row:4; bottom:auto; left:auto; justify-self:center; margin-top:4px; transform:none; }
  .workspace-screen .task-group { width:100%; }
  .workspace-screen .task-list { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .workspace-screen .task-tile { width:100%; }
  .workspace-screen .task-group + .task-group .task-list {
    height:auto;
    padding:12px;
    gap:10px;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-auto-rows:76px;
    border:0;
    background:transparent;
  }
  .workspace-screen .task-group + .task-group .task-tile {
    width:100%;
    height:76px;
    border:1px solid #dce5f0;
    border-radius:12px;
    background:#fff;
  }
  .workspace-screen .task-group + .task-group .task-tile:nth-child(3n),
  .workspace-screen .task-group + .task-group .task-tile:nth-last-child(-n+3) { border:1px solid #dce5f0; }
  .workspace-screen .task-search-popover { left:284px; max-width:calc(100% - 332px); }

  html.meeting-active,
  body.meeting { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
  body.meeting .meeting-screen {
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    height:auto !important;
    min-height:100vh;
    overflow:visible;
    transform:none;
  }
  body.meeting .meeting-screen::before { display:none; }
  body.meeting .back-to-work {
    position:relative;
    top:auto;
    left:auto;
    width:100%;
    height:56px;
    padding-left:24px;
    border-bottom:1px solid #dce5f0;
  }
  body.meeting .meeting-heading { position:relative; top:auto; left:auto; padding:26px 24px 20px; }
  body.meeting .meeting-heading h1 { font-size:30px; line-height:40px; }
  body.meeting .meeting-content {
    position:relative;
    top:auto;
    left:auto;
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:20px;
    box-sizing:border-box;
    width:100%;
    min-height:0;
    padding:0 24px 48px;
  }
  body.meeting .meeting-form { box-sizing:border-box; width:100%; min-width:0; min-height:0; }
  body.meeting .meeting-upload-row { grid-template-columns:minmax(270px, .72fr) minmax(0, 1.28fr); width:100%; }
  body.meeting .expense-workspace,
  body.meeting .purchase-workspace,
  body.meeting .domestic-workspace,
  body.meeting .international-workspace,
  body.meeting .meal-workspace,
  body.meeting .expert-workspace,
  body.meeting .academic-workspace,
  body.meeting .general-workspace { box-sizing:border-box; width:100% !important; max-width:100%; overflow-x:auto !important; }
  body.meeting .expense-workspace .excel-sheet,
  body.meeting .purchase-sheet,
  body.meeting .domestic-sheet,
  body.meeting .international-sheet,
  body.meeting .international-event-fields,
  body.meeting .meal-sheet,
  body.meeting .expert-modern,
  body.meeting .academic-sheet,
  body.meeting .general-sheet { width:100% !important; min-width:760px; }
  body.meeting .submission-panel { box-sizing:border-box; width:100%; min-height:0; }
}

@media (max-width:760px) {
  .workspace-screen .work-top { grid-template-columns:1fr; }
  .workspace-screen .profile-card { width:100%; }
  .workspace-screen .quick-panel { grid-template-columns:1fr; gap:10px; }
  .workspace-screen .quick-panel a { justify-content:start; }
  .workspace-screen .task-area { grid-template-columns:1fr; padding:16px; }
  .workspace-screen .project-panel,
  .workspace-screen .task-intro,
  .workspace-screen #task-groups { grid-column:1; width:100%; }
  .workspace-screen .project-panel { grid-row:1; }
  .workspace-screen .task-intro { grid-row:2; }
  .workspace-screen #task-groups { grid-row:3; }
  .workspace-screen .task-heading h2 { font-size:26px; line-height:36px; }
  .workspace-screen .task-intro .task-filter { width:170px; }
  .workspace-screen .task-list,
  .workspace-screen .task-group + .task-group .task-list { grid-template-columns:1fr; }
  .workspace-screen .task-search-popover { left:16px; width:calc(100% - 32px); max-width:none; }
  body.meeting .meeting-content { padding:0 16px 36px; }
  body.meeting .meeting-heading { padding-right:16px; padding-left:16px; }
  body.meeting .meeting-upload-row { display:flex; flex-direction:column; width:100%; }
  body.meeting .meeting-upload-box,
  body.meeting .meeting-upload-row .evidence-method { width:100%; min-height:104px; }
}

/* Dashboard header card composition from the approved 0.0.13.3 reference. */
.work-top { align-items:center; }
.profile-card {
  box-sizing:border-box;
  width:198px;
  height:154px;
  padding:14px 16px;
  overflow:hidden;
}
.profile-copy { position:absolute; top:14px; left:16px; width:112px; }
.profile-card strong {
  display:block;
  width:112px;
  max-width:none;
  min-height:22px;
  font-size:16px;
  line-height:22px;
  white-space:nowrap;
}
.profile-card #profile-name,
.profile-card .profile-suffix {
  display:inline;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
  overflow-wrap:normal;
}
.profile-greeting { margin-top:1px; font-size:11px; line-height:16px; }
.profile-face { top:12px; right:14px; width:48px; height:54px; }
.account-menu-toggle { display:none; }
.profile-actions {
  position:absolute;
  z-index:3;
  top:auto;
  right:16px;
  bottom:12px;
  left:16px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.profile-card.account-menu-open .profile-actions { display:grid; }
.profile-actions button {
  width:100%;
  height:28px;
  padding:0 4px;
  border:1px solid rgba(255,255,255,.56);
  border-radius:7px;
  color:#fff;
  background:rgba(0,75,181,.2);
  font:500 10px var(--aira-font-sans);
}
.profile-actions button:hover { background:rgba(255,255,255,.16); }
.counts {
  top:69px;
  right:16px;
  bottom:auto;
  left:16px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
.counts b {
  width:auto;
  height:41px;
  padding:3px 0 4px;
  border-radius:9px;
  font-size:11px;
  line-height:16px;
}
.counts em { font-size:13px; line-height:16px; }
.notice-panel { flex-basis:618px; }
.notice-heading { justify-content:flex-start; }
.notice-count {
  display:grid;
  flex:0 0 25px;
  place-items:center;
  width:25px;
  height:25px;
  border:1px solid #ef4d58;
  border-radius:50%;
  color:#df3543;
  background:#fff;
  font-size:12px;
  font-weight:600;
  line-height:1;
}
.notice-sync-status { margin-left:auto; }
.notice-heading .notice-refresh {
  display:grid;
  flex:0 0 28px;
  place-items:center;
  width:28px;
  height:28px;
  padding:0;
  border:1px solid #dce5f0;
  border-radius:8px;
  color:#557af0;
  background:#fff;
  font-size:17px;
  line-height:1;
}
.notice-refresh-icon {
  display:inline-block;
  transform-origin:50% 50%;
}
.notice-refresh.card-refreshing { animation:none; }
.notice-refresh.card-refreshing .notice-refresh-icon { animation:project-spin .8s linear infinite; }
.notice-heading .notice-view-all {
  flex:0 0 auto;
  padding:0;
  border:0;
  background:transparent;
}
.task-area {
  box-shadow:0 0 0 100vmax #f5f5f7;
  clip-path:inset(0 -100vmax);
}

@media (max-width:1100px) {
  .workspace-screen .profile-card { width:198px; }
  .workspace-screen .work-top { grid-template-columns:198px minmax(0, 1fr); }
  .workspace-screen .notice-panel { flex-basis:auto; }
}

@media (max-width:760px) {
  .workspace-screen .profile-card { width:100%; }
  .workspace-screen .work-top { grid-template-columns:1fr; }
  .notice-sync-status { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .notice-refresh.card-refreshing .notice-refresh-icon { animation:none; }
}
