/* ===== style block 01 ===== */
html.auth-locked body > *:not(#sitePasswordGate){display:none!important}
#sitePasswordGate{display:none}
html.auth-locked #sitePasswordGate{
  position:fixed; inset:0; z-index:999999; display:block; min-height:100vh; overflow:hidden;
  font-family:"Pretendard","Noto Sans KR","Malgun Gothic",Inter,Arial,sans-serif; color:#fff;
  background:#06111f;
}
.site-password-stage{position:relative; min-height:100vh; display:grid; align-items:stretch;}
.site-password-bg{position:absolute; inset:0; background:
  linear-gradient(90deg, rgba(2,8,18,.88) 0%, rgba(3,11,24,.72) 34%, rgba(3,11,24,.48) 58%, rgba(2,8,18,.78) 100%),
  radial-gradient(circle at 18% 18%, rgba(22,115,255,.24), transparent 28%),
  radial-gradient(circle at 83% 10%, rgba(217,35,50,.20), transparent 22%),
  url('../password-gate-bg.png') center center / cover no-repeat;
  transform:scale(1.01);
}
.site-password-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(4,12,23,.75), rgba(4,12,23,.10) 28%, rgba(4,12,23,.38) 100%);} 
.site-password-inner{position:relative; z-index:2; min-height:100vh; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px, 440px); gap:42px; align-items:center; padding:46px 64px;}
.site-password-copy{max-width:720px; align-self:center;}
.site-password-topline{display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border-radius:999px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14); box-shadow:0 10px 28px rgba(0,0,0,.16); backdrop-filter:blur(10px); font-size:12px; font-weight:900; letter-spacing:1.4px; text-transform:uppercase; color:#d9e7ff;}
.site-password-topline::before{content:""; width:9px; height:9px; border-radius:50%; background:#1c7dff; box-shadow:0 0 0 6px rgba(28,125,255,.16);} 
.site-password-copy h1{margin:24px 0 14px; font-size:clamp(42px, 5vw, 78px); line-height:.96; letter-spacing:-3.5px; font-weight:1000; text-shadow:0 12px 40px rgba(0,0,0,.28);} 
.site-password-copy h1 strong{display:block; color:#ffffff;} 
.site-password-copy h1 span{display:block; color:#d8e8ff;}
.site-password-copy p{margin:0; max-width:600px; font-size:17px; line-height:1.75; font-weight:650; color:rgba(233,240,255,.84); text-shadow:0 8px 24px rgba(0,0,0,.22);} 
.site-password-points{display:flex; gap:12px; flex-wrap:wrap; margin-top:24px;}
.site-password-points span{display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:#eef4ff; font-size:13px; font-weight:800; backdrop-filter:blur(10px);} 
.site-password-points span::before{content:""; width:6px; height:6px; border-radius:50%; background:#60a5fa;} 
.site-password-card-wrap{display:flex; justify-content:flex-end;}
.site-password-card{width:min(100%,430px); padding:34px 30px 28px; border-radius:34px; background:rgba(7,18,33,.58); border:1px solid rgba(255,255,255,.12); box-shadow:0 30px 90px rgba(0,0,0,.32); backdrop-filter:blur(18px);} 
.site-password-mark{width:66px; height:66px; border-radius:22px; margin:0 auto 18px; display:grid; place-items:center; background:linear-gradient(145deg,#0f5bff,#102846); color:#fff; font-size:24px; font-weight:1000; box-shadow:0 16px 34px rgba(11,99,246,.28);} 
.site-password-card small{display:block; text-align:center; color:#9fc5ff; font-size:12px; font-weight:1000; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:12px;}
.site-password-card h2{margin:0; text-align:center; font-size:31px; line-height:1.12; letter-spacing:-1.5px; color:#fff;}
.site-password-card p{margin:12px auto 24px; text-align:center; color:rgba(233,240,255,.78); font-size:14px; line-height:1.7; font-weight:700; max-width:320px;}
.site-password-form{display:grid; gap:12px;}
.site-password-form input{width:100%; height:56px; border:1px solid rgba(255,255,255,.72); border-radius:18px; background:rgba(255,255,255,.96); padding:0 18px; color:#0f172a; -webkit-text-fill-color:#0f172a; caret-color:#0f172a; font-size:16px; font-weight:900; letter-spacing:.12em; text-align:center; outline:none; transition:.2s ease; box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 10px 24px rgba(0,0,0,.14);}
.site-password-form input::placeholder{color:#64748b; -webkit-text-fill-color:#64748b; letter-spacing:.02em; font-weight:800;}
.site-password-form input:focus{border-color:#5da4ff; background:#fff; color:#0f172a; -webkit-text-fill-color:#0f172a; box-shadow:0 0 0 4px rgba(11,99,246,.24),0 14px 30px rgba(0,0,0,.18);} 
.site-password-form button{height:56px; border:0; border-radius:18px; background:linear-gradient(135deg,#1f6cff,#0d49c9); color:#fff; font-size:15px; font-weight:1000; cursor:pointer; box-shadow:0 18px 34px rgba(13,73,201,.28); transition:.18s ease;}
.site-password-form button:hover{transform:translateY(-1px); filter:brightness(1.05);} 
.site-password-error{min-height:20px; margin:4px 0 0; text-align:center; color:#ffb4b4; font-size:13px; font-weight:900;}
.site-password-note{margin-top:16px; text-align:center; color:rgba(219,230,250,.72); font-size:12px; font-weight:700; line-height:1.6;} 
.site-password-bottom{position:absolute; left:64px; right:64px; bottom:28px; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:16px; color:rgba(230,239,255,.72); font-size:12px; font-weight:800; letter-spacing:.4px;} 
.site-password-bottom .left{display:flex; gap:10px; align-items:center;} 
.site-password-bottom .dot{width:7px; height:7px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 6px rgba(34,197,94,.12);} 
.site-password-bottom .right{display:flex; gap:18px; flex-wrap:wrap; justify-content:flex-end;} 
@media (max-width: 1100px){
  .site-password-inner{grid-template-columns:1fr; align-content:center; padding:42px 28px 110px; gap:28px;}
  .site-password-copy{max-width:100%;}
  .site-password-card-wrap{justify-content:flex-start;}
  .site-password-bottom{left:28px; right:28px; bottom:20px; flex-direction:column; align-items:flex-start;}
}
@media (max-width: 720px){
  .site-password-copy h1{font-size:42px; letter-spacing:-2px;}
  .site-password-copy p{font-size:15px;}
  .site-password-card{padding:28px 20px 22px; border-radius:28px;}
  .site-password-card h2{font-size:26px;}
  .site-password-inner{padding:30px 16px 108px;}
  .site-password-topline{font-size:11px; letter-spacing:1px;}
  .site-password-bottom{font-size:11px;}
}


/* ===== style block 02 ===== */
:root{
  --bg:#f3f5f8;--paper:#ffffff;--ink:#101419;--muted:#6c7480;--line:#d9e0ea;
  --navy:#07182d;--navy2:#102846;--blue:#194fbb;--metal:#46515f;--red:#d92332;
  --shadow:0 28px 80px rgba(16,28,50,.18);--soft:0 12px 35px rgba(13,24,43,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter, 'Pretendard','Noto Sans KR','Malgun Gothic',Arial,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 10% 10%,rgba(37,99,235,.20),transparent 28%),radial-gradient(circle at 82% 14%,rgba(13,110,253,.12),transparent 24%),radial-gradient(circle at 86% 82%,rgba(217,35,50,.08),transparent 22%),linear-gradient(135deg,#f8fafc 0%,#eef3f8 50%,#e7edf4 100%);}
body::after{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(rgba(7,24,45,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(7,24,45,.03) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 92%);}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.app-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:24px 54px;background:linear-gradient(to bottom,rgba(248,250,252,.92),rgba(248,250,252,.72),transparent);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:14px;font-weight:900;letter-spacing:-.8px;font-size:25px}
.brand-mark{width:50px;height:50px;border-radius:15px;background:linear-gradient(145deg,#062f86,#0b1b52);display:grid;place-items:center;box-shadow:0 12px 28px rgba(9,37,101,.22);position:relative;overflow:hidden}
.brand-mark::before{content:"금속";color:#fff;font-size:14px;font-weight:1000;letter-spacing:-1px;transform:rotate(-11deg);border:2px solid rgba(255,255,255,.85);padding:3px 2px;}
.brand-mark::after{content:"";position:absolute;width:18px;height:18px;right:-3px;bottom:-3px;border:5px solid rgba(255,255,255,.30);border-radius:50%}
.header-nav{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.62);border:1px solid rgba(160,171,188,.38);border-radius:999px;padding:7px;box-shadow:0 14px 30px rgba(20,32,54,.08)}
.header-nav a{padding:10px 17px;border-radius:999px;font-size:14px;font-weight:850;color:#364250}
.header-nav a.active,.header-nav a:hover{background:#07182d;color:#fff}
.page{display:none;min-height:100vh}
.page.active{display:block}
.hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(460px,.94fr);gap:52px;padding:130px 70px 64px;align-items:center}
.media-zone{height:calc(100vh - 190px);min-height:620px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:18px;align-items:stretch}
.device{position:relative;align-self:center;height:78%;min-height:480px;border-radius:38px;background:linear-gradient(145deg,#161d27,#04070b);box-shadow:0 36px 90px rgba(12,21,38,.22);padding:18px;border:1px solid rgba(255,255,255,.18);overflow:hidden}
.device::before{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:132px;height:8px;border-radius:999px;background:#333b45;z-index:3}
.device::after{content:"";position:absolute;left:9%;right:9%;bottom:-22px;height:54px;background:linear-gradient(180deg,#cfd3d7,#7f8791);border-radius:0 0 55% 55%;filter:blur(.2px);box-shadow:0 18px 35px rgba(13,20,31,.22)}
.screen{position:relative;height:100%;border-radius:24px;overflow:hidden;background:#101723;border:1px solid rgba(255,255,255,.16)}
.photo-stack{height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}
.photo-stack::-webkit-scrollbar{display:none}
.photo-card{height:100%;position:relative;scroll-snap-align:start;overflow:hidden;background:#000}
.photo-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.04) contrast(1.03)}
.photo-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(3,10,20,.42),transparent 30%),linear-gradient(120deg,rgba(4,22,49,.22),transparent 42%)}
.photo-badge{position:absolute;left:22px;bottom:22px;z-index:2;font-weight:1000;color:#fff;font-size:38px;letter-spacing:-2px;text-shadow:0 10px 25px rgba(0,0,0,.45);padding:8px 14px 10px;border-radius:16px;background:rgba(7,24,45,.34);backdrop-filter:blur(10px)}
.media-copy{position:absolute;left:26px;top:26px;z-index:4;color:#fff;max-width:470px}
.kicker{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.20);border-radius:999px;background:rgba(7,24,45,.58);backdrop-filter:blur(14px);font-size:12px;font-weight:950;letter-spacing:1px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.media-copy h2{font-size:42px;line-height:1.08;margin:18px 0 0;letter-spacing:-2.2px}
.media-copy p{margin:12px 0 0;line-height:1.55;color:rgba(255,255,255,.82);font-weight:650}
.thumbs{display:flex;flex-direction:column;gap:10px;overflow:auto;padding:8px 2px;scrollbar-width:none}
.thumbs::-webkit-scrollbar{display:none}
.thumb{height:72px;border:0;border-radius:20px;padding:0;position:relative;overflow:hidden;cursor:pointer;background:#111;box-shadow:0 12px 24px rgba(18,28,45,.12);opacity:.46;transform:scale(.96);transition:.28s ease}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb span{position:absolute;left:8px;bottom:7px;color:#fff;font-size:12px;font-weight:1000;text-shadow:0 3px 10px rgba(0,0,0,.4)}
.thumb.active{opacity:1;transform:scale(1);outline:2px solid #194fbb;box-shadow:0 16px 34px rgba(25,79,187,.22)}
.content-zone{align-self:center;position:relative;padding-right:24px}
.content-zone::before{content:"";position:absolute;right:0;top:-170px;width:1px;height:310px;background:linear-gradient(to bottom,#07182d,transparent)}
.eyebrow{display:flex;align-items:center;gap:12px;color:#194fbb;font-weight:950;font-size:13px;letter-spacing:1.7px;text-transform:uppercase;margin-bottom:24px}
.eyebrow::before{content:"";width:44px;height:2px;background:#194fbb}
h1{font-size:clamp(52px,5.2vw,86px);line-height:.94;margin:0;letter-spacing:-5px;font-weight:1000}
.hero-sub{margin:26px 0 42px;max-width:580px;font-size:18px;line-height:1.8;color:#586271;font-weight:700;letter-spacing:-.35px}
.menu-panel{width:min(100%,640px);background:linear-gradient(145deg,#07182d,#0d1b31 54%,#112a4c);border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);padding:18px;border-radius:32px;position:relative;overflow:hidden}
.menu-panel::before{content:"";position:absolute;inset:-60% -20% auto 35%;height:260px;background:radial-gradient(circle,rgba(76,130,255,.23),transparent 62%);transform:rotate(12deg)}
.menu-card{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:24px 24px;border:1px solid rgba(144,169,209,.26);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.04));border-radius:24px;margin-bottom:14px;transition:.25s ease;overflow:hidden}
.menu-card:last-child{margin-bottom:0}
.menu-card::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-120%);transition:.55s ease}
.menu-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.58);background:rgba(255,255,255,.09)}
.menu-card:hover::after{transform:translateX(120%)}
.menu-card small{display:block;color:#86a5d4;font-size:12px;font-weight:950;letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px}
.menu-card strong{display:block;color:#fff;font-size:23px;letter-spacing:-.75px}
.menu-card em{display:block;margin-top:8px;color:rgba(216,232,255,.74);font-style:normal;font-size:14px;line-height:1.55;font-weight:600}
.arrow{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#d8e8ff;font-size:26px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.site-footer{position:fixed;left:54px;bottom:26px;z-index:19;color:#7b8490;font-size:12px;font-weight:750;letter-spacing:.4px}
.subpage{padding:118px 44px 50px;min-height:100vh}
.subpage-shell{max-width:1440px;margin:0 auto}
.subpage-top{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px;background:rgba(255,255,255,.64);border:1px solid rgba(160,171,188,.30);border-radius:28px;padding:24px 28px;backdrop-filter:blur(16px);box-shadow:0 18px 40px rgba(17,30,52,.08)}
.subpage-title small{display:block;color:#194fbb;font-size:13px;font-weight:950;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px}
.subpage-title h2{font-size:48px;line-height:1;margin:0;letter-spacing:-2.8px}
.back-btn{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(13,30,54,.12);background:#fff;border-radius:999px;padding:13px 19px;font-weight:900;box-shadow:0 12px 24px rgba(19,30,51,.07)}
.calculator-frame{background:rgba(255,255,255,.78);border:1px solid rgba(160,171,188,.30);box-shadow:0 26px 58px rgba(14,26,45,.12);border-radius:34px;padding:20px;backdrop-filter:blur(16px)}
/* Calculator restyle while preserving existing IDs and behavior */
.calculator-frame .wrap{max-width:none;margin:0;padding:0}
.calculator-frame .top{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:20px;padding:18px 16px 8px;border-bottom:1px solid rgba(203,213,225,.65)}
.calculator-frame h1{font-size:38px;letter-spacing:-2px;line-height:1.05}
.calculator-frame .sub{margin-top:10px;color:#667180;font-size:15px;line-height:1.55;font-weight:650}
.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.btn{border:0;border-radius:14px;padding:11px 14px;background:var(--navy);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(20,31,55,.12);transition:.2s ease}
.btn:hover{transform:translateY(-2px)}
.btn.secondary{background:#fff;color:#152033;border:1px solid #d7dce6}
.btn.green{background:#047857}.btn.blue{background:#194fbb}.btn.red{background:#b91c1c}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}
.card{background:rgba(255,255,255,.95);border:1px solid #dce3ee;border-radius:28px;box-shadow:0 18px 38px rgba(32,41,68,.08);overflow:hidden}
.card h2{margin:0;padding:18px 20px;background:linear-gradient(135deg,#07182d,#12325a);color:#fff;font-size:19px;letter-spacing:-.4px}
.section{padding:18px 20px;border-bottom:1px solid #e8edf4}
.section:last-child{border-bottom:0}
.section-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px}
.section-title{font-weight:950;font-size:18px;letter-spacing:-.5px}
.pill{font-size:12px;background:#eef4ff;color:#1e4eab;padding:6px 10px;border-radius:999px;font-weight:900}
table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #edf0f5;padding:9px 6px;text-align:left}th{font-size:12px;color:#657185;background:#fafbff}
input,textarea{ime-mode:active;width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 11px;font-size:14px;background:#fff;font-family:inherit;outline:none;transition:.18s ease}
input:focus,textarea:focus{border-color:#194fbb;box-shadow:0 0 0 4px rgba(25,79,187,.10)}
textarea{min-height:110px;resize:vertical;line-height:1.6}input[type=number]{text-align:right}
.money{font-variant-numeric:tabular-nums;text-align:right;font-weight:950}.total-row td{background:#f4f6f9;font-weight:950}
.xbtn{border:0;background:#fee2e2;color:#991b1b;border-radius:10px;padding:7px 10px;cursor:pointer;font-weight:950}
.add{border:1px dashed #92a0b5;background:#fff;border-radius:12px;padding:9px 11px;cursor:pointer;font-weight:900;color:#334155}
.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.field label{display:block;font-size:12px;font-weight:950;color:#536172;margin-bottom:6px}.field.full{grid-column:1/-1}.field.half{grid-column:span 2}
.summary{padding:20px}.kpi{display:grid;gap:11px}.kpi-item{padding:16px;border:1px solid #e0e6ef;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfdff)}.kpi-label{font-size:12px;color:#64748b;font-weight:900}.kpi-value{font-size:25px;font-weight:1000;margin-top:5px;text-align:right;letter-spacing:-1px}.kpi-final{background:#07182d;color:#fff}.kpi-final .kpi-label{color:#cbd5e1}.kpi-final .kpi-value{font-size:30px}
.guide{margin-top:14px;padding:16px;border-radius:20px;background:#f8fafc;border:1px solid #e2e8f0}.guide p{margin:8px 0;color:#475569;font-size:13px;line-height:1.58}
.soon-wrap{min-height:68vh;display:grid;place-items:center}
.soon-card{width:min(860px,100%);padding:62px;background:linear-gradient(145deg,#07182d,#112b4e);color:#fff;box-shadow:var(--shadow);border-radius:34px;position:relative;overflow:hidden}
.soon-card::before{content:"";position:absolute;right:-120px;top:-140px;width:360px;height:360px;border-radius:50%;background:rgba(58,112,230,.24)}
.soon-card small{position:relative;color:#89a9d8;font-weight:950;letter-spacing:1.7px}
.soon-card h2{position:relative;font-size:58px;line-height:1;margin:18px 0 16px;letter-spacing:-3px}
.soon-card p{position:relative;color:#d6e2f1;line-height:1.7;font-weight:650;max-width:620px}
@media(max-width:1100px){.app-header{padding:22px}.hero{grid-template-columns:1fr;padding:112px 22px 48px}.media-zone{height:68vh;min-height:540px;grid-template-columns:1fr}.thumbs{display:none}.content-zone{padding-right:0}.content-zone::before{display:none}.site-footer{display:none}.grid{grid-template-columns:1fr}.meta-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.brand span{font-size:18px}.header-nav{display:none}.hero{padding-top:100px}.device{height:66vh;min-height:420px;border-radius:24px}h1{font-size:48px;letter-spacing:-3px}.menu-panel{padding:14px;border-radius:24px}.menu-card{padding:18px}.subpage{padding:92px 14px 34px}.calculator-frame{padding:10px;border-radius:22px}.calculator-frame .top{align-items:flex-start;flex-direction:column}.actions{justify-content:flex-start}.subpage-top{align-items:flex-start;flex-direction:column;padding:20px}.subpage-title h2{font-size:36px}}


/* Samsung.com/sec inspired redesign overrides */
:root{
  --samsung-black:#000000;
  --samsung-bg:#f4f4f4;
  --samsung-card:#ffffff;
  --samsung-blue:#006bea;
  --samsung-text:#111111;
  --samsung-muted:#555b63;
}
body{background:var(--samsung-bg);color:var(--samsung-text)}
body::before{background:linear-gradient(180deg,#ffffff 0%,#f6f6f6 44%,#eeeeee 100%)}
body::after{display:none}
.app-header{padding:18px 48px;background:rgba(255,255,255,.86);box-shadow:0 1px 0 rgba(0,0,0,.08);backdrop-filter:blur(18px)}
.brand{font-size:22px;color:#111;letter-spacing:-.9px}.brand-mark{width:42px;height:42px;border-radius:50%;background:#071f75;box-shadow:none}.brand-mark::before{font-size:12px}.brand-mark::after{display:none}
.header-nav{position:absolute;left:50%;transform:translateX(-50%);background:transparent;border:0;box-shadow:none;padding:0;gap:2px}
.header-nav a{color:#111;font-size:14px;font-weight:900;padding:10px 16px;border-radius:999px}.header-nav a.active,.header-nav a:hover{background:#000;color:#fff}
.samsung-home{display:block;min-height:100vh;padding:104px 42px 74px;text-align:center;max-width:1500px;margin:0 auto}
.samsung-hero-copy{padding:0!important;margin:0 auto 34px;max-width:980px}.samsung-hero-copy::before{display:none!important}
.category-pills{display:inline-flex;gap:8px;align-items:center;justify-content:center;margin:0 auto 24px;padding:6px;background:#fff;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.06)}
.pill-tab{display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:999px;color:#111;font-size:14px;font-weight:900}.pill-tab.active{background:#000;color:#fff}
.samsung-hero-copy .eyebrow{justify-content:center;color:#111;margin-bottom:18px;font-size:13px;letter-spacing:1.3px}.samsung-hero-copy .eyebrow::before{display:none}
.samsung-hero-copy h1{font-size:clamp(56px,6.8vw,104px);line-height:.93;letter-spacing:-6px;color:#000}
.samsung-hero-copy .hero-sub{margin:24px auto 30px;max-width:760px;color:#333;font-size:19px;line-height:1.72;font-weight:750;letter-spacing:-.45px}
.hero-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.hero-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;font-weight:950;letter-spacing:-.2px;transition:.22s ease}.hero-btn.primary{background:#000;color:#fff}.hero-btn.secondary{background:#fff;color:#000;border:1px solid rgba(0,0,0,.14)}.hero-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.14)}
.samsung-showcase{height:auto!important;min-height:0!important;display:block!important;position:relative;max-width:1360px;margin:0 auto 26px}.samsung-showcase .device{height:64vh;min-height:520px;max-height:760px;width:100%;padding:0;border:0;border-radius:44px;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.20);overflow:hidden}.samsung-showcase .device::before,.samsung-showcase .device::after{display:none}.samsung-showcase .screen{border:0;border-radius:44px}.samsung-showcase .photo-card img{filter:saturate(1.02) contrast(1.02)}.samsung-showcase .photo-card::after{background:linear-gradient(to top,rgba(0,0,0,.46),transparent 35%),linear-gradient(to bottom,rgba(0,0,0,.26),transparent 22%)}
.samsung-showcase .media-copy{left:30px;top:28px}.samsung-showcase .kicker{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.22);color:#fff;box-shadow:none}.samsung-showcase .photo-badge{left:30px;bottom:30px;background:rgba(0,0,0,.44);border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:24px;letter-spacing:-1px;padding:10px 16px}
.samsung-showcase .thumbs{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:row;gap:8px;padding:8px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.24);border-radius:999px;backdrop-filter:blur(16px);max-width:calc(100% - 80px);overflow:auto;z-index:9}.samsung-showcase .thumb{width:66px;height:48px;border-radius:999px;flex:0 0 auto;opacity:.55;box-shadow:none;outline:0}.samsung-showcase .thumb.active{opacity:1;outline:2px solid #fff;box-shadow:0 6px 20px rgba(0,0,0,.24)}.samsung-showcase .thumb span{font-size:11px;left:9px;bottom:6px}
.samsung-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1360px;margin:0 auto;text-align:left}.samsung-tool-card{min-height:240px;background:#fff;border-radius:34px;padding:34px;box-shadow:0 12px 34px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.06);position:relative;overflow:hidden;transition:.25s ease}.samsung-tool-card::after{content:"";position:absolute;right:-70px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(0,107,234,.16),transparent 62%)}.samsung-tool-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(0,0,0,.12)}.samsung-tool-card .tool-label{display:inline-flex;font-size:13px;font-weight:950;letter-spacing:.8px;color:#006bea;text-transform:uppercase;margin-bottom:14px}.samsung-tool-card strong{display:block;font-size:34px;letter-spacing:-1.8px;color:#000}.samsung-tool-card em{display:block;max-width:560px;margin-top:14px;color:#4b5563;font-style:normal;font-size:16px;line-height:1.65;font-weight:650}.samsung-tool-card b{position:absolute;left:34px;bottom:32px;display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 20px;border-radius:999px;background:#000;color:#fff;font-size:14px}.samsung-tool-card.main-tool{background:linear-gradient(135deg,#fff,#eef5ff)}
.site-footer{color:#777;left:48px;bottom:22px}.subpage{background:#f4f4f4}.subpage-top{background:#fff;border-radius:34px;border:1px solid rgba(0,0,0,.06);box-shadow:0 12px 34px rgba(0,0,0,.06);padding:28px 32px}.subpage-title small{color:#006bea}.subpage-title h2{color:#000;font-size:52px;letter-spacing:-3px}.back-btn{background:#000;color:#fff;border:0;box-shadow:none}.calculator-frame{background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 16px 42px rgba(0,0,0,.08);border-radius:34px}.calculator-frame .top{border-bottom:1px solid rgba(0,0,0,.08)}.calculator-frame .sub{color:#4b5563}.btn{background:#000;border-radius:999px;box-shadow:none}.btn.secondary{background:#f4f4f4;color:#000;border:1px solid rgba(0,0,0,.08)}.btn.blue{background:#006bea}.btn.green{background:#008a45}.card{border-radius:28px;border:1px solid rgba(0,0,0,.06);box-shadow:0 10px 26px rgba(0,0,0,.06)}.card h2{background:#000;color:#fff}.kpi-final{background:#000}.soon-card{background:#fff;color:#000;border:1px solid rgba(0,0,0,.06);box-shadow:0 16px 42px rgba(0,0,0,.08)}.soon-card::before{background:rgba(0,107,234,.14)}.soon-card small{color:#006bea}.soon-card p{color:#4b5563}
@media(max-width:1100px){.header-nav{position:static;transform:none}.samsung-home{padding:100px 20px 44px}.samsung-showcase .device{height:56vh;min-height:440px}.samsung-tool-grid{grid-template-columns:1fr}.samsung-hero-copy h1{letter-spacing:-4px}.samsung-showcase .thumbs{display:none!important}}
@media(max-width:700px){.app-header{padding:16px 18px}.brand-mark{width:36px;height:36px}.samsung-hero-copy h1{font-size:46px;letter-spacing:-3px}.samsung-hero-copy .hero-sub{font-size:16px}.category-pills{display:none}.samsung-showcase .device{height:54vh;min-height:380px;border-radius:28px}.samsung-showcase .screen{border-radius:28px}.samsung-tool-card{min-height:230px;border-radius:26px;padding:26px}.samsung-tool-card strong{font-size:28px}.subpage-title h2{font-size:36px}.site-footer{display:none}}



/* Compact fixed music controls */
.music-bar{
  position:fixed;
  top:15px;
  right:42px;
  z-index:60;
  display:flex;
  align-items:center;
  gap:6px;
  width:auto;
  min-height:38px;
  padding:5px 7px;
  border-radius:999px;
  color:#111;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 26px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.80);
  backdrop-filter:blur(18px);
  border:1px solid rgba(0,0,0,.08);
}
.music-btn{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  cursor:pointer;
  background:rgba(0,0,0,.045);
  color:#111;
  font-size:12px;
  font-weight:1000;
  transition:.18s ease;
}
.music-btn:hover{background:#000;color:#fff;transform:translateY(-1px)}
.music-preset-btn{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:50%;
  display:grid;
  place-items:center;
  cursor:pointer;
  background:#fff;
  color:#111;
  font-size:12px;
  font-weight:1000;
  transition:.18s ease;
}
.music-preset-btn:hover{background:#000;color:#fff;transform:translateY(-1px)}
.music-preset-btn.active{background:#006bea;color:#fff;border-color:#006bea;box-shadow:0 6px 14px rgba(0,107,234,.22)}

.music-toggle{width:32px;height:32px;background:#000;color:#fff;font-size:13px;box-shadow:0 6px 14px rgba(0,0,0,.16)}
.music-toggle:hover{background:#222;color:#fff}
.music-volume{display:flex;align-items:center;gap:5px;position:relative;z-index:1;padding:0 2px 0 1px}
.music-volume span{font-size:13px;line-height:1;color:#333}
.music-volume input[type="range"]{
  width:62px;
  height:5px;
  padding:0;
  border:0;
  border-radius:999px;
  accent-color:#111111;
  background:rgba(0,0,0,.12);
  cursor:pointer;
}
.music-volume input[type="range"]:focus{box-shadow:0 0 0 3px rgba(0,0,0,.08)}
.music-autoplay-hint{display:none;position:fixed;top:62px;right:42px;z-index:59;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;font-size:12px;font-weight:850;box-shadow:0 10px 26px rgba(0,0,0,.18);backdrop-filter:blur(12px)}
.music-autoplay-hint.show{display:block}
@media(max-width:1260px){
  .music-bar{top:76px;right:22px}
  .music-autoplay-hint{top:123px;right:22px}
}
@media(max-width:700px){
  .music-bar{left:auto;right:14px;top:68px;gap:5px;min-height:36px;padding:5px 6px}
  .music-btn{width:27px;height:27px}.music-toggle{width:31px;height:31px}
  .music-volume input[type="range"]{width:54px}
  .music-autoplay-hint{left:18px;right:18px;top:114px;text-align:center}
}


/* Salary PDF verification */
.salary-checker .salary-upload-box{
  display:flex;gap:18px;align-items:center;margin:0 16px 18px;padding:22px;border:2px dashed rgba(0,107,234,.28);
  border-radius:26px;background:linear-gradient(135deg,#ffffff,#f4f8ff)
}
.salary-upload-box input[type=file]{max-width:320px;border:0;background:#fff;border-radius:18px;padding:14px;box-shadow:0 8px 22px rgba(0,0,0,.06)}
.salary-upload-box strong{display:block;font-size:20px;letter-spacing:-.6px}
.salary-upload-box p{margin:7px 0 0;color:#5b6472;font-weight:650;line-height:1.55}
.salary-status{margin:0 16px 18px;padding:14px 18px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-weight:850}
.salary-status.ok{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}
.salary-status.warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.salary-status.err{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.salary-grid{grid-template-columns:minmax(0,1fr) 360px}
.salary-table-scroll{overflow:auto;border:1px solid #e5e7eb;border-radius:18px}
.salary-result-table{min-width:920px}
.salary-result-table th,.salary-result-table td{vertical-align:top}
.salary-result-table td:nth-child(3),.salary-result-table td:nth-child(4),.salary-result-table td:nth-child(5){text-align:right;font-variant-numeric:tabular-nums;font-weight:850}
.salary-edit-wrap{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:118px;white-space:nowrap}
.salary-click-edit{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:100px;min-height:28px;border-radius:10px;padding:3px 6px;color:#0f172a;cursor:text;font-weight:1000;font-variant-numeric:tabular-nums;transition:background .16s ease, box-shadow .16s ease, color .16s ease;outline:none}
.salary-click-edit:hover{background:#f1f5f9;box-shadow:inset 0 0 0 1px #e2e8f0}.salary-click-edit:hover::after{content:'수정';font-size:10px;font-weight:950;color:#006bea;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:2px 6px;line-height:1}
.salary-click-edit.editing{background:#fff;box-shadow:0 0 0 3px rgba(0,107,234,.12), inset 0 0 0 1px #006bea;color:#006bea;cursor:text}
.salary-click-edit.editing::after{content:'Enter 저장';font-size:10px;font-weight:950;color:#006bea;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:2px 6px;line-height:1}.salary-click-edit[contenteditable="true"]{-webkit-user-select:text;user-select:text}
.salary-cell-hint{display:none}
.salary-ok{color:#047857;font-weight:1000}
.salary-ng{color:#b91c1c;font-weight:1000}
.salary-warn{color:#b45309;font-weight:1000}
.salary-memo{padding:16px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;line-height:1.7;font-weight:650}
.salary-memo p{margin:6px 0}
.kpi-value.small{font-size:22px;text-align:right}

.salary-input-panel{margin-top:14px;border:1px solid #e2e8f0;border-radius:20px;background:#f8fafc;padding:14px}
.salary-input-title{font-weight:1000;font-size:15px;letter-spacing:-.3px;margin:0 0 10px;color:#111827}
.salary-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.salary-input-field{display:flex;flex-direction:column;gap:5px}
.salary-input-field label{font-size:12px;font-weight:950;color:#64748b;letter-spacing:-.2px}
.salary-input-field input{height:40px;border-radius:12px;text-align:right;font-weight:850;font-variant-numeric:tabular-nums;background:#fff}
.salary-input-field.full{grid-column:1/-1}
.salary-input-caption{margin:10px 0 0;color:#64748b;font-size:12px;line-height:1.55;font-weight:700}
.salary-input-panel .btn{width:100%;margin-top:10px;justify-content:center}


.salary-section-row td{background:#eef2ff!important;color:#111827;font-weight:1000;border-top:2px solid #c7d2fe;border-bottom:1px solid #c7d2fe;padding:12px 10px!important}
.salary-section-row small{display:block;margin-top:3px;color:#64748b;font-weight:800;line-height:1.45}
.salary-section-pay td{background:#eff6ff!important;border-color:#bfdbfe}.salary-section-deduct td{background:#fff7ed!important;border-color:#fed7aa}.salary-section-total td{background:#f1f5f9!important;border-color:#cbd5e1}
.salary-extra-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.salary-extra-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(90px,.8fr) 34px;gap:6px;align-items:center}
.salary-extra-row input{height:38px;border-radius:11px;font-size:13px;padding:8px}.salary-extra-row input.extra-amount{text-align:right;font-variant-numeric:tabular-nums}
.salary-extra-remove{height:34px;border:0;border-radius:10px;background:#fee2e2;color:#991b1b;font-weight:1000;cursor:pointer}
.salary-extra-add{margin-top:8px;width:100%}
.salary-input-subtitle{margin:14px 0 8px;font-weight:1000;font-size:13px;color:#334155;border-top:1px dashed #cbd5e1;padding-top:12px}

@media(max-width:800px){.salary-upload-box{flex-direction:column;align-items:stretch}.salary-grid{grid-template-columns:1fr}.salary-input-grid{grid-template-columns:1fr}}



/* 자료 기반 AI 챗봇 - 기존 사진 슬라이드/음악/정산/급여 기능은 유지하고 챗봇만 추가 */
.union-chat-fab{position:fixed;right:34px;bottom:34px;z-index:120;width:64px;height:64px;border:0;border-radius:50%;background:#000;color:#fff;font-size:27px;cursor:pointer;box-shadow:0 18px 42px rgba(0,0,0,.24);transition:.2s ease}.union-chat-fab:hover{transform:translateY(-3px);box-shadow:0 24px 52px rgba(0,0,0,.28)}
.union-chat-panel{position:fixed;right:34px;bottom:112px;z-index:121;width:min(430px,calc(100vw - 28px));height:min(680px,calc(100vh - 140px));background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.25);overflow:hidden;display:none;flex-direction:column;resize:both;min-width:330px;min-height:430px;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.union-chat-panel.open{display:flex}.union-chat-panel.dragging{user-select:none;opacity:.96}.union-chat-panel.is-floating{box-shadow:0 36px 100px rgba(0,0,0,.34),0 0 0 2px rgba(0,107,234,.18)}
.union-chat-head{padding:16px 16px 14px;background:linear-gradient(135deg,#07182d,#12325a);color:#fff;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;cursor:move;touch-action:none}.union-chat-head strong{display:block;font-size:20px;letter-spacing:-.6px}.union-chat-head span{display:block;margin-top:5px;color:#cbd5e1;font-size:12px;font-weight:750;line-height:1.45}.union-chat-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.union-chat-icon-btn,.union-chat-close{border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;width:34px;height:34px;font-size:16px;cursor:pointer;display:grid;place-items:center}.union-chat-icon-btn:hover,.union-chat-close:hover{background:rgba(255,255,255,.22)}.union-chat-pip-note{display:none;padding:8px 12px;background:#eff6ff;border-bottom:1px solid #dbeafe;color:#1e40af;font-size:12px;font-weight:800;line-height:1.45}.union-chat-pip-note.show{display:block}
.union-chat-body{flex:1;overflow:auto;padding:16px;background:#f7f8fb;display:flex;flex-direction:column;gap:12px}.union-chat-msg{max-width:86%;padding:12px 14px;border-radius:18px;line-height:1.55;font-size:14px;white-space:pre-wrap;word-break:keep-all;box-shadow:0 6px 18px rgba(0,0,0,.04)}.union-chat-msg.user{align-self:flex-end;background:#000;color:#fff;border-bottom-right-radius:6px}.union-chat-msg.bot{align-self:flex-start;background:#fff;color:#111;border:1px solid #e5e7eb;border-bottom-left-radius:6px}.union-chat-msg.system{align-self:center;background:#eef4ff;color:#194fbb;border:1px solid #dbeafe;max-width:100%;font-size:12px;font-weight:800;text-align:center;box-shadow:none}.union-chat-sources{margin-top:10px;padding-top:8px;border-top:1px solid #e5e7eb;color:#64748b;font-size:12px;white-space:normal}.union-chat-form{display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid #e5e7eb;align-items:flex-end}.union-chat-form textarea{min-height:46px;max-height:120px;resize:none;border-radius:18px;line-height:1.45}.union-chat-form button{border:0;border-radius:18px;background:#000;color:#fff;font-weight:950;padding:0 16px;cursor:pointer;white-space:nowrap}.union-chat-form .union-chat-add{background:#eff6ff;color:#1e40af;border:1px solid #dbeafe;min-height:46px;padding:0 12px}.union-chat-files{display:none;gap:6px;flex-wrap:wrap;padding:8px 12px 0;background:#fff;border-top:1px solid #eef2f7}.union-chat-files.show{display:flex}.union-chat-file-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:850}.union-chat-file-chip button{border:0;background:#e2e8f0;color:#334155;border-radius:50%;width:18px;height:18px;line-height:18px;padding:0;cursor:pointer;font-weight:1000}.union-chat-tip{padding:10px 14px;background:#fff7ed;border-top:1px solid #fed7aa;color:#9a3412;font-size:12px;font-weight:750;line-height:1.45}@media(max-width:700px){.union-chat-fab{right:18px;bottom:18px;width:58px;height:58px}.union-chat-panel{right:14px;bottom:90px;width:calc(100vw - 28px);height:calc(100vh - 110px);border-radius:22px;resize:none}.union-chat-head{cursor:default}.union-chat-icon-btn,.union-chat-close{width:32px;height:32px}}


/* AI assistant message sizing */
.union-chat-body .union-chat-msg.bot{max-width:100%}.union-chat-body .union-chat-msg.system{max-width:100%}

.union-chat-guide-btn{width:100%;min-height:48px;border-radius:18px!important;background:#fff!important;color:#111!important;border:1px solid #d7dce6!important;font-size:15px;font-weight:1000}.union-chat-guide-btn:hover{background:#f8fafc!important}.union-guide-dim{position:fixed;inset:0;z-index:150;display:none;align-items:center;justify-content:center;background:rgba(2,8,23,.48);backdrop-filter:blur(6px);padding:18px}.union-guide-dim.open{display:flex}.union-guide-modal{width:min(560px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.5)}.union-guide-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:22px 24px;background:linear-gradient(135deg,#07182d,#12325a);color:#fff}.union-guide-top strong{display:block;font-size:24px;letter-spacing:-.8px}.union-guide-top span{display:block;margin-top:6px;color:#cbd5e1;font-size:13px;font-weight:750;line-height:1.45}.union-guide-close{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:50%;width:36px;height:36px;font-size:22px;cursor:pointer}.union-guide-content{padding:20px 22px 24px}.union-guide-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:15px 0;border-bottom:1px solid #edf0f5}.union-guide-step:last-child{border-bottom:0}.union-guide-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#000;color:#fff;font-weight:1000}.union-guide-step strong{display:block;font-size:16px;letter-spacing:-.3px}.union-guide-step p{margin:6px 0 0;color:#4b5563;line-height:1.6;font-size:14px;font-weight:650}.union-guide-ui{margin-top:18px;padding:16px;border-radius:20px;background:#f8fafc;border:1px solid #e2e8f0}.union-guide-ui h3{margin:0 0 12px;font-size:17px;letter-spacing:-.4px}.union-guide-ui dl{margin:0;display:grid;gap:10px}.union-guide-ui dt{font-weight:1000;color:#111}.union-guide-ui dd{margin:3px 0 0;color:#64748b;line-height:1.55;font-size:13px;font-weight:700}.union-guide-note{margin-top:16px;padding:14px 16px;border-radius:18px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-weight:850;line-height:1.55;font-size:13px}.union-border-content{display:grid;gap:18px}.union-border-hero{padding:18px 20px;border-radius:22px;background:linear-gradient(135deg,#eef4ff,#f8fbff);border:1px solid #dbeafe}.union-border-copy h3{margin:0 0 10px;font-size:22px;letter-spacing:-.8px;color:#111827}.union-border-copy p{margin:0 0 12px;color:#334155;font-weight:750;line-height:1.65}.union-border-korean-path{margin-top:10px!important;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #bfdbfe;color:#1e3a8a!important}.union-border-copy ul{margin:0;padding-left:18px;color:#475569;display:grid;gap:8px;font-weight:650;line-height:1.6}.union-border-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}.union-border-figure{margin:0;border:1px solid #e5e7eb;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 10px 22px rgba(15,23,42,.06)}.union-border-figure img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#f8fafc}.union-border-figure figcaption{padding:12px 14px 14px;color:#475569;font-size:13px;line-height:1.6;font-weight:650}.union-border-checklist{display:grid;gap:12px}@media(max-width:700px){.union-guide-modal{border-radius:22px}.union-guide-top{padding:18px}.union-guide-content{padding:16px}.union-border-gallery{grid-template-columns:1fr}.union-border-copy h3{font-size:20px}}




/* 맞춤법 검사기 */
.spell-checker-frame{background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 16px 42px rgba(0,0,0,.08);border-radius:34px;padding:20px}
.spell-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px}
.spell-editor{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.spell-box{background:#fff;border:1px solid #e2e8f0;border-radius:28px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.05)}
.spell-box h3{margin:0;padding:17px 20px;background:#000;color:#fff;font-size:18px;letter-spacing:-.45px}
.spell-box textarea{border:0;border-radius:0;min-height:430px;padding:20px;font-size:16px;line-height:1.75;box-shadow:none;background:#fff}
.spell-output{min-height:430px;padding:20px;font-size:16px;line-height:1.75;white-space:pre-wrap;word-break:keep-all;color:#111;background:#fbfdff}
.spell-mark{background:#fff3cd;border-bottom:2px solid #f59e0b;border-radius:4px;padding:1px 2px}
.spell-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.spell-actions .btn{min-height:42px}
.spell-result-list{display:grid;gap:10px;max-height:470px;overflow:auto;padding-right:4px}
.spell-result-item{padding:14px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc}
.spell-result-item strong{display:block;color:#111827;font-size:15px;letter-spacing:-.3px}
.spell-result-item span{display:block;margin-top:7px;color:#64748b;font-size:13px;line-height:1.55;font-weight:700}
.spell-result-item button{margin-top:10px;border:0;border-radius:999px;background:#000;color:#fff;padding:8px 12px;font-weight:950;cursor:pointer}
.spell-side .kpi-item{margin-bottom:11px}
.spell-note{margin-top:14px;padding:16px;border-radius:20px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-weight:800;line-height:1.6;font-size:13px}
.spell-sample{margin-top:14px;padding:16px;border-radius:20px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;line-height:1.7;font-weight:650;font-size:13px}
.spell-sample b{color:#111}
@media(max-width:1100px){.spell-layout{grid-template-columns:1fr}.spell-editor{grid-template-columns:1fr}.spell-box textarea,.spell-output{min-height:320px}}



/* 업무 도구 팝업 + 월간 일정 */
.tool-popup-dim{position:fixed;inset:0;z-index:170;display:none;align-items:center;justify-content:center;background:rgba(2,8,23,.48);backdrop-filter:blur(8px);padding:18px}.tool-popup-dim.open{display:flex}.tool-popup{width:min(780px,100%);background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:34px;box-shadow:0 34px 100px rgba(0,0,0,.34);overflow:hidden}.tool-popup-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:25px 28px;background:linear-gradient(135deg,#07182d,#12325a);color:#fff}.tool-popup-head strong{display:block;font-size:28px;letter-spacing:-1px}.tool-popup-head span{display:block;margin-top:7px;color:#cbd5e1;font-size:14px;font-weight:750;line-height:1.5}.tool-popup-close{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;flex:0 0 auto}.tool-popup-close:hover{background:rgba(255,255,255,.24)}.tool-popup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px}.tool-popup-card{display:block;min-height:150px;padding:23px;border-radius:25px;background:#f8fafc;border:1px solid #e2e8f0;position:relative;overflow:hidden;transition:.22s ease}.tool-popup-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(15,23,42,.12);background:#fff}.tool-popup-card small{display:block;color:#006bea;font-size:12px;font-weight:1000;letter-spacing:.9px;text-transform:uppercase;margin-bottom:10px}.tool-popup-card strong{display:block;color:#000;font-size:24px;letter-spacing:-1px}.tool-popup-card em{display:block;margin-top:10px;color:#64748b;font-style:normal;font-weight:700;line-height:1.55;font-size:14px}.tool-popup-card b{position:absolute;right:18px;bottom:18px;width:38px;height:38px;border-radius:50%;background:#000;color:#fff;display:grid;place-items:center}.pill-tab{border:0;cursor:pointer;background:transparent;font-family:inherit}.samsung-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-frame{background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 16px 42px rgba(0,0,0,.08);border-radius:34px;padding:20px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 8px 18px}.calendar-title{font-size:38px;font-weight:1000;letter-spacing:-2px;color:#000}.calendar-controls{display:flex;gap:8px;flex-wrap:wrap}.calendar-status{padding:12px 16px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:13px;font-weight:800}.calendar-status.ok{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}.calendar-status.err{background:#fef2f2;border-color:#fecaca;color:#991b1b}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekday{padding:13px 8px;text-align:center;font-size:13px;font-weight:1000;color:#64748b}.calendar-day{min-height:132px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;padding:12px;cursor:pointer;transition:.16s ease;display:flex;flex-direction:column;gap:8px;overflow:hidden}.calendar-day:hover{border-color:#006bea;box-shadow:0 10px 24px rgba(0,107,234,.12);transform:translateY(-2px)}.calendar-day.other{background:#f8fafc;color:#94a3b8}.calendar-day.today{border-color:#006bea;background:#eff6ff}.calendar-day-num{font-weight:1000;font-size:15px;display:flex;justify-content:space-between;gap:6px}.calendar-memo-list{display:grid;gap:5px;overflow:hidden}.calendar-memo{padding:6px 8px;border-radius:10px;background:#07182d;color:#fff;font-size:12px;line-height:1.35;font-weight:750;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.calendar-empty{margin-top:auto;color:#94a3b8;font-size:12px;font-weight:800}.calendar-modal-dim{position:fixed;inset:0;z-index:180;display:none;align-items:center;justify-content:center;background:rgba(2,8,23,.45);backdrop-filter:blur(6px);padding:18px}.calendar-modal-dim.open{display:flex}.calendar-modal{width:min(560px,100%);background:#fff;border-radius:30px;box-shadow:0 30px 90px rgba(0,0,0,.32);overflow:hidden}.calendar-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px;background:#000;color:#fff}.calendar-modal-head strong{display:block;font-size:23px;letter-spacing:-.8px}.calendar-modal-head span{display:block;margin-top:5px;color:#cbd5e1;font-size:13px;font-weight:750}.calendar-modal-close{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:50%;width:36px;height:36px;font-size:22px;cursor:pointer}.calendar-modal-body{padding:20px}.calendar-modal-body textarea{min-height:190px;font-size:15px;line-height:1.65}.calendar-modal-actions{display:flex;justify-content:space-between;gap:8px;margin-top:14px;flex-wrap:wrap}.calendar-help{margin-top:14px;color:#64748b;font-size:13px;line-height:1.6;font-weight:700}.calendar-help b{color:#111}@media(max-width:900px){.tool-popup-grid{grid-template-columns:1fr}.samsung-tool-grid{grid-template-columns:1fr}.calendar-grid{gap:5px}.calendar-day{min-height:104px;border-radius:14px;padding:8px}.calendar-title{font-size:30px}.calendar-memo{font-size:11px}.calendar-weekday{font-size:12px;padding:9px 3px}}@media(max-width:640px){.calendar-frame{padding:10px;border-radius:22px}.calendar-day{min-height:82px}.calendar-empty{display:none}.calendar-memo{-webkit-line-clamp:2}.tool-popup{border-radius:24px}.tool-popup-head{padding:20px}.tool-popup-grid{padding:16px}}


/* 상단 메뉴를 개별 메뉴로 유지하면서 폭이 좁을 때도 자연스럽게 정렬 */
.header-nav{white-space:nowrap}
@media(max-width:1280px){.header-nav a{font-size:13px;padding:9px 11px}.app-header{padding-left:28px;padding-right:28px}.music-bar{top:74px;right:22px}}
@media(max-width:980px){.header-nav{position:static;transform:none;overflow-x:auto;max-width:calc(100vw - 220px);scrollbar-width:none}.header-nav::-webkit-scrollbar{display:none}}



/* 월간 일정 UI - 깔끔한 카드형 */
.calendar-frame{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 45px rgba(15,23,42,.08);
  border-radius:32px;
  padding:24px;
  overflow:hidden;
}
.calendar-toolbar{
  align-items:center;
  padding:4px 0 18px;
  margin-bottom:10px;
  border-bottom:1px solid #eef2f7;
}
.calendar-title-wrap{display:flex;flex-direction:column;gap:8px}
.calendar-title{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:38px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-2px;
  color:#000;
}
.calendar-title::before{
  content:"";
  width:12px;
  height:38px;
  border-radius:999px;
  background:#006bea;
  flex:0 0 auto;
}
.calendar-status{
  width:fit-content;
  max-width:100%;
  padding:9px 13px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#64748b;
  font-size:12px;
  font-weight:850;
}
.calendar-status.ok{background:#f0fdf4;border-color:#bbf7d0;color:#047857}
.calendar-status.err{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.calendar-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.calendar-controls .btn{min-height:40px;padding:0 15px;border-radius:999px;box-shadow:none}
.calendar-controls .btn.secondary{background:#f8fafc;border:1px solid #e2e8f0;color:#111}
.calendar-legend{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  margin:0 0 14px;
}
.calendar-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#64748b;
  font-size:12px;
  font-weight:900;
}
.calendar-legend i{display:block;width:8px;height:8px;border-radius:50%;background:#94a3b8}
.calendar-legend .legend-today{background:#006bea}
.calendar-legend .legend-memo{background:#07182d}
.calendar-legend .legend-click{background:#10b981}
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:0;
  border:1px solid #e5e7eb;
  border-radius:24px;
  overflow:hidden;
  background:#e5e7eb;
}
.calendar-weekday{
  padding:13px 8px;
  text-align:center;
  font-size:13px;
  font-weight:1000;
  color:#64748b;
  background:#f8fafc;
  border-right:1px solid #e5e7eb;
  border-bottom:1px solid #e5e7eb;
}
.calendar-weekday:nth-child(7n){border-right:0}
.calendar-weekday:first-child{color:#dc2626}.calendar-weekday:nth-child(7){color:#2563eb}
.calendar-day{
  min-height:132px;
  border:0;
  border-right:1px solid #e5e7eb;
  border-bottom:1px solid #e5e7eb;
  border-radius:0;
  background:#fff;
  padding:12px;
  cursor:pointer;
  transition:.15s ease;
  display:flex;
  flex-direction:column;
  gap:8px;
  overflow:hidden;
  text-align:left;
}
.calendar-day:nth-child(7n){border-right:0}
.calendar-day:hover{background:#f8fbff;box-shadow:inset 0 0 0 2px rgba(0,107,234,.22)}
.calendar-day.other{background:#fafafa;color:#94a3b8}
.calendar-day.today{background:#eff6ff;box-shadow:inset 0 0 0 2px #006bea}
.calendar-day.has-memo{background:#fbfdff}
.calendar-day-num{display:flex;justify-content:space-between;align-items:center;gap:6px;font-weight:1000;font-size:15px;color:#0f172a}
.calendar-day:nth-child(7n+1) .calendar-day-num{color:#dc2626}
.calendar-day:nth-child(7n) .calendar-day-num{color:#2563eb}
.calendar-day-num span:first-child{
  display:grid;
  place-items:center;
  min-width:28px;
  height:28px;
  padding:0 7px;
  border-radius:50%;
}
.calendar-day.today .calendar-day-num span:first-child{background:#006bea;color:#fff}
.calendar-dot{
  display:inline-flex!important;
  align-items:center;
  height:20px!important;
  min-width:0!important;
  padding:0 7px!important;
  border:0!important;
  border-radius:999px!important;
  background:#07182d!important;
  color:#fff!important;
  font-size:10px;
  font-weight:1000;
}
.calendar-memo-list{display:grid;gap:6px;overflow:hidden;min-height:0}
.calendar-memo{
  padding:8px 10px;
  border-radius:12px;
  background:#f1f5f9;
  border-left:4px solid #07182d;
  color:#111827;
  font-size:12px;
  line-height:1.45;
  font-weight:800;
  white-space:pre-wrap;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.calendar-empty{display:none!important}
.calendar-help{
  margin-top:14px;
  padding:14px 16px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#64748b;
  font-size:13px;
  line-height:1.6;
  font-weight:750;
}
.calendar-help b{color:#111}
.calendar-modal{width:min(560px,100%);background:#fff;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.30);overflow:hidden}
.calendar-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px;background:#000;color:#fff}
.calendar-modal-body{padding:20px}
.calendar-modal-body textarea{min-height:190px;font-size:15px;line-height:1.65;border-radius:18px}
@media(max-width:900px){
  .calendar-frame{padding:14px;border-radius:24px}
  .calendar-toolbar{align-items:flex-start;gap:14px}
  .calendar-title{font-size:31px;letter-spacing:-1.4px}.calendar-title::before{height:31px}
  .calendar-day{min-height:108px;padding:9px}.calendar-memo{font-size:11px;-webkit-line-clamp:2}
  .calendar-weekday{font-size:12px;padding:10px 4px}
}
@media(max-width:640px){
  .calendar-frame{padding:10px;border-radius:20px}
  .calendar-controls .btn{min-height:36px;padding:0 11px;font-size:12px}
  .calendar-legend span{font-size:11px;min-height:28px;padding:0 9px}
  .calendar-grid{border-radius:16px}
  .calendar-weekday{font-size:11px;padding:8px 2px}
  .calendar-day{min-height:84px;padding:6px}.calendar-day-num{font-size:12px}.calendar-day-num span:first-child{min-width:24px;height:24px}
  .calendar-dot{display:none!important}.calendar-memo{font-size:10px;padding:6px 7px;border-radius:9px}
}


/* 달력 6줄 메모 표시 보강 */
.calendar-day{min-height:176px!important;padding:10px!important;gap:7px!important}
.calendar-memo-list{display:block!important;overflow:visible!important}
.calendar-memo{
  font-size:11.5px!important;
  line-height:1.32!important;
  padding:7px 9px!important;
  -webkit-line-clamp:6!important;
  max-height:calc(1.32em * 6 + 16px)!important;
}
@media(max-width:900px){
  .calendar-day{min-height:146px!important;padding:8px!important}
  .calendar-memo{font-size:10.8px!important;line-height:1.28!important;-webkit-line-clamp:6!important;max-height:calc(1.28em * 6 + 14px)!important}
}
@media(max-width:640px){
  .calendar-day{min-height:118px!important;padding:6px!important}
  .calendar-memo{font-size:9.8px!important;line-height:1.22!important;-webkit-line-clamp:6!important;max-height:calc(1.22em * 6 + 12px)!important}
}



/* 뉴스 모음 */
.news-frame{background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 16px 42px rgba(0,0,0,.08);border-radius:34px;padding:22px}
.news-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}
.news-main{display:grid;gap:18px}
.news-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px;border:1px solid #e2e8f0;border-radius:24px;background:#f8fafc}
.news-topic-tabs{display:flex;gap:8px;flex-wrap:wrap}
.news-topic-btn{border:0;border-radius:999px;background:#fff;color:#111;border:1px solid #e2e8f0;min-height:38px;padding:0 15px;font-weight:1000;cursor:pointer}
.news-topic-btn.active{background:#000;color:#fff;border-color:#000}
.news-meta{color:#64748b;font-size:13px;font-weight:850}
.featured-news-card{display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;align-items:stretch;min-height:250px;padding:18px;border-radius:30px;background:linear-gradient(135deg,#07182d,#12325a);color:#fff;box-shadow:0 18px 42px rgba(7,24,45,.18);overflow:hidden}
.featured-thumb{position:relative;border-radius:24px;overflow:hidden;background:#0f172a;min-height:230px}
.featured-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05) contrast(1.02)}
.featured-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.44),transparent 55%)}
.featured-thumb span{position:absolute;left:16px;bottom:14px;z-index:2;display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(10px);font-size:12px;font-weight:1000}
.featured-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:4px 4px 4px 0}
.featured-copy small{color:#9ec5ff;font-size:13px;font-weight:1000;letter-spacing:.8px;text-transform:uppercase}
.featured-copy h3{margin:14px 0 12px;font-size:34px;line-height:1.15;letter-spacing:-1.6px;word-break:keep-all}
.featured-copy p{margin:0;color:#dbeafe;font-size:16px;line-height:1.7;font-weight:700}
.featured-copy .news-source{margin-top:18px;color:#bfdbfe;font-size:13px;font-weight:850}
.featured-copy a{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:42px;margin-top:18px;padding:0 18px;border-radius:999px;background:#fff;color:#07182d;font-weight:1000}
.news-list-card{background:#fff;border:1px solid #e2e8f0;border-radius:28px;overflow:hidden}
.news-list-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 20px;border-bottom:1px solid #e2e8f0}
.news-list-head strong{font-size:20px;letter-spacing:-.6px}
.news-list{display:grid}
.news-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px 20px;border-bottom:1px solid #edf2f7;transition:.16s ease}
.news-item:last-child{border-bottom:0}
.news-item:hover{background:#f8fbff}
.news-item h4{margin:0;font-size:17px;line-height:1.45;letter-spacing:-.45px;color:#111827;word-break:keep-all}
.news-item p{margin:7px 0 0;color:#64748b;font-size:13px;line-height:1.55;font-weight:700}
.news-item small{display:block;margin-top:8px;color:#94a3b8;font-weight:850}
.news-item a{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:34px;border-radius:999px;background:#000;color:#fff;font-size:12px;font-weight:1000}
.news-side{display:grid;gap:14px;align-content:start}
.news-side-card{padding:18px;border:1px solid #e2e8f0;border-radius:24px;background:#f8fafc}
.news-side-card h3{margin:0 0 12px;font-size:18px;letter-spacing:-.5px}
.news-keyword-list{display:flex;gap:8px;flex-wrap:wrap}
.news-keyword{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;color:#334155;font-size:12px;font-weight:950}
.news-side-card textarea{min-height:104px;border-radius:18px;font-size:14px}
.news-side-card .btn{width:100%;margin-top:10px;min-height:42px}
.news-note{font-size:12px;color:#64748b;line-height:1.6;font-weight:750}
.news-empty{padding:36px 20px;text-align:center;color:#64748b;font-weight:850}
@media(max-width:1100px){.news-dashboard{grid-template-columns:1fr}.featured-news-card{grid-template-columns:1fr}.featured-thumb{min-height:240px}.featured-copy{padding:0}.featured-copy h3{font-size:28px}}
@media(max-width:640px){.news-frame{padding:12px;border-radius:22px}.news-filter{border-radius:18px}.featured-news-card{padding:12px;border-radius:22px}.featured-thumb{border-radius:18px;min-height:190px}.featured-copy h3{font-size:24px}.news-item{grid-template-columns:1fr}.news-item a{width:fit-content}.news-topic-btn{font-size:12px;padding:0 11px}}

/* 내부 기사 모음 + 메인 주요 기사 */
.home-news-preview{max-width:1360px;margin:26px auto 0;text-align:left;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:34px;padding:26px;box-shadow:0 12px 34px rgba(0,0,0,.08)}
.home-news-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.home-news-head small{display:block;color:#006bea;font-size:13px;font-weight:1000;letter-spacing:.9px;text-transform:uppercase;margin-bottom:8px}
.home-news-head h2{margin:0;color:#000;font-size:38px;line-height:1;letter-spacing:-2px}
.home-news-head a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;background:#000;color:#fff;font-weight:1000;font-size:14px}
.home-news-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:14px}
.home-news-card{display:block;border:1px solid #e2e8f0;border-radius:24px;background:#f8fafc;padding:18px;min-height:170px;transition:.18s ease;cursor:pointer}
.home-news-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(15,23,42,.10);background:#fff;border-color:#bfdbfe}
.home-news-card:first-child{min-height:230px;background:linear-gradient(135deg,#07182d,#12325a);color:#fff;border-color:transparent;position:relative;overflow:hidden}
.home-news-card:first-child::after{content:"";position:absolute;right:-70px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:rgba(0,107,234,.34)}
.home-news-card .home-news-tag{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;background:#eff6ff;color:#1e40af;font-size:12px;font-weight:1000}
.home-news-card:first-child .home-news-tag{background:rgba(255,255,255,.16);color:#bfdbfe;border:1px solid rgba(255,255,255,.18)}
.home-news-card h3{position:relative;margin:14px 0 8px;font-size:20px;line-height:1.35;letter-spacing:-.7px;word-break:keep-all}
.home-news-card:first-child h3{font-size:31px;line-height:1.18;letter-spacing:-1.4px;max-width:720px}
.home-news-card p{position:relative;margin:0;color:#64748b;font-size:13px;line-height:1.55;font-weight:750;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.home-news-card:first-child p{color:#dbeafe;font-size:15px;max-width:760px}
.home-news-card small{position:relative;display:block;margin-top:14px;color:#94a3b8;font-size:12px;font-weight:900}
.home-news-card:first-child small{color:#bfdbfe}
.news-reader-card{position:sticky;top:108px}
.news-reader-body{margin-top:14px;color:#334155;font-size:14px;line-height:1.75;font-weight:650;word-break:keep-all}
.news-reader-body p{margin:0 0 12px}
.news-reader-body ul{margin:12px 0 0;padding-left:18px}
.news-reader-body li{margin:6px 0}
.featured-copy a,.news-item a{border:0;cursor:pointer;font-family:inherit}
.featured-copy a{background:#fff;color:#07182d}
.news-item a{background:#000;color:#fff}
.news-item.is-selected{background:#eff6ff}
.news-item.is-selected h4{color:#0057bf}
@media(max-width:1100px){.home-news-grid{grid-template-columns:1fr}.news-reader-card{position:static}.home-news-card:first-child{min-height:190px}}
@media(max-width:640px){.home-news-preview{padding:18px;border-radius:24px}.home-news-head{align-items:flex-start;flex-direction:column}.home-news-head h2{font-size:30px}.home-news-card:first-child h3{font-size:25px}}


.featured-copy button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:42px;margin-top:18px;padding:0 18px;border-radius:999px;background:#fff;color:#07182d;font-weight:1000;border:0;cursor:pointer;font-family:inherit}
.news-item button{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:34px;border-radius:999px;background:#000;color:#fff;font-size:12px;font-weight:1000;border:0;cursor:pointer;font-family:inherit}




/* 홈 화면 심플 대시보드 리디자인: 좌측 대형 사진 / 중앙 핵심 도구 / 우측 주요 기사 */
.home-dashboard{
  display:block!important;
  min-height:100vh;
  max-width:1540px;
  margin:0 auto;
  padding:104px 34px 58px!important;
  text-align:left;
}
.home-clean-top{
  max-width:1440px;
  margin:0 auto 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}
.home-clean-title small{
  display:inline-flex;
  align-items:center;
  height:30px;
  padding:0 12px;
  border-radius:999px;
  background:#eef4ff;
  color:#0057bf;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.home-clean-title h1{
  margin:12px 0 0;
  color:#000;
  font-size:clamp(34px,3.8vw,64px);
  line-height:.98;
  letter-spacing:-3.8px;
  font-weight:1000;
}
.home-clean-title p{
  max-width:720px;
  margin:14px 0 0;
  color:#4b5563;
  font-size:16px;
  line-height:1.7;
  font-weight:750;
  letter-spacing:-.35px;
}
.home-clean-links{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.home-clean-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:42px;
  padding:0 16px;
  border-radius:999px;
  background:#fff;
  border:1px solid #e5e7eb;
  color:#111;
  font-size:13px;
  font-weight:1000;
  box-shadow:0 8px 22px rgba(15,23,42,.05);
}
.home-clean-links a:hover{background:#000;color:#fff;border-color:#000}
.home-clean-grid{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px 340px;
  gap:18px;
  align-items:stretch;
}
.home-photo-board{
  min-height:0!important;
  height:auto!important;
  display:block!important;
  margin:0!important;
  position:relative;
}
.home-photo-board .device{
  width:100%!important;
  height:calc(100vh - 250px)!important;
  min-height:560px!important;
  max-height:760px!important;
  padding:0!important;
  border:0!important;
  border-radius:36px!important;
  background:#000!important;
  box-shadow:0 24px 62px rgba(0,0,0,.18)!important;
}
.home-photo-board .device::before,
.home-photo-board .device::after{display:none!important}
.home-photo-board .screen{border:0!important;border-radius:36px!important}
.home-photo-board .media-copy{
  left:24px!important;
  top:22px!important;
}
.home-photo-board .kicker{
  background:rgba(0,0,0,.38)!important;
  border-color:rgba(255,255,255,.22)!important;
}
.home-photo-board .photo-badge{
  display:block!important;
  left:26px!important;
  bottom:26px!important;
  max-width:calc(100% - 52px);
  font-size:26px!important;
  letter-spacing:-1.2px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.42)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  padding:10px 16px!important;
}
.home-photo-board .thumbs{
  position:absolute!important;
  left:50%!important;
  bottom:22px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  flex-direction:row!important;
  max-width:calc(100% - 120px)!important;
  z-index:10!important;
}
.home-center-tools{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px;
}
.home-center-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:0;
  padding:24px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 14px 34px rgba(15,23,42,.08);
  transition:.22s ease;
}
.home-center-card::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-80px;
  width:190px;
  height:190px;
  border-radius:50%;
  background:rgba(0,107,234,.10);
}
.home-center-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 46px rgba(15,23,42,.12);
}
.home-center-card.tools{background:#000;color:#fff}
.home-center-card.tools::after{background:rgba(0,107,234,.28)}
.home-center-card small{
  position:relative;
  z-index:1;
  color:#006bea;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.home-center-card.tools small{color:#8ec5ff}
.home-center-card strong{
  position:relative;
  z-index:1;
  display:block;
  margin-top:10px;
  color:#000;
  font-size:27px;
  line-height:1.05;
  letter-spacing:-1.2px;
}
.home-center-card.tools strong{color:#fff}
.home-center-card em{
  position:relative;
  z-index:1;
  display:block;
  margin-top:12px;
  color:#64748b;
  font-style:normal;
  font-size:14px;
  line-height:1.6;
  font-weight:750;
  word-break:keep-all;
}
.home-center-card.tools em{color:#d1d5db}
.home-center-card b{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  height:38px;
  padding:0 16px;
  border-radius:999px;
  background:#000;
  color:#fff;
  font-size:13px;
  font-weight:1000;
}
.home-center-card.tools b{background:#fff;color:#000}
.home-news-priority{
  margin:0!important;
  max-width:none!important;
  min-height:0!important;
  padding:20px!important;
  border-radius:30px!important;
  background:#fff!important;
  border:1px solid rgba(0,0,0,.06)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
  display:flex;
  flex-direction:column;
}
.home-news-priority .home-news-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.home-news-priority .home-news-head small{
  display:block;
  margin-bottom:5px;
  color:#006bea;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.home-news-priority .home-news-head h2{
  margin:0;
  color:#000;
  font-size:25px;
  line-height:1;
  letter-spacing:-1.2px;
}
.home-news-priority .home-news-head a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  background:#000;
  color:#fff;
  font-size:12px;
  font-weight:1000;
}
.home-news-priority .home-news-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  min-height:0;
  height:100%;
  overflow:hidden;
}
.home-news-priority .home-news-card{
  display:block;
  min-height:0!important;
  padding:15px!important;
  border-radius:20px!important;
  background:#f8fafc!important;
  border:1px solid #e5e7eb!important;
  color:#111!important;
  box-shadow:none!important;
}
.home-news-priority .home-news-card:hover{
  transform:translateY(-2px);
  background:#fff!important;
  border-color:#bfdbfe!important;
  box-shadow:0 12px 26px rgba(15,23,42,.08)!important;
}
.home-news-priority .home-news-card:first-child{
  background:linear-gradient(135deg,#07182d,#12325a)!important;
  color:#fff!important;
  border-color:transparent!important;
}
.home-news-priority .home-news-card:first-child::after{display:none!important}
.home-news-priority .home-news-card .home-news-tag{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 9px;
  border-radius:999px;
  background:#eff6ff;
  color:#1e40af;
  font-size:11px;
  font-weight:1000;
}
.home-news-priority .home-news-card:first-child .home-news-tag{
  background:rgba(255,255,255,.15);
  color:#bfdbfe;
  border:1px solid rgba(255,255,255,.18);
}
.home-news-priority .home-news-card h3{
  margin:10px 0 6px!important;
  font-size:16px!important;
  line-height:1.36!important;
  letter-spacing:-.55px!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:keep-all;
}
.home-news-priority .home-news-card:first-child h3{font-size:18px!important;color:#fff!important}
.home-news-priority .home-news-card p{
  margin:0!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.5!important;
  font-weight:750!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-news-priority .home-news-card:first-child p{color:#dbeafe!important}
.home-news-priority .home-news-card small{
  display:block;
  margin-top:10px!important;
  color:#94a3b8!important;
  font-size:11px!important;
  font-weight:900!important;
}
.home-news-priority .home-news-card:first-child small{color:#bfdbfe!important}
@media(max-width:1180px){
  .home-clean-top{align-items:flex-start;flex-direction:column;}
  .home-clean-links{justify-content:flex-start;}
  .home-clean-grid{grid-template-columns:1fr 260px;}
  .home-news-priority{grid-column:1 / -1;}
  .home-news-priority .home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-photo-board .device{height:58vh!important;min-height:480px!important;}
}
@media(max-width:760px){
  .home-dashboard{padding:92px 15px 42px!important;}
  .home-clean-top{margin-bottom:14px;}
  .home-clean-title h1{font-size:38px;letter-spacing:-2.6px;}
  .home-clean-title p{font-size:14px;line-height:1.65;}
  .home-clean-grid{grid-template-columns:1fr;gap:14px;}
  .home-photo-board .device{height:430px!important;min-height:430px!important;border-radius:28px!important;}
  .home-photo-board .screen{border-radius:28px!important;}
  .home-photo-board .thumbs{display:none!important;}
  .home-photo-board .photo-badge{font-size:20px!important;left:18px!important;bottom:18px!important;}
  .home-center-tools{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:12px;}
  .home-center-card{min-height:190px;padding:20px;border-radius:24px;}
  .home-center-card strong{font-size:23px;}
  .home-center-card em{font-size:12px;line-height:1.5;}
  .home-news-priority{padding:16px!important;border-radius:24px!important;}
  .home-news-priority .home-news-head{align-items:flex-start;flex-direction:column;}
  .home-news-priority .home-news-grid{grid-template-columns:1fr;}
}
@media(max-width:460px){
  .home-center-tools{grid-template-columns:1fr;}
  .home-photo-board .device{height:360px!important;min-height:360px!important;}
}


/* 홈 레이아웃 v2: 좌측 대형 사진 / 우측 상단 소형 도구 / 우측 하단 주요 기사 */
.home-dashboard{
  max-width:1560px;
  padding:104px 34px 54px!important;
}
.home-clean-top{
  margin-bottom:16px;
}
.home-clean-title p{
  max-width:680px;
}
.home-clean-grid{
  grid-template-columns:minmax(0,1fr) 370px!important;
  gap:18px!important;
  align-items:stretch!important;
}
.home-photo-board{
  grid-column:1!important;
  grid-row:1!important;
}
.home-photo-board .device{
  height:calc(100vh - 236px)!important;
  min-height:590px!important;
  max-height:780px!important;
  border-radius:38px!important;
}
.home-photo-board .screen{border-radius:38px!important;}
.home-right-rail{
  grid-column:2!important;
  grid-row:1!important;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:0;
}
.home-center-tools{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto!important;
  gap:10px!important;
  flex:0 0 auto;
}
.home-center-card{
  min-height:116px!important;
  padding:17px 16px!important;
  border-radius:24px!important;
  box-shadow:0 10px 26px rgba(15,23,42,.07)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
.home-center-card::after{
  right:-62px!important;
  bottom:-70px!important;
  width:150px!important;
  height:150px!important;
}
.home-center-card small{
  font-size:10px!important;
  letter-spacing:.7px!important;
}
.home-center-card strong{
  margin-top:6px!important;
  font-size:18px!important;
  line-height:1.12!important;
  letter-spacing:-.65px!important;
  white-space:nowrap;
}
.home-center-card em{
  margin-top:7px!important;
  font-size:11px!important;
  line-height:1.35!important;
  color:#64748b!important;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-center-card.tools em{color:#cbd5e1!important;}
.home-center-card b{
  height:28px!important;
  padding:0 11px!important;
  font-size:11px!important;
}
.home-news-priority{
  flex:1 1 auto;
  min-height:0!important;
  padding:18px!important;
  border-radius:28px!important;
}
.home-news-priority .home-news-head{
  margin-bottom:12px!important;
}
.home-news-priority .home-news-head h2{
  font-size:24px!important;
}
.home-news-priority .home-news-grid{
  gap:9px!important;
  overflow:auto!important;
  padding-right:2px;
}
.home-news-priority .home-news-card{
  padding:14px!important;
  border-radius:18px!important;
}
.home-news-priority .home-news-card h3{
  font-size:15px!important;
  line-height:1.36!important;
}
.home-news-priority .home-news-card:first-child h3{
  font-size:17px!important;
}
.home-news-priority .home-news-card p{
  -webkit-line-clamp:2;
}
@media(max-width:1180px){
  .home-clean-grid{grid-template-columns:1fr!important;}
  .home-photo-board,.home-right-rail{grid-column:1!important;grid-row:auto!important;}
  .home-photo-board .device{height:58vh!important;min-height:500px!important;}
  .home-right-rail{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;}
  .home-center-tools{grid-template-columns:1fr!important;align-content:start;}
  .home-news-priority .home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;}
}
@media(max-width:760px){
  .home-dashboard{padding:92px 15px 42px!important;}
  .home-clean-grid{gap:14px!important;}
  .home-photo-board .device{height:430px!important;min-height:430px!important;border-radius:28px!important;}
  .home-photo-board .screen{border-radius:28px!important;}
  .home-right-rail{display:flex;flex-direction:column;gap:12px;}
  .home-center-tools{grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .home-center-card{min-height:104px!important;padding:15px!important;border-radius:22px!important;}
  .home-center-card strong{font-size:17px!important;white-space:normal;}
  .home-center-card em{font-size:10.5px!important;}
  .home-news-priority{padding:16px!important;border-radius:24px!important;}
  .home-news-priority .home-news-head{align-items:center!important;flex-direction:row!important;}
  .home-news-priority .home-news-grid{grid-template-columns:1fr!important;}
}
@media(max-width:460px){
  .home-center-tools{grid-template-columns:1fr!important;}
  .home-photo-board .device{height:360px!important;min-height:360px!important;}
}




.news-item h4 .news-title-link{display:inline!important;min-width:0!important;height:auto!important;border-radius:0!important;background:transparent!important;color:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;text-align:left!important}
.news-item h4 .news-title-link:hover{text-decoration:underline;text-underline-offset:3px}

/* 기사 모음 외부 링크형 정리 */
.news-dashboard{grid-template-columns:1fr!important}
.news-side{display:none!important}
.news-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.news-item{min-height:150px}
.news-item a,.news-item button,.featured-copy a,.featured-copy button{cursor:pointer}
.news-item.is-selected{background:transparent!important}
.news-item.is-selected h4{color:#111827!important}
.news-list-head span::after{content:" · 클릭 시 원문 이동";color:#94a3b8;font-weight:800}
@media(max-width:900px){.news-list{grid-template-columns:1fr}}


/* 기사 미리보기 팝업 */
.news-preview-dim{position:fixed;inset:0;z-index:220;display:none;align-items:center;justify-content:center;background:rgba(2,8,23,.54);backdrop-filter:blur(8px);padding:18px}.news-preview-dim.open{display:flex}.news-preview-modal{width:min(720px,100%);max-height:min(760px,calc(100vh - 34px));display:flex;flex-direction:column;background:#fff;border-radius:30px;box-shadow:0 34px 100px rgba(0,0,0,.34);overflow:hidden;border:1px solid rgba(255,255,255,.75)}.news-preview-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:22px 24px;background:linear-gradient(135deg,#07182d,#102846);color:#fff}.news-preview-head small{display:block;color:#9ec5ff;font-size:12px;font-weight:950;letter-spacing:.7px;text-transform:uppercase;margin-bottom:8px}.news-preview-head h3{margin:0;font-size:24px;line-height:1.28;letter-spacing:-.9px}.news-preview-close{border:0;background:rgba(255,255,255,.14);color:#fff;width:38px;height:38px;border-radius:50%;font-size:24px;cursor:pointer;flex:0 0 auto}.news-preview-close:hover{background:rgba(255,255,255,.24)}.news-preview-body{padding:22px 24px;overflow:auto}.news-preview-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;color:#64748b;font-size:13px;font-weight:850}.news-preview-meta span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f1f5f9}.news-preview-content{font-size:16px;line-height:1.82;color:#1f2937;font-weight:650;word-break:keep-all}.news-preview-content p{margin:0 0 14px}.news-preview-loading{padding:34px 0;text-align:center;color:#64748b;font-weight:900}.news-preview-notice{margin-top:14px;padding:13px 15px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:13px;line-height:1.55;font-weight:800}.news-preview-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:16px 24px;border-top:1px solid #e5e7eb;background:#fbfdff}.news-preview-actions a,.news-preview-actions button{min-height:44px;border-radius:999px;padding:0 18px;font-weight:1000;border:0;cursor:pointer}.news-preview-actions button{background:#f1f5f9;color:#111}.news-preview-actions a{display:inline-flex;align-items:center;justify-content:center;background:#000;color:#fff;text-decoration:none}.news-preview-actions a.disabled{opacity:.45;pointer-events:none}.news-title-link,.home-news-card{cursor:pointer}.home-news-card{border:0;text-align:left;width:100%;font-family:inherit}@media(max-width:700px){.news-preview-dim{padding:10px}.news-preview-modal{border-radius:22px;max-height:calc(100vh - 20px)}.news-preview-head{padding:18px}.news-preview-head h3{font-size:20px}.news-preview-body{padding:18px}.news-preview-actions{padding:14px 18px;flex-direction:column-reverse;align-items:stretch}.news-preview-actions a,.news-preview-actions button{width:100%}}



/* 신문형 뉴스 레이아웃 v2 - 외부 원문 바로 이동 */
.news-frame{
  background:#fff!important;
  border:1px solid #e5e7eb!important;
  box-shadow:0 18px 50px rgba(15,23,42,.08)!important;
  border-radius:22px!important;
  padding:18px!important;
}
.news-dashboard{display:block!important}
.news-filter{
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  padding:0 0 14px!important;
  border-bottom:3px solid #111827!important;
}
.news-topic-tabs{gap:6px!important}
.news-topic-btn{
  min-height:36px!important;
  padding:0 13px!important;
  border-radius:4px!important;
  background:#f3f4f6!important;
  border:1px solid #d1d5db!important;
  color:#111827!important;
  font-size:13px!important;
}
.news-topic-btn.active{background:#2f65d9!important;color:#fff!important;border-color:#2f65d9!important}
.news-meta{font-size:12px!important;color:#6b7280!important}
.featured-news-card{
  display:grid!important;
  grid-template-columns:1.05fr .95fr!important;
  gap:18px!important;
  min-height:0!important;
  padding:0!important;
  margin-top:16px!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.news-lead-card,.news-mini-card,.news-row-link{
  color:inherit;text-decoration:none;
}
.news-lead-card{display:block;border-bottom:1px solid #e5e7eb;padding-bottom:12px}
.news-lead-img{position:relative;display:block;width:100%;aspect-ratio:1.55/1;background:#e5e7eb;overflow:hidden}
.news-lead-img img,.news-mini-img img,.news-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.news-lead-img span{position:absolute;right:10px;bottom:10px;display:inline-flex;height:24px;padding:0 9px;align-items:center;border-radius:4px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;font-weight:900}
.news-lead-card h3{margin:12px 0 7px!important;font-size:30px!important;line-height:1.18!important;letter-spacing:-1.5px!important;color:#111827!important;word-break:keep-all}
.news-lead-card p{margin:0 0 8px!important;color:#4b5563!important;font-size:14px!important;line-height:1.55!important;font-weight:700!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card-meta{color:#6b7280;font-size:12px;font-weight:850}
.news-card-meta b{color:#2563eb;margin-right:5px}
.news-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 16px}
.news-mini-card{display:block;border-bottom:1px solid #e5e7eb;padding-bottom:10px}
.news-mini-img{width:100%;aspect-ratio:1.52/1;background:#e5e7eb;margin-bottom:8px;overflow:hidden}
.news-mini-card h4{margin:0 0 6px!important;font-size:15px!important;line-height:1.32!important;letter-spacing:-.45px!important;color:#111827!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}
.news-mini-card small{color:#6b7280;font-size:11px;font-weight:850}
.news-list-card{margin-top:16px!important;border:0!important;border-radius:0!important;background:#fff!important;overflow:visible!important}
.news-list-head{padding:9px 0 10px!important;border-top:1px solid #111827!important;border-bottom:1px solid #d1d5db!important}
.news-list-head strong{font-size:18px!important;letter-spacing:-.5px!important}
.news-list{display:grid!important;grid-template-columns:1.1fr 1.1fr .85fr!important;gap:0 22px!important;align-items:start!important}
.news-item{display:block!important;padding:13px 0!important;border-bottom:1px solid #e5e7eb!important;background:#fff!important}
.news-item:hover{background:#fff!important}
.news-row-link{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px;align-items:start}
.news-row-link.no-thumb{display:block}
.news-item h4{margin:0!important;font-size:15.5px!important;line-height:1.36!important;letter-spacing:-.45px!important;color:#111827!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}
.news-item p{margin:6px 0 0!important;color:#4b5563!important;font-size:12px!important;line-height:1.45!important;font-weight:650!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-item small{display:block!important;margin-top:7px!important;color:#6b7280!important;font-size:11px!important;font-weight:850!important}
.news-row-thumb{width:92px;height:62px;background:#e5e7eb;overflow:hidden}
.news-title-link:hover h4,.news-lead-card:hover h3,.news-mini-card:hover h4,.news-row-link:hover h4{color:#1d4ed8!important;text-decoration:underline;text-underline-offset:3px}
.featured-copy,.featured-thumb{display:none!important}
.news-side,.news-reader-card,.news-preview-dim{display:none!important}
.home-news-priority .home-news-card{cursor:pointer!important}
.home-news-priority .home-news-card:hover h3{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){
  .featured-news-card{grid-template-columns:1fr!important}
  .news-list{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
  .news-frame{padding:12px!important;border-radius:18px!important}
  .news-filter{gap:10px!important}
  .news-topic-tabs{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:3px}
  .news-topic-btn{flex:0 0 auto;font-size:12px!important}
  .news-lead-card h3{font-size:24px!important}
  .news-mini-grid{grid-template-columns:1fr!important}
  .news-list{grid-template-columns:1fr!important}
  .news-row-link{grid-template-columns:minmax(0,1fr) 84px}
  .news-row-thumb{width:84px;height:56px}
}



/* 뉴스 화면 요청 반영: 하단 기사모음은 텍스트 중심, 상단 우측은 이미지와 제목 공간 분리 */
.news-mini-grid{
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-content:start!important;
}
.news-mini-card{
  display:grid!important;
  grid-template-columns:142px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  min-height:96px!important;
  padding:0 0 10px!important;
}
.news-mini-img{
  width:142px!important;
  height:92px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  border-radius:2px!important;
}
.news-mini-card h4{
  font-size:16px!important;
  line-height:1.38!important;
  -webkit-line-clamp:3!important;
  margin:1px 0 7px!important;
}
.news-mini-card small{
  display:block!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.news-list{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0 24px!important;
}
.news-item{
  min-height:0!important;
  padding:12px 0!important;
}
.news-row-link,
.news-row-link.no-thumb{
  display:block!important;
  background:transparent!important;
}
.news-row-thumb{display:none!important}
.news-item h4{
  font-size:15.5px!important;
  line-height:1.42!important;
  -webkit-line-clamp:2!important;
}
.news-item p{
  margin:5px 0 0!important;
  padding:0!important;
  background:transparent!important;
  color:#4b5563!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:650!important;
  box-shadow:none!important;
  border:0!important;
}
.news-item p::before,.news-item p::after{display:none!important;content:none!important}
.news-row-link img{display:none!important}
@media(max-width:1100px){
  .news-mini-card{grid-template-columns:132px minmax(0,1fr)!important}
  .news-mini-img{width:132px!important;height:86px!important}
  .news-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .news-mini-card{grid-template-columns:112px minmax(0,1fr)!important;gap:10px!important}
  .news-mini-img{width:112px!important;height:74px!important}
  .news-mini-card h4{font-size:14px!important;-webkit-line-clamp:3!important}
  .news-list{grid-template-columns:1fr!important}
}


/* 기사 모음 여백 개선: 하단 목록을 넓직하게 정리 */
#newsPage .subpage-shell{max-width:1580px!important;}
#newsPage .news-frame{padding:24px 28px 38px!important;border-radius:26px!important;}
#newsPage .news-list-card{margin-top:24px!important;margin-bottom:34px!important;padding-bottom:26px!important;}
#newsPage .news-list-head{padding:14px 0 16px!important;margin-bottom:4px!important;}
#newsPage .news-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 42px!important;
}
#newsPage .news-item{
  padding:18px 0 17px!important;
  min-height:122px!important;
}
#newsPage .news-item h4{
  font-size:17px!important;
  line-height:1.48!important;
  -webkit-line-clamp:2!important;
}
#newsPage .news-item p{
  margin-top:8px!important;
  font-size:13px!important;
  line-height:1.6!important;
  -webkit-line-clamp:2!important;
}
#newsPage .news-item small{margin-top:10px!important;font-size:12px!important;}
#newsPage .news-list::after{
  content:"";
  display:block;
  height:18px;
  grid-column:1/-1;
}
@media(max-width:900px){
  #newsPage .news-frame{padding:18px 18px 30px!important;}
  #newsPage .news-list{grid-template-columns:1fr!important;gap:0!important;}
  #newsPage .news-item{min-height:0!important;padding:16px 0!important;}
}
@media(max-width:640px){
  #newsPage .news-frame{padding:14px 14px 26px!important;}
  #newsPage .news-item h4{font-size:15.5px!important;}
  #newsPage .news-item p{font-size:12.5px!important;}
}


/* =========================================================
   2026 Premium Corporate Redesign Override
   목적: 대기업 프로젝트 느낌의 뉴스/집행 포털 레이아웃 정리
   ========================================================= */
:root{
  --corp-bg:#eef2f7;
  --corp-ink:#0b1220;
  --corp-muted:#667085;
  --corp-line:#d9e2ef;
  --corp-navy:#07182d;
  --corp-navy-2:#0d2a4f;
  --corp-blue:#0b63f6;
  --corp-blue-2:#2f80ed;
  --corp-card:#ffffff;
  --corp-soft:#f7f9fc;
  --corp-shadow:0 24px 70px rgba(15,23,42,.12);
  --corp-shadow-soft:0 14px 34px rgba(15,23,42,.08);
}
body{
  background:
    radial-gradient(circle at 8% 0%,rgba(11,99,246,.12),transparent 32%),
    radial-gradient(circle at 90% 7%,rgba(7,24,45,.09),transparent 30%),
    linear-gradient(180deg,#f9fbff 0%,#eef2f7 46%,#e9eef5 100%)!important;
  color:var(--corp-ink)!important;
}
.app-header{
  height:72px!important;
  padding:0 42px!important;
  background:rgba(255,255,255,.82)!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 10px 34px rgba(15,23,42,.06)!important;
  backdrop-filter:blur(22px) saturate(1.2)!important;
}
.brand{gap:12px!important;font-size:20px!important;letter-spacing:-.75px!important;color:#0a1220!important}
.brand-mark{width:40px!important;height:40px!important;border-radius:13px!important;background:linear-gradient(145deg,#0b63f6,#07182d)!important;box-shadow:0 12px 28px rgba(11,99,246,.22)!important}
.header-nav{
  background:rgba(247,249,252,.72)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:999px!important;
  padding:5px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.header-nav a{height:34px!important;display:inline-flex!important;align-items:center!important;padding:0 13px!important;font-size:13px!important;font-weight:900!important;color:#263244!important;letter-spacing:-.25px!important}
.header-nav a.active,.header-nav a:hover{background:#07182d!important;color:#fff!important;box-shadow:0 8px 18px rgba(7,24,45,.14)!important}
.music-bar{top:17px!important;right:36px!important;box-shadow:0 12px 28px rgba(15,23,42,.10)!important}

/* Home: executive dashboard */
.home-dashboard{
  max-width:1760px!important;
  min-height:100vh!important;
  padding:108px 34px 52px!important;
  text-align:left!important;
}
.home-clean-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:28px!important;
  align-items:end!important;
  max-width:1660px!important;
  margin:0 auto 24px!important;
  padding:0 4px!important;
}
.home-clean-title small{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  margin:0 0 14px!important;color:var(--corp-blue)!important;font-size:12px!important;font-weight:1000!important;letter-spacing:1.35px!important;text-transform:uppercase!important;
}
.home-clean-title small::before{content:"";width:38px;height:2px;border-radius:999px;background:var(--corp-blue);display:block}
.home-clean-title h1{
  margin:0!important;
  font-size:clamp(44px,4.6vw,76px)!important;
  line-height:.95!important;
  letter-spacing:-4.8px!important;
  color:#050b16!important;
}
.home-clean-title p{
  max-width:760px!important;
  margin:18px 0 0!important;
  color:#566174!important;
  font-size:16px!important;
  line-height:1.75!important;
  font-weight:750!important;
  letter-spacing:-.35px!important;
}
.home-clean-links{display:flex!important;gap:10px!important;align-items:center!important;justify-content:flex-end!important}
.home-clean-links a{
  min-height:42px!important;padding:0 18px!important;border-radius:999px!important;
  background:#fff!important;border:1px solid rgba(15,23,42,.10)!important;color:#0b1220!important;
  font-size:13px!important;font-weight:1000!important;box-shadow:var(--corp-shadow-soft)!important;
}
.home-clean-links a:first-child{background:#07182d!important;color:#fff!important;border-color:#07182d!important}
.home-clean-grid{
  max-width:1660px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 392px!important;
  gap:24px!important;
  align-items:stretch!important;
}
.home-photo-board{
  margin:0!important;
  height:calc(100vh - 250px)!important;
  min-height:610px!important;
  max-height:760px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px!important;
  gap:12px!important;
}
.home-photo-board .device{
  height:100%!important;min-height:0!important;width:100%!important;
  border-radius:36px!important;background:#07182d!important;
  padding:0!important;border:1px solid rgba(255,255,255,.55)!important;
  box-shadow:0 34px 90px rgba(15,23,42,.20)!important;
}
.home-photo-board .screen{border-radius:36px!important;border:0!important;background:#07182d!important}
.home-photo-board .photo-card::after{
  background:linear-gradient(to top,rgba(5,11,22,.58),transparent 38%),linear-gradient(120deg,rgba(5,11,22,.26),transparent 48%)!important;
}
.home-photo-board .media-copy{left:26px!important;top:26px!important}
.home-photo-board .kicker{
  background:rgba(255,255,255,.13)!important;border-color:rgba(255,255,255,.24)!important;
  box-shadow:none!important;color:#fff!important;font-size:11px!important;letter-spacing:1.3px!important;
}
.home-photo-board .photo-badge{
  left:30px!important;bottom:30px!important;padding:12px 18px!important;border-radius:20px!important;
  background:rgba(7,24,45,.58)!important;border:1px solid rgba(255,255,255,.16)!important;
  font-size:clamp(26px,3vw,44px)!important;letter-spacing:-2.2px!important;
}
.home-photo-board .thumbs{display:flex!important;flex-direction:column!important;gap:9px!important;padding:0!important;background:transparent!important;border:0!important;position:static!important;transform:none!important;max-width:none!important;backdrop-filter:none!important;overflow:auto!important}
.home-photo-board .thumb{width:72px!important;height:58px!important;border-radius:18px!important;opacity:.46!important;box-shadow:0 10px 22px rgba(15,23,42,.12)!important;outline:0!important;border:1px solid rgba(255,255,255,.8)!important}
.home-photo-board .thumb.active{opacity:1!important;outline:2px solid var(--corp-blue)!important;box-shadow:0 16px 30px rgba(11,99,246,.22)!important}
.home-right-rail{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;gap:14px!important;min-width:0!important}
.home-center-tools{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;
}
.home-center-card{
  min-height:112px!important;border-radius:26px!important;padding:18px!important;
  background:rgba(255,255,255,.88)!important;border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:var(--corp-shadow-soft)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;
  transition:.22s ease!important;overflow:hidden!important;position:relative!important;
}
.home-center-card::after{content:"";position:absolute;right:-36px;bottom:-46px;width:120px;height:120px;border-radius:50%;background:rgba(11,99,246,.09)}
.home-center-card:hover{transform:translateY(-4px)!important;box-shadow:0 24px 52px rgba(15,23,42,.13)!important}
.home-center-card small{display:block!important;color:var(--corp-blue)!important;font-size:11px!important;font-weight:1000!important;letter-spacing:.9px!important;text-transform:uppercase!important}
.home-center-card strong{display:block!important;margin-top:6px!important;color:#07111f!important;font-size:22px!important;letter-spacing:-.95px!important}
.home-center-card em{display:block!important;margin-top:5px!important;color:#667085!important;font-size:12px!important;line-height:1.45!important;font-style:normal!important;font-weight:750!important}
.home-center-card b{align-self:flex-start!important;margin-top:14px!important;height:30px!important;padding:0 12px!important;border-radius:999px!important;background:#07182d!important;color:#fff!important;font-size:12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;z-index:2!important}
.home-center-card.calendar b{background:var(--corp-blue)!important}
.home-news-priority{
  margin:0!important;width:100%!important;max-width:none!important;min-height:0!important;
  padding:20px!important;border-radius:28px!important;
  background:rgba(255,255,255,.88)!important;border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:var(--corp-shadow-soft)!important;backdrop-filter:blur(18px)!important;
}
.home-news-priority .home-news-head{margin:0 0 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border-bottom:1px solid rgba(15,23,42,.07)!important;padding-bottom:14px!important}
.home-news-priority .home-news-head small{margin:0 0 5px!important;color:var(--corp-blue)!important;font-size:11px!important;font-weight:1000!important;letter-spacing:1px!important;text-transform:uppercase!important}
.home-news-priority .home-news-head h2{margin:0!important;font-size:25px!important;letter-spacing:-1.2px!important;color:#07111f!important}
.home-news-priority .home-news-head a{height:32px!important;min-height:32px!important;padding:0 12px!important;border-radius:999px!important;background:#07182d!important;color:#fff!important;font-size:12px!important;font-weight:1000!important}
.home-news-priority .home-news-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.home-news-priority .home-news-card,
.home-news-priority .home-news-card:first-child{
  min-height:0!important;padding:13px 0 13px!important;border-radius:0!important;
  background:transparent!important;color:#07111f!important;border:0!important;border-bottom:1px solid rgba(15,23,42,.08)!important;
  box-shadow:none!important;display:block!important;overflow:visible!important;
}
.home-news-priority .home-news-card:last-child{border-bottom:0!important}
.home-news-priority .home-news-card:hover{transform:none!important;background:transparent!important;box-shadow:none!important}
.home-news-priority .home-news-card::after{display:none!important}
.home-news-priority .home-news-tag,
.home-news-priority .home-news-card:first-child .home-news-tag{
  height:24px!important;padding:0 8px!important;background:#eef4ff!important;color:#175cd3!important;border:1px solid #dbeafe!important;border-radius:999px!important;font-size:11px!important;font-weight:1000!important;
}
.home-news-priority .home-news-card h3,
.home-news-priority .home-news-card:first-child h3{
  margin:9px 0 5px!important;color:#111827!important;font-size:15.5px!important;line-height:1.38!important;letter-spacing:-.55px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
}
.home-news-priority .home-news-card p,
.home-news-priority .home-news-card:first-child p{display:none!important}
.home-news-priority .home-news-card small,
.home-news-priority .home-news-card:first-child small{margin-top:0!important;color:#7a8494!important;font-size:11.5px!important;font-weight:900!important}

/* Sub pages and components */
.subpage{padding:104px 30px 56px!important;background:transparent!important}
.subpage-shell{max-width:1620px!important;margin:0 auto!important}
.subpage-top{
  border-radius:30px!important;background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(15,23,42,.08)!important;box-shadow:var(--corp-shadow-soft)!important;
  backdrop-filter:blur(18px)!important;padding:26px 30px!important;margin-bottom:20px!important;
}
.subpage-title small{color:var(--corp-blue)!important;letter-spacing:1.3px!important;font-size:12px!important}
.subpage-title h2{font-size:clamp(36px,3.4vw,56px)!important;letter-spacing:-3px!important;color:#07111f!important}
.back-btn{background:#07182d!important;color:#fff!important;border-radius:999px!important;height:42px!important;padding:0 18px!important;box-shadow:0 14px 30px rgba(7,24,45,.14)!important}
.calculator-frame,.spell-checker-frame,.calendar-frame{border-radius:30px!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:var(--corp-shadow)!important;background:rgba(255,255,255,.92)!important}
.card{border-radius:26px!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:var(--corp-shadow-soft)!important}
.card h2{background:linear-gradient(135deg,#07182d,#103d72)!important}
.btn{background:#07182d!important;border-radius:999px!important;box-shadow:none!important}.btn.blue{background:var(--corp-blue)!important}.btn.green{background:#07845d!important}.btn.secondary{background:#fff!important;color:#182234!important;border:1px solid rgba(15,23,42,.10)!important}

/* Premium news archive */
#newsPage .subpage-shell{max-width:1660px!important}
#newsPage .news-frame{
  padding:28px 30px 44px!important;border-radius:32px!important;
  background:rgba(255,255,255,.92)!important;border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:var(--corp-shadow)!important;
}
#newsPage .news-dashboard{display:block!important}
#newsPage .news-filter{
  padding:0 0 22px!important;margin-bottom:24px!important;border:0!important;border-bottom:1px solid rgba(15,23,42,.10)!important;border-radius:0!important;background:transparent!important;
}
#newsPage .news-topic-tabs{gap:7px!important}
#newsPage .news-topic-btn{
  min-height:36px!important;padding:0 14px!important;border-radius:999px!important;background:#f5f7fb!important;border:1px solid #dbe3ef!important;color:#263244!important;font-size:13px!important;font-weight:1000!important;
}
#newsPage .news-topic-btn.active{background:#07182d!important;color:#fff!important;border-color:#07182d!important;box-shadow:0 12px 24px rgba(7,24,45,.14)!important}
#newsPage .news-meta{color:#7a8494!important;font-size:12px!important;font-weight:900!important}
#newsPage .featured-news-card{
  display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)!important;gap:24px!important;
  background:transparent!important;color:#07111f!important;box-shadow:none!important;border-radius:0!important;padding:0!important;min-height:0!important;overflow:visible!important;
}
#newsPage .news-lead-card{
  padding:0 0 18px!important;border:0!important;border-radius:28px!important;background:#fff!important;overflow:hidden!important;
  box-shadow:var(--corp-shadow-soft)!important;border:1px solid rgba(15,23,42,.08)!important;
}
#newsPage .news-lead-img{aspect-ratio:1.86/1!important;border-radius:0!important;background:#e6edf6!important}
#newsPage .news-lead-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,24,45,.48),transparent 45%);pointer-events:none}
#newsPage .news-lead-img span{left:18px!important;right:auto!important;bottom:16px!important;height:30px!important;padding:0 12px!important;border-radius:999px!important;background:rgba(255,255,255,.92)!important;color:#07182d!important;font-size:12px!important;z-index:2!important}
#newsPage .news-lead-card h3{padding:20px 22px 0!important;margin:0 0 10px!important;font-size:clamp(26px,2.4vw,42px)!important;line-height:1.15!important;letter-spacing:-2.2px!important;color:#07111f!important}
#newsPage .news-lead-card p{padding:0 22px!important;margin:0 0 12px!important;color:#536173!important;font-size:15px!important;line-height:1.65!important;font-weight:750!important}
#newsPage .news-card-meta{padding:0 22px!important;color:#7a8494!important;font-size:12px!important;font-weight:900!important}
#newsPage .news-mini-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
#newsPage .news-mini-card{padding:0!important;border:1px solid rgba(15,23,42,.08)!important;border-radius:22px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 12px 26px rgba(15,23,42,.06)!important}
#newsPage .news-mini-img{height:118px!important;width:100%!important;margin:0!important;background:#e6edf6!important;aspect-ratio:auto!important}
#newsPage .news-mini-card h4{padding:12px 14px 0!important;margin:0 0 8px!important;font-size:15px!important;line-height:1.38!important;letter-spacing:-.55px!important;color:#111827!important;-webkit-line-clamp:3!important}
#newsPage .news-mini-card small{display:block!important;padding:0 14px 14px!important;color:#7a8494!important;font-size:11.5px!important;font-weight:900!important}
#newsPage .news-list-card{margin-top:30px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding-bottom:34px!important;overflow:visible!important}
#newsPage .news-list-head{padding:0 0 16px!important;margin:0 0 4px!important;border-bottom:2px solid #07182d!important;display:flex!important;align-items:end!important}
#newsPage .news-list-head strong{font-size:24px!important;letter-spacing:-1.1px!important;color:#07111f!important}
#newsPage .news-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 56px!important}
#newsPage .news-item{min-height:116px!important;padding:20px 0!important;border-bottom:1px solid rgba(15,23,42,.10)!important;display:block!important}
#newsPage .news-row-link.no-thumb{display:block!important}
#newsPage .news-item h4{font-size:18px!important;line-height:1.48!important;letter-spacing:-.75px!important;color:#111827!important;-webkit-line-clamp:2!important}
#newsPage .news-item p{margin-top:9px!important;color:#596678!important;font-size:13.5px!important;line-height:1.64!important;font-weight:720!important;-webkit-line-clamp:2!important;background:transparent!important;padding:0!important}
#newsPage .news-item small{margin-top:10px!important;color:#8a94a6!important;font-size:12px!important;font-weight:900!important}
#newsPage a:hover h3,#newsPage a:hover h4{color:var(--corp-blue)!important;text-decoration:none!important}

/* responsive */
@media(max-width:1280px){
  .app-header{padding:0 24px!important}.music-bar{top:78px!important;right:24px!important}
  .home-clean-grid{grid-template-columns:1fr!important}.home-right-rail{grid-template-columns:310px minmax(0,1fr)!important;grid-template-rows:auto!important}.home-news-priority{min-height:100%!important}.home-photo-board{height:58vh!important;min-height:520px!important}
  #newsPage .featured-news-card{grid-template-columns:1fr!important}.news-mini-grid{grid-template-columns:repeat(4,1fr)!important}
}
@media(max-width:980px){
  .home-dashboard{padding:98px 18px 38px!important}.home-clean-top{grid-template-columns:1fr!important;align-items:start!important}.home-clean-links{justify-content:flex-start!important}.home-clean-grid{gap:18px!important}.home-right-rail{grid-template-columns:1fr!important}.home-photo-board{grid-template-columns:1fr!important;height:55vh!important;min-height:430px!important}.home-photo-board .thumbs{display:none!important}
  #newsPage .news-mini-grid{grid-template-columns:1fr 1fr!important}#newsPage .news-list{grid-template-columns:1fr!important;gap:0!important}
}
@media(max-width:640px){
  .app-header{height:64px!important;padding:0 16px!important}.brand span{font-size:16px!important}.brand-mark{width:34px!important;height:34px!important}.header-nav{display:none!important}.music-bar{top:70px!important;right:12px!important}
  .home-dashboard{padding:88px 14px 28px!important}.home-clean-title h1{font-size:41px!important;letter-spacing:-2.6px!important}.home-clean-title p{font-size:14px!important}.home-center-tools{grid-template-columns:1fr!important}.home-photo-board{min-height:360px!important}.home-photo-board .device,.home-photo-board .screen{border-radius:24px!important}.home-photo-board .photo-badge{left:18px!important;bottom:18px!important;font-size:24px!important}
  .subpage{padding:86px 12px 34px!important}.subpage-top{padding:20px!important;border-radius:24px!important}.subpage-title h2{font-size:34px!important;letter-spacing:-1.8px!important}
  #newsPage .news-frame{padding:18px 16px 30px!important;border-radius:24px!important}#newsPage .news-filter{align-items:flex-start!important;flex-direction:column!important}#newsPage .featured-news-card{gap:18px!important}#newsPage .news-lead-card h3{font-size:24px!important;padding:16px 16px 0!important}#newsPage .news-lead-card p,#newsPage .news-card-meta{padding-left:16px!important;padding-right:16px!important}#newsPage .news-mini-grid{grid-template-columns:1fr!important}#newsPage .news-item h4{font-size:16px!important}#newsPage .news-item p{font-size:12.8px!important}
}


/* =========================================================
   ENTERPRISE PORTAL DESIGN SYSTEM — visual refresh only
   ========================================================= */
:root{
  --ui-bg:#f5f7fb;
  --ui-surface:#ffffff;
  --ui-surface-2:#f8fafc;
  --ui-ink:#0b1220;
  --ui-sub:#5d6879;
  --ui-line:#e3e8f1;
  --ui-blue:#0b63f6;
  --ui-blue-2:#0747b6;
  --ui-navy:#07182d;
  --ui-sky:#eaf2ff;
  --ui-radius-xl:34px;
  --ui-radius-lg:24px;
  --ui-shadow:0 24px 70px rgba(15,23,42,.10);
  --ui-shadow-soft:0 14px 34px rgba(15,23,42,.07);
}
html{background:var(--ui-bg)!important;}
body{
  background:radial-gradient(circle at 15% -10%,rgba(11,99,246,.08),transparent 30%),linear-gradient(180deg,#fbfcff 0%,#f3f6fb 50%,#eef3f8 100%)!important;
  color:var(--ui-ink)!important;
  font-family:'Pretendard','Noto Sans KR','Malgun Gothic',Inter,Arial,sans-serif!important;
  letter-spacing:-.02em;
}
body::before,body::after{display:none!important;}
a{transition:color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease, border-color .18s ease;}

/* Header */
.app-header{
  top:18px!important;left:28px!important;right:28px!important;
  height:70px!important;padding:0 18px!important;
  border:1px solid rgba(226,232,240,.9)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 18px 50px rgba(15,23,42,.08)!important;
  backdrop-filter:blur(22px)!important;
}
.brand{font-size:20px!important;font-weight:1000!important;color:#07111f!important;gap:12px!important;letter-spacing:-.8px!important;}
.brand-mark{width:40px!important;height:40px!important;border-radius:14px!important;background:linear-gradient(135deg,#061a33,#0b63f6)!important;box-shadow:0 12px 26px rgba(11,99,246,.22)!important;}
.brand-mark::before{font-size:11px!important;border-width:1.7px!important;}
.header-nav{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  height:44px!important;padding:4px!important;gap:2px!important;
  background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:999px!important;box-shadow:none!important;
  max-width:calc(100vw - 430px)!important;overflow:auto!important;scrollbar-width:none!important;
}
.header-nav::-webkit-scrollbar{display:none!important;}
.header-nav a{height:34px!important;display:inline-flex!important;align-items:center!important;border-radius:999px!important;padding:0 13px!important;color:#334155!important;font-size:13px!important;font-weight:950!important;white-space:nowrap!important;}
.header-nav a.active,.header-nav a:hover{background:#07182d!important;color:#fff!important;}
.music-bar{top:27px!important;right:48px!important;background:rgba(7,24,45,.95)!important;color:#fff!important;border:0!important;box-shadow:0 16px 40px rgba(7,24,45,.20)!important;}
.music-btn,.music-preset-btn{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.12)!important;}
.music-toggle{background:#fff!important;color:#07182d!important;}
.music-volume span{color:#fff!important}.music-volume input{accent-color:#fff!important;}
.music-autoplay-hint{display:none!important;}

/* Page base */
.page{min-height:100vh!important;}
.subpage{padding:112px 34px 54px!important;background:transparent!important;}
.subpage-shell{max-width:1480px!important;margin:0 auto!important;}
.subpage-top{
  align-items:center!important;margin-bottom:22px!important;padding:26px 30px!important;
  border:1px solid var(--ui-line)!important;border-radius:30px!important;background:rgba(255,255,255,.82)!important;box-shadow:var(--ui-shadow-soft)!important;backdrop-filter:blur(18px)!important;
}
.subpage-title small{color:var(--ui-blue)!important;font-size:12px!important;letter-spacing:.14em!important;margin-bottom:9px!important;}
.subpage-title h2{font-size:clamp(34px,3.2vw,50px)!important;letter-spacing:-2.5px!important;color:var(--ui-ink)!important;}
.subpage-title p,.home-clean-title p,.tool-popup-head span,.music-autoplay-hint,.guide{display:none!important;}
.back-btn{height:42px!important;border-radius:999px!important;background:#07182d!important;color:#fff!important;border:0!important;box-shadow:0 10px 24px rgba(7,24,45,.16)!important;padding:0 17px!important;font-size:13px!important;}

/* Home: photo removed, user-facing dashboard */
#homePage .home-dashboard{
  max-width:1480px!important;min-height:100vh!important;margin:0 auto!important;padding:116px 34px 58px!important;text-align:left!important;
}
#homePage .home-clean-top{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:24px!important;align-items:end!important;
  padding:38px 42px!important;margin-bottom:22px!important;border-radius:38px!important;
  background:linear-gradient(135deg,#07182d 0%,#0c2d58 54%,#0b63f6 132%)!important;color:#fff!important;
  box-shadow:0 30px 80px rgba(7,24,45,.18)!important;overflow:hidden!important;position:relative!important;
}
#homePage .home-clean-top::after{content:"";position:absolute;right:-100px;top:-140px;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.10);}
#homePage .home-clean-title{position:relative;z-index:1;}
#homePage .home-clean-title small{display:inline-flex!important;align-items:center!important;height:30px!important;padding:0 12px!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;color:#cfe0ff!important;font-size:12px!important;font-weight:1000!important;letter-spacing:.13em!important;margin-bottom:18px!important;}
#homePage .home-clean-title h1{font-size:clamp(42px,5vw,76px)!important;line-height:.96!important;letter-spacing:-4.5px!important;color:#fff!important;margin:0!important;}
#homePage .home-clean-links{position:relative;z-index:1;display:flex!important;gap:10px!important;align-items:center!important;}
#homePage .home-clean-links a{height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 18px!important;border-radius:999px!important;background:#fff!important;color:#07182d!important;font-weight:1000!important;font-size:14px!important;box-shadow:0 12px 24px rgba(0,0,0,.12)!important;}
#homePage .home-clean-links a:first-child{background:#0b63f6!important;color:#fff!important;box-shadow:0 14px 30px rgba(11,99,246,.28)!important;}
#homePage .home-clean-grid{display:block!important;}
#homePage .home-photo-board{display:none!important;}
#homePage .home-right-rail{
  display:grid!important;grid-template-columns:340px minmax(0,1fr)!important;gap:22px!important;align-items:start!important;
}
#homePage .home-center-tools{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
#homePage .home-center-card{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important;min-height:132px!important;
  padding:24px!important;border-radius:28px!important;background:#fff!important;border:1px solid var(--ui-line)!important;box-shadow:var(--ui-shadow-soft)!important;overflow:hidden!important;position:relative!important;
}
#homePage .home-center-card::after{content:"";position:absolute;right:-40px;bottom:-48px;width:150px;height:150px;border-radius:50%;background:rgba(11,99,246,.08);}
#homePage .home-center-card small{display:block!important;color:var(--ui-blue)!important;font-size:12px!important;font-weight:1000!important;letter-spacing:.12em!important;text-transform:uppercase!important;margin-bottom:8px!important;}
#homePage .home-center-card strong{display:block!important;font-size:28px!important;line-height:1.08!important;letter-spacing:-1.3px!important;color:#07111f!important;}
#homePage .home-center-card em{display:block!important;margin-top:8px!important;color:#64748b!important;font-size:13px!important;font-style:normal!important;font-weight:800!important;}
#homePage .home-center-card b{position:relative!important;z-index:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:36px!important;padding:0 14px!important;border-radius:999px!important;background:#07182d!important;color:#fff!important;font-size:12px!important;font-weight:1000!important;}
#homePage .home-center-card.calendar{background:linear-gradient(180deg,#ffffff,#f7fbff)!important;}
#homePage .home-news-priority{
  margin:0!important;padding:24px!important;border-radius:30px!important;background:#fff!important;border:1px solid var(--ui-line)!important;box-shadow:var(--ui-shadow-soft)!important;min-height:278px!important;
}
#homePage .home-news-priority .home-news-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin:0 0 18px!important;padding:0 0 16px!important;border-bottom:1px solid #edf2f7!important;}
#homePage .home-news-priority .home-news-head small{display:block!important;color:var(--ui-blue)!important;font-size:12px!important;font-weight:1000!important;letter-spacing:.12em!important;text-transform:uppercase!important;margin-bottom:5px!important;}
#homePage .home-news-priority .home-news-head h2{font-size:30px!important;letter-spacing:-1.6px!important;color:#07111f!important;}
#homePage .home-news-priority .home-news-head a{height:36px!important;min-height:36px!important;padding:0 14px!important;background:#f1f5f9!important;color:#07182d!important;border:1px solid #e2e8f0!important;font-size:13px!important;}
#homePage .home-news-priority .home-news-grid{display:grid!important;grid-template-columns:1.15fr 1fr 1fr!important;gap:12px!important;}
#homePage .home-news-priority .home-news-card,#homePage .home-news-priority .home-news-card:first-child{
  min-height:148px!important;padding:18px!important;border-radius:22px!important;background:#f8fafc!important;color:#07111f!important;border:1px solid #e2e8f0!important;box-shadow:none!important;overflow:hidden!important;
}
#homePage .home-news-priority .home-news-card:first-child{grid-row:span 2!important;background:linear-gradient(135deg,#07182d,#12325a)!important;color:#fff!important;}
#homePage .home-news-priority .home-news-tag{height:26px!important;padding:0 9px!important;border-radius:999px!important;background:#eaf2ff!important;color:#0b63f6!important;font-size:11px!important;font-weight:1000!important;}
#homePage .home-news-priority .home-news-card:first-child .home-news-tag{background:rgba(255,255,255,.14)!important;color:#bfdbfe!important;border:1px solid rgba(255,255,255,.18)!important;}
#homePage .home-news-priority .home-news-card h3{margin:12px 0 7px!important;font-size:17px!important;line-height:1.38!important;letter-spacing:-.55px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;color:inherit!important;}
#homePage .home-news-priority .home-news-card:first-child h3{font-size:24px!important;line-height:1.28!important;-webkit-line-clamp:4!important;}
#homePage .home-news-priority .home-news-card p{font-size:12.8px!important;line-height:1.55!important;color:#64748b!important;-webkit-line-clamp:2!important;}
#homePage .home-news-priority .home-news-card:first-child p{color:#dbeafe!important;font-size:14px!important;-webkit-line-clamp:4!important;}
#homePage .home-news-priority .home-news-card small{font-size:12px!important;font-weight:900!important;color:#94a3b8!important;}
#homePage .home-news-priority .home-news-card:first-child small{color:#bfdbfe!important;}

/* Surfaces: tools, calculators, cards */
.calculator-frame,.spell-checker-frame,.calendar-frame,.news-frame{
  background:rgba(255,255,255,.88)!important;border:1px solid var(--ui-line)!important;box-shadow:var(--ui-shadow)!important;border-radius:32px!important;backdrop-filter:blur(18px)!important;
}
.card,.spell-box,.kpi-item,.salary-input-panel,.salary-memo,.guide,.tool-popup-card{
  border-color:var(--ui-line)!important;background:#fff!important;box-shadow:var(--ui-shadow-soft)!important;border-radius:24px!important;
}
.card h2,.spell-box h3{background:linear-gradient(135deg,#07182d,#102846)!important;color:#fff!important;}
.btn,.spell-result-item button{border-radius:999px!important;background:#07182d!important;color:#fff!important;box-shadow:none!important;font-weight:1000!important;}
.btn.secondary{background:#f8fafc!important;color:#07182d!important;border:1px solid #e2e8f0!important;}
.btn.blue{background:var(--ui-blue)!important}.btn.green{background:#087f5b!important}.btn.red{background:#b42318!important}
input,textarea{border-radius:14px!important;border-color:#d8e0ec!important;background:#fff!important;}
input:focus,textarea:focus{border-color:var(--ui-blue)!important;box-shadow:0 0 0 4px rgba(11,99,246,.11)!important;}
table th{background:#f8fafc!important;color:#64748b!important;font-weight:1000!important;}table td,table th{border-bottom-color:#edf2f7!important;}
.guide{display:none!important;}

/* News room */
#newsPage .news-frame{padding:30px!important;border-radius:32px!important;background:#fff!important;}
#newsPage .news-filter{padding:0 0 18px!important;background:transparent!important;border:0!important;border-bottom:1px solid #e2e8f0!important;border-radius:0!important;}
#newsPage .news-topic-tabs{gap:8px!important;}
#newsPage .news-topic-btn{height:36px!important;min-height:36px!important;border-radius:999px!important;border:1px solid #dce3ee!important;background:#fff!important;color:#334155!important;font-size:13px!important;padding:0 14px!important;}
#newsPage .news-topic-btn.active{background:#07182d!important;border-color:#07182d!important;color:#fff!important;}
#newsPage .news-meta{color:#64748b!important;font-size:12px!important;font-weight:900!important;}
#newsPage .featured-news-card{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;gap:22px!important;padding:0!important;margin-top:22px!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;color:#07111f!important;min-height:0!important;overflow:visible!important;}
#newsPage .news-lead-card{display:block!important;border:1px solid #e2e8f0!important;border-radius:28px!important;overflow:hidden!important;background:#fff!important;box-shadow:var(--ui-shadow-soft)!important;color:#07111f!important;}
#newsPage .news-lead-img{display:block!important;position:relative!important;aspect-ratio:1.78/1!important;background:#eaf2ff!important;overflow:hidden!important;}
#newsPage .news-lead-img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
#newsPage .news-lead-img span{position:absolute!important;left:16px!important;bottom:14px!important;height:28px!important;display:inline-flex!important;align-items:center!important;padding:0 10px!important;border-radius:999px!important;background:rgba(7,24,45,.86)!important;color:#fff!important;font-size:11px!important;font-weight:1000!important;}
#newsPage .news-lead-card h3{font-size:31px!important;line-height:1.24!important;letter-spacing:-1.4px!important;padding:22px 24px 0!important;margin:0!important;color:#07111f!important;}
#newsPage .news-lead-card p{padding:12px 24px 0!important;margin:0!important;color:#475569!important;font-size:14px!important;line-height:1.65!important;font-weight:750!important;}
#newsPage .news-card-meta{padding:16px 24px 22px!important;color:#64748b!important;font-size:12px!important;font-weight:900!important;}
#newsPage .news-mini-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;}
#newsPage .news-mini-card{display:block!important;border:1px solid #e2e8f0!important;border-radius:24px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 12px 28px rgba(15,23,42,.06)!important;color:#07111f!important;}
#newsPage .news-mini-img{display:block!important;aspect-ratio:1.65/1!important;background:#eaf2ff!important;overflow:hidden!important;}
#newsPage .news-mini-img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
#newsPage .news-mini-card h4{margin:13px 14px 6px!important;font-size:16px!important;line-height:1.38!important;letter-spacing:-.45px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;color:#07111f!important;}
#newsPage .news-mini-card small{display:block!important;margin:0 14px 14px!important;color:#64748b!important;font-size:11px!important;font-weight:900!important;}
#newsPage .news-list-card{margin-top:24px!important;border:1px solid #e2e8f0!important;border-radius:28px!important;background:#fff!important;box-shadow:var(--ui-shadow-soft)!important;overflow:hidden!important;}
#newsPage .news-list-head{padding:20px 24px!important;border-bottom:1px solid #e2e8f0!important;background:#fbfdff!important;}
#newsPage .news-list-head strong{font-size:24px!important;letter-spacing:-1px!important;color:#07111f!important;}
#newsPage .news-list-head span{font-size:13px!important;color:#64748b!important;font-weight:1000!important;}
#newsPage .news-list{display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:34px!important;row-gap:0!important;padding:8px 24px 32px!important;}
#newsPage .news-item{display:block!important;border-bottom:1px solid #edf2f7!important;padding:18px 0!important;background:transparent!important;}
#newsPage .news-row-link{display:block!important;color:#07111f!important;}
#newsPage .news-item h4{font-size:18px!important;line-height:1.45!important;letter-spacing:-.55px!important;margin:0!important;color:#07111f!important;}
#newsPage .news-item p{margin:8px 0 0!important;color:#64748b!important;font-size:13.5px!important;line-height:1.62!important;font-weight:750!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#newsPage .news-item small{display:block!important;margin-top:10px!important;color:#8a94a6!important;font-size:12px!important;font-weight:950!important;}
#newsPage .news-item:hover h4{text-decoration:underline;text-underline-offset:3px;}
#newsPage .news-side,#newsPage .news-reader-card,#newsPage .news-side-card{display:none!important;}

/* Popups / dialogs */
.tool-popup-dim,.calendar-modal-dim,.union-guide-dim{background:rgba(7,18,32,.55)!important;backdrop-filter:blur(10px)!important;}
.tool-popup,.calendar-modal,.union-guide-modal,.union-chat-panel{border-radius:30px!important;border:1px solid rgba(255,255,255,.5)!important;box-shadow:0 40px 100px rgba(2,8,23,.30)!important;}
.tool-popup-head,.calendar-modal-head,.union-guide-top,.union-chat-head{background:linear-gradient(135deg,#07182d,#12325a)!important;}
.tool-popup-card{min-height:132px!important;}

/* Remove user-facing guidance blocks */
#tripPage .calculator-frame .sub,#tripPage .guide,#salaryPage .subpage-title p,#newsPage .subpage-title p,.spell-note,.spell-sample,.calendar-help{display:none!important;}

@media(max-width:1180px){
  .app-header{left:18px!important;right:18px!important;}
  .header-nav{position:static!important;transform:none!important;max-width:calc(100vw - 360px)!important;margin-left:auto!important;margin-right:170px!important;}
  .music-bar{top:96px!important;right:24px!important;}
  #homePage .home-right-rail{grid-template-columns:1fr!important;}
  #homePage .home-center-tools{grid-template-columns:1fr 1fr!important;}
  #newsPage .featured-news-card{grid-template-columns:1fr!important;}
}
@media(max-width:820px){
  .app-header{top:10px!important;left:10px!important;right:10px!important;height:auto!important;min-height:64px!important;align-items:flex-start!important;padding:12px!important;gap:10px!important;}
  .brand span:last-child{font-size:17px!important;}
  .header-nav{order:3!important;flex:1 1 100%!important;max-width:100%!important;margin:8px 0 0!important;}
  .music-bar{display:none!important;}
  #homePage .home-dashboard{padding:116px 14px 38px!important;}
  #homePage .home-clean-top{grid-template-columns:1fr!important;padding:28px 24px!important;border-radius:28px!important;}
  #homePage .home-clean-title h1{font-size:40px!important;letter-spacing:-2.6px!important;}
  #homePage .home-clean-links{flex-wrap:wrap!important;}
  #homePage .home-center-tools{grid-template-columns:1fr!important;}
  #homePage .home-news-priority .home-news-grid{grid-template-columns:1fr!important;}
  #homePage .home-news-priority .home-news-card:first-child{grid-row:auto!important;}
  .subpage{padding:130px 14px 36px!important;}
  .subpage-top{padding:22px!important;border-radius:24px!important;align-items:flex-start!important;flex-direction:column!important;}
  #newsPage .news-frame{padding:18px!important;border-radius:24px!important;}
  #newsPage .featured-news-card,#newsPage .news-mini-grid,#newsPage .news-list{grid-template-columns:1fr!important;}
  #newsPage .news-list{padding:4px 18px 26px!important;column-gap:0!important;}
}


/* =========================================================
   Home photo carousel restore
   - 메인 홈 사진 1~10 자동 전환
   - 사용자 클릭형 썸네일 제거
   - 기능 스크립트/뉴스 함수는 변경하지 않음
   ========================================================= */
#homePage .home-dashboard{
  max-width:1540px!important;
  padding:112px 34px 58px!important;
}
#homePage .home-clean-top{
  margin-bottom:22px!important;
}
#homePage .home-clean-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) 410px!important;
  gap:24px!important;
  align-items:stretch!important;
}
#homePage .home-photo-board{
  display:block!important;
  min-height:640px!important;
  height:calc(100vh - 265px)!important;
  max-height:780px!important;
  grid-column:auto!important;
  grid-row:auto!important;
  position:relative!important;
}
#homePage .home-photo-board .device{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.6)!important;
  border-radius:38px!important;
  background:#07182d!important;
  box-shadow:0 34px 90px rgba(7,24,45,.20)!important;
  overflow:hidden!important;
}
#homePage .home-photo-board .device::before,
#homePage .home-photo-board .device::after{display:none!important;}
#homePage .home-photo-board .screen{
  height:100%!important;
  border:0!important;
  border-radius:38px!important;
  overflow:hidden!important;
  background:#07182d!important;
}
#homePage .home-photo-board .photo-stack{
  height:100%!important;
  overflow:hidden!important;
  scroll-snap-type:y mandatory!important;
}
#homePage .home-photo-board .photo-card{
  height:100%!important;
  scroll-snap-align:start!important;
  position:relative!important;
}
#homePage .home-photo-board .photo-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:scale(1.002);
}
#homePage .home-photo-board .photo-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(to top,rgba(5,11,22,.62),rgba(5,11,22,.06) 48%,rgba(5,11,22,.22)),
    linear-gradient(120deg,rgba(7,24,45,.45),transparent 48%)!important;
  pointer-events:none!important;
}
#homePage .home-photo-board .photo-card::before{
  content:attr(data-index) " / 10";
  position:absolute;
  right:26px;
  bottom:28px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  min-width:74px;
  padding:0 13px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  font-size:13px;
  font-weight:1000;
  letter-spacing:.06em;
  backdrop-filter:blur(14px);
}
#homePage .home-photo-board .media-copy{
  left:28px!important;
  top:26px!important;
  z-index:5!important;
}
#homePage .home-photo-board .kicker{
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:none!important;
}
#homePage .home-photo-board .photo-badge{
  display:block!important;
  left:30px!important;
  bottom:30px!important;
  max-width:calc(100% - 150px)!important;
  z-index:5!important;
  padding:13px 18px!important;
  border-radius:22px!important;
  background:rgba(7,24,45,.58)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:clamp(26px,3vw,44px)!important;
  line-height:1.1!important;
  letter-spacing:-2px!important;
  backdrop-filter:blur(16px)!important;
}
#homePage .home-photo-board .thumbs,
#homePage #thumbs{
  display:none!important;
  pointer-events:none!important;
}
#homePage .home-right-rail{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:16px!important;
  align-items:stretch!important;
}
#homePage .home-center-tools{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
#homePage .home-center-card{
  min-height:118px!important;
  padding:18px!important;
  border-radius:26px!important;
}
#homePage .home-center-card strong{
  font-size:21px!important;
  letter-spacing:-.9px!important;
}
#homePage .home-news-priority{
  min-height:0!important;
  height:100%!important;
}
#homePage .home-news-priority .home-news-grid{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
#homePage .home-news-priority .home-news-card,
#homePage .home-news-priority .home-news-card:first-child{
  min-height:0!important;
  grid-row:auto!important;
}
#homePage .home-news-priority .home-news-card:first-child h3{
  font-size:21px!important;
  -webkit-line-clamp:3!important;
}
@media(max-width:1180px){
  #homePage .home-clean-grid{grid-template-columns:1fr!important;}
  #homePage .home-photo-board{height:56vh!important;min-height:500px!important;max-height:680px!important;}
  #homePage .home-right-rail{grid-template-columns:1fr!important;}
}
@media(max-width:820px){
  #homePage .home-dashboard{padding:116px 14px 38px!important;}
  #homePage .home-photo-board{height:430px!important;min-height:430px!important;}
  #homePage .home-photo-board .device,
  #homePage .home-photo-board .screen{border-radius:28px!important;}
  #homePage .home-photo-board .photo-badge{left:20px!important;bottom:20px!important;font-size:23px!important;max-width:calc(100% - 120px)!important;}
  #homePage .home-photo-board .photo-card::before{right:18px;bottom:20px;height:34px;min-width:66px;font-size:12px;}
  #homePage .home-center-tools{grid-template-columns:1fr!important;}
}
@media(max-width:480px){
  #homePage .home-photo-board{height:360px!important;min-height:360px!important;}
  #homePage .home-photo-board .photo-badge{font-size:20px!important;}
}


/* ===== 2026 Hospitality-inspired Full UI Refresh ===== */
:root{
  --hotel-bg:#f5f3ee;
  --hotel-surface:#ffffff;
  --hotel-soft:#f8f6f1;
  --hotel-line:#e5e0d5;
  --hotel-ink:#1a1a1a;
  --hotel-muted:#6f6a61;
  --hotel-accent:#1a2d4e;
  --hotel-accent-2:#304f86;
  --hotel-shadow:0 22px 56px rgba(23,28,36,.10);
  --hotel-shadow-soft:0 12px 28px rgba(23,28,36,.08);
}
html,body{background:var(--hotel-bg)!important;color:var(--hotel-ink)!important;font-family:Inter,'Pretendard','Noto Sans KR','Malgun Gothic',Arial,sans-serif!important}
body::before,body::after{display:none!important}
a{transition:all .18s ease}
.app-header{height:78px!important;padding:0 30px!important;background:rgba(255,255,255,.88)!important;border-bottom:1px solid rgba(17,24,39,.08)!important;box-shadow:0 8px 26px rgba(17,24,39,.06)!important;backdrop-filter:blur(18px)!important}
.brand{gap:10px!important;font-size:18px!important;color:#111!important;letter-spacing:-.35px!important;font-weight:900!important}
.brand-mark{width:34px!important;height:34px!important;border-radius:10px!important;background:linear-gradient(145deg,#17335f,#0a1630)!important;box-shadow:none!important}
.brand-mark::before{font-size:11px!important;border-width:1px!important;padding:2px 1px!important}
.header-nav{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;gap:6px!important}
.header-nav a{height:34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 13px!important;border-radius:999px!important;font-size:12px!important;font-weight:900!important;color:#37332d!important;background:transparent!important}
.header-nav a.active,.header-nav a:hover{background:#111!important;color:#fff!important;box-shadow:none!important}
.music-bar{top:18px!important;right:28px!important;background:rgba(255,255,255,.84)!important;border:1px solid rgba(17,24,39,.08)!important;box-shadow:var(--hotel-shadow-soft)!important}
.site-footer{display:none!important}
#homePage .home-dashboard{position:relative!important;max-width:1440px!important;margin:0 auto!important;min-height:auto!important;padding:106px 20px 56px!important}
#homePage .home-clean-top{position:absolute!important;left:50%!important;top:255px!important;transform:translateX(-50%)!important;z-index:8!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:min(860px,calc(100% - 70px))!important;text-align:center!important;gap:16px!important;pointer-events:none!important}
#homePage .home-clean-title small{display:none!important}
#homePage .home-clean-title h1{margin:0!important;color:#fff!important;font-size:clamp(42px,4.9vw,68px)!important;line-height:1.05!important;letter-spacing:-2.5px!important;text-shadow:0 16px 36px rgba(0,0,0,.28)!important;font-weight:300!important}
#homePage .home-clean-title br{display:none!important}
#homePage .home-clean-links{pointer-events:auto!important;display:flex!important;justify-content:center!important;gap:10px!important}
#homePage .home-clean-links a{min-height:42px!important;padding:0 18px!important;border-radius:2px!important;background:rgba(255,255,255,.06)!important;color:#fff!important;border:1px solid rgba(255,255,255,.62)!important;box-shadow:none!important;backdrop-filter:blur(12px)!important;font-size:12px!important;font-weight:900!important}
#homePage .home-clean-grid{display:block!important;max-width:100%!important;margin:0 auto!important}
#homePage .home-photo-board{height:75vh!important;min-height:640px!important;max-height:790px!important;margin:0 0 28px!important;display:block!important;position:relative!important}
#homePage .home-photo-board .device{height:100%!important;min-height:0!important;width:100%!important;padding:0!important;border:0!important;background:#0f1623!important;border-radius:0!important;box-shadow:none!important}
#homePage .home-photo-board .screen{height:100%!important;border-radius:0!important;border:0!important}
#homePage .photo-stack{height:100%!important;overflow:hidden!important}
#homePage .home-photo-board .media-copy{display:none!important}
#homePage .home-photo-board .thumbs{display:none!important}
#homePage .home-photo-board .photo-card::after{background:linear-gradient(to top,rgba(7,14,23,.55),transparent 38%),linear-gradient(to bottom,rgba(7,14,23,.26),transparent 26%)!important}
#homePage .home-photo-board .photo-badge{left:50%!important;transform:translateX(-50%)!important;bottom:34px!important;right:auto!important;padding:9px 14px 10px!important;border-radius:999px!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.24)!important;font-size:14px!important;letter-spacing:.2px!important;font-weight:800!important;color:#fff!important;text-shadow:none!important;backdrop-filter:blur(14px)!important}
#homePage .home-right-rail{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;gap:26px!important;align-items:start!important}
#homePage .home-center-tools{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
#homePage .home-center-card{min-height:138px!important;border-radius:0!important;padding:24px 22px!important;background:#fff!important;border:1px solid var(--hotel-line)!important;box-shadow:none!important;position:relative!important;overflow:hidden!important}
#homePage .home-center-card::after{display:none!important}
#homePage .home-center-card small{display:block!important;color:#9b958b!important;font-size:11px!important;letter-spacing:.9px!important;text-transform:uppercase!important;font-weight:900!important}
#homePage .home-center-card strong{display:block!important;margin-top:8px!important;color:#111!important;font-size:28px!important;line-height:1.1!important;letter-spacing:-1px!important;font-weight:700!important}
#homePage .home-center-card em{display:none!important}
#homePage .home-center-card b{margin-top:18px!important;height:34px!important;padding:0 14px!important;border-radius:2px!important;background:#111!important;color:#fff!important;font-size:12px!important;font-weight:900!important}
#homePage .home-news-priority{margin:0!important;max-width:none!important;min-height:0!important;padding:24px 26px 22px!important;border-radius:0!important;background:#fff!important;border:1px solid var(--hotel-line)!important;box-shadow:none!important}
#homePage .home-news-priority .home-news-head{margin:0 0 18px!important;padding:0 0 16px!important;border-bottom:1px solid var(--hotel-line)!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important}
#homePage .home-news-priority .home-news-head small{display:none!important}
#homePage .home-news-priority .home-news-head h2{margin:0!important;font-size:31px!important;line-height:1!important;letter-spacing:-1.2px!important;color:#111!important;font-weight:500!important}
#homePage .home-news-priority .home-news-head a{height:34px!important;min-height:34px!important;padding:0 14px!important;border-radius:2px!important;background:#111!important;color:#fff!important;font-size:12px!important;font-weight:900!important}
#homePage .home-news-priority .home-news-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px 26px!important}
#homePage .home-news-priority .home-news-card,#homePage .home-news-priority .home-news-card:first-child{min-height:0!important;padding:0 0 14px!important;border-radius:0!important;background:transparent!important;color:#111!important;border:0!important;border-bottom:1px solid #ebe7de!important;box-shadow:none!important;display:block!important}
#homePage .home-news-priority .home-news-card:last-child{border-bottom:0!important}
#homePage .home-news-priority .home-news-card::after{display:none!important}
#homePage .home-news-priority .home-news-card .home-news-tag,#homePage .home-news-priority .home-news-card:first-child .home-news-tag{height:auto!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;color:#8d867b!important;font-size:11px!important;letter-spacing:.9px!important;text-transform:uppercase!important;font-weight:900!important}
#homePage .home-news-priority .home-news-card h3,#homePage .home-news-priority .home-news-card:first-child h3{margin:7px 0 6px!important;color:#111!important;font-size:17px!important;line-height:1.42!important;letter-spacing:-.45px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-weight:700!important}
#homePage .home-news-priority .home-news-card p,#homePage .home-news-priority .home-news-card:first-child p{display:none!important}
#homePage .home-news-priority .home-news-card small,#homePage .home-news-priority .home-news-card:first-child small{margin-top:0!important;color:#8d867b!important;font-size:11.5px!important;font-weight:800!important}
.subpage{padding:108px 20px 60px!important;background:transparent!important}
.subpage-shell{max-width:1440px!important;margin:0 auto!important}
.subpage-top{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0 0 18px!important;margin-bottom:24px!important;border-bottom:1px solid rgba(17,24,39,.10)!important}
.subpage-title small{display:none!important}
.subpage-title h2{font-size:38px!important;line-height:1.05!important;letter-spacing:-1.5px!important;color:#111!important;font-weight:600!important}
.back-btn{min-height:38px!important;padding:0 16px!important;border-radius:2px!important;background:#fff!important;color:#111!important;border:1px solid var(--hotel-line)!important;box-shadow:none!important;font-size:12px!important;font-weight:900!important}
.calculator-frame,.spell-checker-frame,.calendar-frame,.news-frame,.tool-popup,.union-guide-modal,.calendar-modal,.union-chat-panel,.soon-card,.news-preview-modal{background:#fff!important;border:1px solid var(--hotel-line)!important;border-radius:0!important;box-shadow:var(--hotel-shadow)!important}
.calculator-frame .top,.calendar-toolbar{border-bottom:1px solid var(--hotel-line)!important}
.card,.spell-box,.news-list-card,.news-side-card,.salary-upload-box{background:#fff!important;border:1px solid var(--hotel-line)!important;border-radius:0!important;box-shadow:none!important}
.card h2,.spell-box h3,.calendar-modal-head,.tool-popup-head,.union-guide-top,.news-preview-head{background:#fff!important;color:#111!important;border-bottom:1px solid var(--hotel-line)!important}
.news-preview-head small,.union-guide-top span,.tool-popup-head span{color:#8a847a!important}
.table,table{background:#fff!important}
th{background:#faf8f4!important;color:#6f6a61!important;border-color:#eee8dd!important;font-weight:900!important}
td{border-color:#eee8dd!important}
input,textarea,select{border-radius:0!important;border:1px solid #ddd7cb!important;background:#fff!important;box-shadow:none!important}
input:focus,textarea:focus,select:focus{border-color:#111!important;box-shadow:none!important}
.btn,.tool-popup-card b,.news-item a,.news-item button,.news-preview-actions a{border-radius:2px!important;background:#111!important;color:#fff!important;box-shadow:none!important}
.btn.blue{background:#233d68!important}.btn.green{background:#2d5e49!important}.btn.red{background:#8a2f2f!important}
.btn.secondary,.news-preview-actions button{background:#fff!important;color:#111!important;border:1px solid var(--hotel-line)!important}
.pill,.calendar-dot,.news-keyword,.home-news-card .home-news-tag{border-radius:999px!important}
.tool-popup-grid{padding:20px!important}
.tool-popup-card{min-height:132px!important;border-radius:0!important;border:1px solid var(--hotel-line)!important;background:#fff!important;box-shadow:none!important}
.tool-popup-card:hover{transform:translateY(-2px)!important;box-shadow:none!important}
.tool-popup-card em{display:none!important}
.tool-popup-card small{color:#9b958b!important}
.tool-popup-card strong{font-size:24px!important;font-weight:700!important;color:#111!important}
.tool-popup-card b{width:auto!important;height:32px!important;padding:0 12px!important;right:18px!important;bottom:18px!important;border-radius:2px!important}
.home-center-card,.tool-popup-card,.back-btn,.btn,.home-clean-links a,.home-news-head a{transition:all .18s ease!important}
#newsPage .subpage-shell{max-width:1500px!important}
#newsPage .news-frame{padding:26px 28px 40px!important;border-radius:0!important}
#newsPage .news-filter{padding:0 0 16px!important;margin-bottom:26px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--hotel-line)!important}
#newsPage .news-topic-tabs{gap:8px!important}
#newsPage .news-topic-btn{min-height:32px!important;padding:0 12px!important;border-radius:2px!important;background:#fff!important;border:1px solid var(--hotel-line)!important;color:#3c3934!important;font-size:12px!important;font-weight:900!important}
#newsPage .news-topic-btn.active{background:#111!important;color:#fff!important;border-color:#111!important}
#newsPage .featured-news-card{display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:22px!important;padding:0 0 24px!important;border:0!important;border-bottom:1px solid var(--hotel-line)!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
#newsPage .news-lead-card,#newsPage .news-mini-card,#newsPage .news-row-link{background:transparent!important}
#newsPage .news-lead-img,#newsPage .news-mini-img,#newsPage .news-row-thumb{background:#ece7dc!important}
#newsPage .news-lead-img{aspect-ratio:1.58/1!important}
#newsPage .news-lead-img span{background:rgba(0,0,0,.54)!important;border-radius:999px!important}
#newsPage .news-lead-card h3{font-size:34px!important;line-height:1.18!important;letter-spacing:-1.4px!important;color:#111!important;font-weight:600!important}
#newsPage .news-lead-card p{font-size:14px!important;color:#6c655a!important;font-weight:650!important}
#newsPage .news-mini-grid{gap:18px!important}
#newsPage .news-mini-card{padding-bottom:12px!important;border-bottom:1px solid var(--hotel-line)!important}
#newsPage .news-mini-card h4{font-size:15px!important;line-height:1.4!important;color:#111!important;font-weight:700!important}
#newsPage .news-card-meta,#newsPage .news-mini-card small,#newsPage .news-item small{color:#8d867b!important}
#newsPage .news-list-card{margin-top:28px!important;border:0!important;box-shadow:none!important;background:transparent!important;padding-bottom:20px!important}
#newsPage .news-list-head{padding:0 0 14px!important;margin-bottom:0!important;border-top:1px solid #111!important;border-bottom:1px solid var(--hotel-line)!important}
#newsPage .news-list-head strong{font-size:22px!important;font-weight:700!important;letter-spacing:-.7px!important;color:#111!important}
#newsPage .news-list{grid-template-columns:1fr 1fr!important;gap:0 34px!important}
#newsPage .news-item{padding:18px 0!important;min-height:124px!important;border-bottom:1px solid #ebe7de!important}
#newsPage .news-item h4{font-size:18px!important;line-height:1.42!important;color:#111!important;font-weight:700!important}
#newsPage .news-item p{margin-top:8px!important;font-size:13px!important;line-height:1.62!important;color:#6b655b!important;font-weight:600!important}
#newsPage .news-item small{margin-top:10px!important;font-size:12px!important}
#newsPage .news-item .news-title-link:hover h4,#newsPage .news-lead-card:hover h3,#newsPage .news-mini-card:hover h4{color:#111!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
#newsPage .news-side,#newsPage .news-reader-card,#newsPage .news-preview-dim{display:none!important}
.home-clean-title p,.hero-sub,.menu-card em,.guide,.news-note,.calendar-help,.spell-note,.spell-sample,.salary-input-caption,.music-autoplay-hint{display:none!important}
.union-chat-tip{display:none!important}
@media(max-width:1200px){.header-nav{position:static!important;transform:none!important;overflow-x:auto!important;max-width:calc(100vw - 240px)!important;white-space:nowrap!important}#homePage .home-clean-top{top:235px!important;width:min(760px,calc(100% - 40px))!important}#homePage .home-right-rail{grid-template-columns:1fr!important}#homePage .home-center-tools{grid-template-columns:1fr 1fr!important}#homePage .home-news-priority .home-news-grid{grid-template-columns:1fr 1fr!important}#newsPage .featured-news-card{grid-template-columns:1fr!important}}
@media(max-width:760px){.app-header{padding:0 14px!important;height:72px!important}.brand{font-size:16px!important}.music-bar{top:78px!important;right:14px!important}#homePage .home-dashboard{padding:92px 0 40px!important}#homePage .home-clean-top{top:180px!important;width:calc(100% - 30px)!important}#homePage .home-clean-title h1{font-size:34px!important;line-height:1.12!important}#homePage .home-photo-board{height:56vh!important;min-height:420px!important;margin-bottom:18px!important}#homePage .home-photo-board .photo-badge{font-size:12px!important;bottom:18px!important;width:auto!important;max-width:calc(100% - 30px)!important;text-align:center!important}#homePage .home-right-rail{grid-template-columns:1fr!important;gap:18px!important;padding:0 14px!important}#homePage .home-center-tools{grid-template-columns:1fr!important}#homePage .home-news-priority{padding:18px!important}#homePage .home-news-priority .home-news-head{align-items:flex-start!important;flex-direction:column!important}#homePage .home-news-priority .home-news-grid{grid-template-columns:1fr!important}.subpage{padding:88px 14px 34px!important}.subpage-top{align-items:flex-start!important;flex-direction:column!important}.subpage-title h2{font-size:28px!important}#newsPage .news-frame{padding:18px 16px 28px!important}#newsPage .news-list{grid-template-columns:1fr!important;gap:0!important}#newsPage .news-item{min-height:0!important;padding:16px 0!important}}

/* ===== 2026 Trend-refined Executive Portal UI =====
   기능 로직 변경 없음 / CSS 레이아웃 재정비
   키워드: spacious header, bento layout, glass surface, editorial hero, accessible controls
================================================== */
:root{
  --ui-bg:#eef2f6;
  --ui-ink:#0e1726;
  --ui-text:#111827;
  --ui-muted:#6b7280;
  --ui-soft:#f8fafc;
  --ui-card:#ffffff;
  --ui-line:rgba(15,23,42,.10);
  --ui-line-strong:rgba(15,23,42,.16);
  --ui-blue:#165dff;
  --ui-blue-2:#0f3f9e;
  --ui-navy:#07182d;
  --ui-glass:rgba(255,255,255,.74);
  --ui-radius-xl:34px;
  --ui-radius-lg:26px;
  --ui-radius-md:18px;
  --ui-shadow:0 24px 70px rgba(15,23,42,.13);
  --ui-shadow-soft:0 12px 34px rgba(15,23,42,.08);
}

html,body{
  background:
    radial-gradient(circle at 7% 0%, rgba(22,93,255,.13), transparent 34%),
    radial-gradient(circle at 84% 8%, rgba(7,24,45,.10), transparent 28%),
    linear-gradient(180deg,#f8fafc 0%,#eef2f6 48%,#e8edf4 100%) !important;
  color:var(--ui-text)!important;
  font-family:Inter,'Pretendard','Noto Sans KR','Malgun Gothic',Arial,sans-serif!important;
}
body::before,body::after{display:none!important}

/* ===== Header: 넓고 명확한 상단 네비게이션 ===== */
.app-header{
  height:92px!important;
  padding:0 clamp(22px,3vw,56px)!important;
  display:grid!important;
  grid-template-columns:auto minmax(420px,1fr) auto!important;
  gap:24px!important;
  align-items:center!important;
  background:rgba(248,250,252,.78)!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 10px 34px rgba(15,23,42,.06)!important;
  backdrop-filter:blur(24px) saturate(1.18)!important;
}
.brand{
  min-width:230px!important;
  gap:13px!important;
  font-size:21px!important;
  font-weight:1000!important;
  letter-spacing:-.8px!important;
  color:#09111f!important;
  white-space:nowrap!important;
}
.brand-mark{
  width:44px!important;height:44px!important;border-radius:15px!important;
  background:linear-gradient(145deg,#165dff,#07182d)!important;
  box-shadow:0 12px 28px rgba(22,93,255,.22)!important;
}
.brand-mark::before{font-size:12px!important;border-width:1.5px!important;padding:2px 1px!important}
.brand-mark::after{display:none!important}

.header-nav{
  position:static!important;
  transform:none!important;
  justify-self:center!important;
  width:max-content!important;
  max-width:100%!important;
  display:flex!important;
  gap:6px!important;
  padding:8px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(15,23,42,.09)!important;
  border-radius:999px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 14px 34px rgba(15,23,42,.07)!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
.header-nav::-webkit-scrollbar{display:none!important}
.header-nav a{
  height:40px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#243044!important;
  background:transparent!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:-.22px!important;
  white-space:nowrap!important;
}
.header-nav a.active,.header-nav a:hover{
  background:#07182d!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(7,24,45,.16)!important;
}

/* Music: 모든 기능이 보이도록 재배치 */
.music-bar{
  position:static!important;
  justify-self:end!important;
  min-width:316px!important;
  width:316px!important;
  height:50px!important;
  min-height:50px!important;
  padding:7px 10px!important;
  gap:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.80)!important;
  border:1px solid rgba(15,23,42,.09)!important;
  border-radius:999px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.09), inset 0 1px 0 rgba(255,255,255,.9)!important;
  backdrop-filter:blur(20px)!important;
}
.music-btn,.music-preset-btn{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  background:#f1f5f9!important;
  color:#0f172a!important;
  border:1px solid rgba(15,23,42,.08)!important;
  font-size:13px!important;
}
.music-btn:hover,.music-preset-btn:hover,.music-preset-btn.active{
  background:#07182d!important;
  color:#fff!important;
  border-color:#07182d!important;
  transform:none!important;
}
.music-toggle{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  background:#fff!important;
  color:#07182d!important;
  box-shadow:0 10px 24px rgba(15,23,42,.12)!important;
}
.music-volume{gap:7px!important;padding:0!important;min-width:72px!important}
.music-volume span{font-size:14px!important;color:#0f172a!important}
.music-volume input[type="range"]{width:56px!important;height:5px!important;padding:0!important;border:0!important}
.music-autoplay-hint{display:none!important}

/* ===== Home: 최신 대시보드형 Bento + 큰 비주얼 ===== */
#homePage .home-dashboard{
  max-width:1720px!important;
  min-height:100vh!important;
  padding:122px clamp(20px,3vw,52px) 64px!important;
  margin:0 auto!important;
  text-align:left!important;
}
#homePage .home-clean-top{
  position:relative!important;
  left:auto!important;top:auto!important;transform:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:26px!important;
  align-items:end!important;
  max-width:1620px!important;
  width:100%!important;
  margin:0 auto 24px!important;
  pointer-events:auto!important;
  text-align:left!important;
}
#homePage .home-clean-title small{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 14px!important;
  color:var(--ui-blue)!important;
  font-size:12px!important;
  letter-spacing:1.6px!important;
  text-transform:uppercase!important;
  font-weight:1000!important;
}
#homePage .home-clean-title small::before{
  content:"";
  display:block;
  width:46px;
  height:2px;
  border-radius:999px;
  background:var(--ui-blue);
}
#homePage .home-clean-title h1{
  margin:0!important;
  color:#07111f!important;
  font-size:clamp(46px,5.2vw,86px)!important;
  line-height:.94!important;
  letter-spacing:-5px!important;
  font-weight:1000!important;
  text-shadow:none!important;
}
#homePage .home-clean-title br{display:block!important}
#homePage .home-clean-title p{display:none!important}
#homePage .home-clean-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}
#homePage .home-clean-links a{
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  background:rgba(255,255,255,.84)!important;
  color:#111827!important;
  box-shadow:var(--ui-shadow-soft)!important;
  backdrop-filter:blur(16px)!important;
  font-size:13px!important;
  font-weight:1000!important;
}
#homePage .home-clean-links a:first-child{
  background:#07182d!important;
  color:#fff!important;
  border-color:#07182d!important;
}

#homePage .home-clean-grid{
  max-width:1620px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr)!important;
  gap:24px!important;
  align-items:stretch!important;
}
#homePage .home-photo-board{
  height:calc(100vh - 260px)!important;
  min-height:620px!important;
  max-height:780px!important;
  margin:0!important;
  display:block!important;
  position:relative!important;
  border-radius:var(--ui-radius-xl)!important;
  overflow:hidden!important;
  box-shadow:var(--ui-shadow)!important;
  background:#0b1220!important;
}
#homePage .home-photo-board .device{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:var(--ui-radius-xl)!important;
  background:#0b1220!important;
  box-shadow:none!important;
}
#homePage .home-photo-board .device::before,
#homePage .home-photo-board .device::after{display:none!important}
#homePage .home-photo-board .screen{
  height:100%!important;
  border:0!important;
  border-radius:var(--ui-radius-xl)!important;
  background:#0b1220!important;
}
#homePage .photo-stack{height:100%!important;overflow:hidden!important}
#homePage .home-photo-board .media-copy{
  display:block!important;
  left:32px!important;
  top:30px!important;
  z-index:5!important;
}
#homePage .home-photo-board .kicker{
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:10px 14px!important;
  font-size:11px!important;
  letter-spacing:1.2px!important;
  box-shadow:none!important;
  backdrop-filter:blur(14px)!important;
}
#homePage .home-photo-board .thumbs{display:none!important}
#homePage .home-photo-board .photo-card::after{
  background:
    linear-gradient(120deg,rgba(4,13,28,.62),transparent 48%),
    linear-gradient(to top,rgba(4,13,28,.52),transparent 44%)!important;
}
#homePage .home-photo-board .photo-badge{
  left:34px!important;
  right:auto!important;
  bottom:34px!important;
  transform:none!important;
  max-width:min(780px,calc(100% - 70px))!important;
  padding:14px 18px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  font-size:clamp(30px,3.8vw,58px)!important;
  line-height:1.04!important;
  font-weight:1000!important;
  letter-spacing:-2.4px!important;
  text-shadow:0 12px 34px rgba(0,0,0,.26)!important;
  backdrop-filter:blur(12px)!important;
}

#homePage .home-right-rail{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  min-width:0!important;
}
#homePage .home-center-tools{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
#homePage .home-center-card{
  min-height:132px!important;
  border-radius:var(--ui-radius-lg)!important;
  padding:22px!important;
  background:var(--ui-glass)!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:var(--ui-shadow-soft)!important;
  backdrop-filter:blur(18px)!important;
  overflow:hidden!important;
  position:relative!important;
}
#homePage .home-center-card::after{
  content:"";
  display:block!important;
  position:absolute;
  right:-50px;
  bottom:-60px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(22,93,255,.16),transparent 64%);
}
#homePage .home-center-card small{
  display:block!important;
  color:var(--ui-blue)!important;
  font-size:11px!important;
  letter-spacing:1px!important;
  text-transform:uppercase!important;
  font-weight:1000!important;
}
#homePage .home-center-card strong{
  display:block!important;
  margin-top:8px!important;
  color:#07111f!important;
  font-size:24px!important;
  line-height:1.08!important;
  letter-spacing:-1px!important;
  font-weight:1000!important;
}
#homePage .home-center-card em{
  display:block!important;
  margin-top:8px!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-style:normal!important;
  font-weight:800!important;
}
#homePage .home-center-card b{
  position:relative!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:16px!important;
  height:32px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  background:#07182d!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:1000!important;
}
#homePage .home-center-card.calendar b{background:var(--ui-blue)!important}

#homePage .home-news-priority{
  margin:0!important;
  max-width:none!important;
  min-height:0!important;
  padding:22px!important;
  border-radius:var(--ui-radius-lg)!important;
  background:var(--ui-glass)!important;
  border:1px solid rgba(255,255,255,.66)!important;
  box-shadow:var(--ui-shadow-soft)!important;
  backdrop-filter:blur(18px)!important;
}
#homePage .home-news-priority .home-news-head{
  margin:0 0 16px!important;
  padding:0 0 14px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:16px!important;
  border-bottom:1px solid rgba(15,23,42,.09)!important;
}
#homePage .home-news-priority .home-news-head small{
  display:block!important;
  margin:0 0 5px!important;
  color:var(--ui-blue)!important;
  font-size:11px!important;
  letter-spacing:1px!important;
  text-transform:uppercase!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-head h2{
  margin:0!important;
  font-size:28px!important;
  line-height:1!important;
  letter-spacing:-1.2px!important;
  color:#07111f!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-head a{
  height:34px!important;
  min-height:34px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  background:#07182d!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
#homePage .home-news-priority .home-news-card,
#homePage .home-news-priority .home-news-card:first-child{
  min-height:0!important;
  padding:14px 0!important;
  border:0!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#07111f!important;
  box-shadow:none!important;
  display:block!important;
}
#homePage .home-news-priority .home-news-card:last-child{border-bottom:0!important}
#homePage .home-news-priority .home-news-card::after{display:none!important}
#homePage .home-news-priority .home-news-card:hover{transform:none!important;background:transparent!important;box-shadow:none!important}
#homePage .home-news-priority .home-news-tag,
#homePage .home-news-priority .home-news-card:first-child .home-news-tag{
  height:24px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  background:#eef4ff!important;
  color:#175cd3!important;
  border:1px solid #dbeafe!important;
  font-size:11px!important;
  letter-spacing:.2px!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-card h3,
#homePage .home-news-priority .home-news-card:first-child h3{
  margin:9px 0 5px!important;
  color:#111827!important;
  font-size:16px!important;
  line-height:1.42!important;
  letter-spacing:-.55px!important;
  font-weight:950!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#homePage .home-news-priority .home-news-card p,
#homePage .home-news-priority .home-news-card:first-child p{display:none!important}
#homePage .home-news-priority .home-news-card small,
#homePage .home-news-priority .home-news-card:first-child small{
  margin-top:0!important;
  color:#7a8494!important;
  font-size:11.5px!important;
  font-weight:900!important;
}

/* ===== Shared Components: enterprise-grade consistency ===== */
.subpage{
  padding:122px clamp(20px,3vw,52px) 70px!important;
  background:transparent!important;
}
.subpage-shell{max-width:1620px!important;margin:0 auto!important}
.subpage-top{
  margin-bottom:22px!important;
  padding:26px 30px!important;
  border-radius:var(--ui-radius-lg)!important;
  background:var(--ui-glass)!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:var(--ui-shadow-soft)!important;
  backdrop-filter:blur(18px)!important;
}
.subpage-title small{
  display:block!important;
  color:var(--ui-blue)!important;
  font-size:12px!important;
  letter-spacing:1.3px!important;
  font-weight:1000!important;
}
.subpage-title h2{
  font-size:clamp(36px,3.6vw,58px)!important;
  line-height:1!important;
  letter-spacing:-3px!important;
  color:#07111f!important;
  font-weight:1000!important;
}
.back-btn{
  min-height:42px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:#07182d!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 14px 30px rgba(7,24,45,.14)!important;
  font-size:13px!important;
  font-weight:1000!important;
}
.calculator-frame,.spell-checker-frame,.calendar-frame,.news-frame,.tool-popup,.union-guide-modal,.calendar-modal,.union-chat-panel,.soon-card,.news-preview-modal{
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:var(--ui-radius-lg)!important;
  box-shadow:var(--ui-shadow)!important;
  backdrop-filter:blur(18px)!important;
}
.card,.spell-box,.news-list-card,.news-side-card,.salary-upload-box{
  background:#fff!important;
  border:1px solid rgba(15,23,42,.09)!important;
  border-radius:22px!important;
  box-shadow:var(--ui-shadow-soft)!important;
}
.card h2,.spell-box h3{
  background:linear-gradient(135deg,#07182d,#103d72)!important;
  color:#fff!important;
  border:0!important;
}
input,textarea,select{
  border-radius:14px!important;
  border:1px solid rgba(15,23,42,.14)!important;
  box-shadow:none!important;
}
input:focus,textarea:focus,select:focus{
  border-color:var(--ui-blue)!important;
  box-shadow:0 0 0 4px rgba(22,93,255,.10)!important;
}
.btn,.tool-popup-card b,.news-item a,.news-item button,.news-preview-actions a{
  border-radius:999px!important;
  background:#07182d!important;
  color:#fff!important;
  box-shadow:none!important;
}
.btn.blue{background:var(--ui-blue)!important}
.btn.green{background:#07845d!important}
.btn.secondary,.news-preview-actions button{
  background:#fff!important;
  color:#172033!important;
  border:1px solid rgba(15,23,42,.11)!important;
}
.tool-popup-card{
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.09)!important;
  box-shadow:var(--ui-shadow-soft)!important;
  background:#fff!important;
}
.tool-popup-card em,.guide,.news-note,.calendar-help,.spell-note,.spell-sample,.salary-input-caption,.union-chat-tip{display:none!important}

/* ===== News page: modern editorial + spacious list ===== */
#newsPage .subpage-shell{max-width:1680px!important}
#newsPage .news-frame{
  padding:30px 32px 48px!important;
  border-radius:var(--ui-radius-lg)!important;
}
#newsPage .news-filter{
  padding:0 0 22px!important;
  margin-bottom:24px!important;
  border:0!important;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
  border-radius:0!important;
  background:transparent!important;
}
#newsPage .news-topic-btn{
  min-height:36px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.10)!important;
  color:#263244!important;
  font-size:12px!important;
  font-weight:1000!important;
}
#newsPage .news-topic-btn.active{
  background:#07182d!important;
  color:#fff!important;
  border-color:#07182d!important;
}
#newsPage .featured-news-card{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;
  gap:24px!important;
  padding:0 0 28px!important;
  border:0!important;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
}
#newsPage .news-lead-img,#newsPage .news-mini-img,#newsPage .news-row-thumb{
  border-radius:18px!important;
  overflow:hidden!important;
  background:#e5e7eb!important;
}
#newsPage .news-lead-img{aspect-ratio:1.6/1!important}
#newsPage .news-lead-card h3{
  font-size:34px!important;
  line-height:1.17!important;
  letter-spacing:-1.5px!important;
  color:#07111f!important;
  font-weight:1000!important;
}
#newsPage .news-lead-card p{
  font-size:14px!important;
  line-height:1.62!important;
  color:#64748b!important;
}
#newsPage .news-mini-grid{gap:18px!important}
#newsPage .news-mini-card{
  padding-bottom:14px!important;
  border-bottom:1px solid rgba(15,23,42,.09)!important;
}
#newsPage .news-mini-card h4{
  font-size:15.5px!important;
  line-height:1.38!important;
  color:#111827!important;
}
#newsPage .news-list-card{
  margin-top:30px!important;
  padding-bottom:26px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#newsPage .news-list-head{
  padding:0 0 16px!important;
  border-top:1px solid #07182d!important;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
}
#newsPage .news-list-head strong{
  font-size:22px!important;
  font-weight:1000!important;
  letter-spacing:-.8px!important;
}
#newsPage .news-list{
  grid-template-columns:1fr 1fr!important;
  gap:0 42px!important;
}
#newsPage .news-item{
  padding:20px 0!important;
  min-height:132px!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
}
#newsPage .news-item h4{
  font-size:18px!important;
  line-height:1.42!important;
  color:#111827!important;
  letter-spacing:-.55px!important;
}
#newsPage .news-item p{
  margin-top:9px!important;
  color:#64748b!important;
  font-size:13.5px!important;
  line-height:1.62!important;
  font-weight:650!important;
}
#newsPage .news-item small{
  margin-top:10px!important;
  color:#8a94a6!important;
}
#newsPage .news-side,#newsPage .news-reader-card,#newsPage .news-preview-dim{display:none!important}

/* ===== responsive ===== */
@media(max-width:1320px){
  .app-header{grid-template-columns:auto minmax(0,1fr)!important;height:auto!important;min-height:92px!important;padding-top:14px!important;padding-bottom:14px!important}
  .brand{min-width:0!important}
  .header-nav{grid-column:1 / -1!important;grid-row:2!important;justify-self:start!important;width:100%!important}
  .music-bar{position:absolute!important;right:22px!important;top:16px!important}
  #homePage .home-clean-grid{grid-template-columns:1fr!important}
  #homePage .home-photo-board{height:58vh!important;min-height:520px!important}
  #homePage .home-right-rail{grid-template-columns:1fr!important}
  #homePage .home-news-priority .home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .app-header{display:flex!important;align-items:center!important;gap:10px!important;height:74px!important;min-height:74px!important;padding:0 16px!important}
  .brand span{font-size:16px!important}
  .header-nav{display:none!important}
  .music-bar{
    position:fixed!important;
    top:80px!important;
    right:12px!important;
    width:min(330px,calc(100vw - 24px))!important;
    min-width:0!important;
    height:46px!important;
    z-index:80!important;
  }
  #homePage .home-dashboard{padding:146px 14px 40px!important}
  #homePage .home-clean-top{display:block!important;margin-bottom:16px!important}
  #homePage .home-clean-title h1{font-size:38px!important;letter-spacing:-2.4px!important}
  #homePage .home-clean-links{justify-content:flex-start!important;margin-top:16px!important;flex-wrap:wrap!important}
  #homePage .home-photo-board{height:46vh!important;min-height:390px!important;border-radius:24px!important}
  #homePage .home-photo-board .device,#homePage .home-photo-board .screen{border-radius:24px!important}
  #homePage .home-photo-board .media-copy{left:18px!important;top:18px!important}
  #homePage .home-photo-board .photo-badge{left:18px!important;bottom:18px!important;max-width:calc(100% - 36px)!important;font-size:25px!important;letter-spacing:-1.2px!important}
  #homePage .home-center-tools{grid-template-columns:1fr!important}
  #homePage .home-news-priority .home-news-grid{grid-template-columns:1fr!important}
  .subpage{padding:146px 14px 38px!important}
  .subpage-top{align-items:flex-start!important;flex-direction:column!important;padding:20px!important}
  .subpage-title h2{font-size:34px!important}
  #newsPage .news-frame{padding:18px 16px 30px!important}
  #newsPage .featured-news-card{grid-template-columns:1fr!important}
  #newsPage .news-list{grid-template-columns:1fr!important;gap:0!important}
  #newsPage .news-item{min-height:0!important;padding:17px 0!important}
}


/* ===== Fullscreen Photo Hero + Scroll Bento Dashboard Refresh =====
   기능 로직 변경 없음 / 홈 레이아웃만 재구성
================================================== */
:root{
  --hero-bg:#edf2f7;
  --hero-ink:#08111f;
  --hero-muted:#667085;
  --hero-card:#ffffff;
  --hero-line:rgba(15,23,42,.10);
  --hero-blue:#165dff;
  --hero-navy:#07182d;
  --hero-radius:34px;
  --hero-shadow:0 24px 70px rgba(15,23,42,.12);
  --hero-soft-shadow:0 14px 34px rgba(15,23,42,.08);
}

/* 홈 첫 화면: 접속 즉시 사진이 꽉 차게 */
#homePage .home-dashboard{
  max-width:none!important;
  width:100%!important;
  min-height:auto!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  background:
    radial-gradient(circle at 8% 14%, rgba(22,93,255,.10), transparent 32%),
    linear-gradient(180deg,#f8fafc 0%,#edf2f7 54%,#e8edf4 100%)!important;
}

/* 헤더가 hero 위에 자연스럽게 올라오도록 */
.app-header{
  height:88px!important;
  padding:0 clamp(20px,3vw,52px)!important;
  background:rgba(255,255,255,.72)!important;
  border-bottom:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 12px 34px rgba(15,23,42,.08)!important;
  backdrop-filter:blur(22px) saturate(1.2)!important;
}
.brand{min-width:230px!important}
.header-nav{box-shadow:0 12px 34px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.95)!important}
.music-bar{box-shadow:0 14px 34px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.95)!important}

/* hero 내부 오버레이 텍스트 */
#homePage .home-clean-top{
  position:absolute!important;
  left:clamp(26px,5vw,86px)!important;
  right:clamp(26px,5vw,86px)!important;
  top:clamp(155px,23vh,250px)!important;
  z-index:8!important;
  transform:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:26px!important;
  align-items:end!important;
  max-width:none!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
  text-align:left!important;
}
#homePage .home-clean-title small{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  height:32px!important;
  margin:0 0 18px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
  backdrop-filter:blur(14px)!important;
  font-size:12px!important;
  letter-spacing:1.4px!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
}
#homePage .home-clean-title small::before{
  content:"";
  display:block;
  width:38px;
  height:2px;
  border-radius:999px;
  background:#4f8cff;
}
#homePage .home-clean-title h1{
  max-width:980px!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(54px,7.4vw,118px)!important;
  line-height:.9!important;
  letter-spacing:-7px!important;
  font-weight:1000!important;
  text-shadow:0 18px 52px rgba(0,0,0,.36)!important;
}
#homePage .home-clean-title p{display:none!important}
#homePage .home-clean-links{
  pointer-events:auto!important;
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
  justify-content:flex-end!important;
  align-self:end!important;
}
#homePage .home-clean-links a{
  min-height:48px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.16)!important;
  backdrop-filter:blur(16px)!important;
  font-size:13px!important;
  font-weight:1000!important;
}
#homePage .home-clean-links a:first-child{
  background:#165dff!important;
  border-color:#165dff!important;
}

/* DOM은 그대로 두고, grid 첫 번째 요소인 사진을 full hero로 */
#homePage .home-clean-grid{
  display:block!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
}
#homePage .home-photo-board{
  height:100vh!important;
  min-height:720px!important;
  max-height:none!important;
  width:100%!important;
  margin:0!important;
  display:block!important;
  position:relative!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#0b1220!important;
  box-shadow:none!important;
}
#homePage .home-photo-board .device{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#0b1220!important;
  box-shadow:none!important;
}
#homePage .home-photo-board .device::before,
#homePage .home-photo-board .device::after{display:none!important}
#homePage .home-photo-board .screen{
  width:100%!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
  background:#0b1220!important;
}
#homePage .photo-stack{
  height:100%!important;
  overflow:hidden!important;
  scroll-snap-type:none!important;
}
#homePage .photo-card img{
  filter:saturate(1.04) contrast(1.03)!important;
}
#homePage .home-photo-board .photo-card::after{
  background:
    linear-gradient(90deg,rgba(5,13,26,.72) 0%,rgba(5,13,26,.43) 42%,rgba(5,13,26,.12) 100%),
    linear-gradient(to top,rgba(5,13,26,.62),transparent 45%),
    linear-gradient(to bottom,rgba(5,13,26,.28),transparent 28%)!important;
}
#homePage .home-photo-board .media-copy,
#homePage .home-photo-board .thumbs{display:none!important}
#homePage .home-photo-board .photo-badge{
  left:auto!important;
  right:clamp(22px,4vw,72px)!important;
  bottom:clamp(26px,5vw,76px)!important;
  transform:none!important;
  padding:11px 16px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
  backdrop-filter:blur(14px)!important;
  font-size:15px!important;
  line-height:1!important;
  letter-spacing:-.2px!important;
  font-weight:1000!important;
  text-shadow:none!important;
}

/* hero 아래 스크롤 섹션: 첨부 이미지의 구성 유지 + 최신 bento 느낌 */
#homePage .home-right-rail{
  width:min(1620px,calc(100% - clamp(28px,6vw,96px)))!important;
  margin:34px auto 72px!important;
  display:grid!important;
  grid-template-columns:340px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:stretch!important;
  min-width:0!important;
}
#homePage .home-center-tools{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  align-content:start!important;
}
#homePage .home-center-card{
  min-height:148px!important;
  border-radius:28px!important;
  padding:26px 24px!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(255,255,255,.68)!important;
  box-shadow:0 22px 56px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(18px)!important;
  position:relative!important;
  overflow:hidden!important;
}
#homePage .home-center-card::after{
  content:"";
  display:block!important;
  position:absolute;
  width:160px;
  height:160px;
  right:-54px;
  bottom:-64px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(22,93,255,.14),transparent 66%);
}
#homePage .home-center-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 30px 70px rgba(15,23,42,.14)!important;
}
#homePage .home-center-card small{
  display:block!important;
  color:#165dff!important;
  font-size:12px!important;
  letter-spacing:1.2px!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
}
#homePage .home-center-card strong{
  display:block!important;
  margin-top:9px!important;
  color:#07111f!important;
  font-size:31px!important;
  line-height:1.05!important;
  letter-spacing:-1.45px!important;
  font-weight:1000!important;
}
#homePage .home-center-card em{
  display:block!important;
  margin-top:8px!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-style:normal!important;
  font-weight:800!important;
}
#homePage .home-center-card b{
  position:absolute!important;
  right:24px!important;
  top:38px!important;
  z-index:2!important;
  width:46px!important;
  height:46px!important;
  padding:0!important;
  border-radius:50%!important;
  background:#07182d!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:13px!important;
  font-weight:1000!important;
}
#homePage .home-center-card.calendar b{background:#165dff!important}

/* 주요 기사: 첨부 이미지처럼 큰 카드 + 작은 카드 배열 */
#homePage .home-news-priority{
  margin:0!important;
  max-width:none!important;
  width:100%!important;
  min-height:0!important;
  padding:28px!important;
  border-radius:32px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(255,255,255,.68)!important;
  box-shadow:0 22px 56px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(18px)!important;
}
#homePage .home-news-priority .home-news-head{
  margin:0 0 18px!important;
  padding:0 0 18px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  border-bottom:1px solid rgba(15,23,42,.09)!important;
}
#homePage .home-news-priority .home-news-head small{
  display:block!important;
  margin:0 0 7px!important;
  color:#165dff!important;
  font-size:12px!important;
  letter-spacing:1.2px!important;
  text-transform:uppercase!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-head h2{
  margin:0!important;
  color:#07111f!important;
  font-size:36px!important;
  line-height:1!important;
  letter-spacing:-1.8px!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-head a{
  height:42px!important;
  min-height:42px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  border:1px solid rgba(15,23,42,.10)!important;
  font-size:13px!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-grid{
  display:grid!important;
  grid-template-columns:1.05fr 1fr 1fr!important;
  gap:14px!important;
  align-items:stretch!important;
}
#homePage .home-news-priority .home-news-card,
#homePage .home-news-priority .home-news-card:first-child{
  min-height:148px!important;
  padding:20px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.09)!important;
  background:#f8fafc!important;
  box-shadow:none!important;
  display:block!important;
  color:#07111f!important;
  overflow:hidden!important;
  position:relative!important;
}
#homePage .home-news-priority .home-news-card:first-child{
  grid-row:span 2!important;
  min-height:308px!important;
  background:linear-gradient(135deg,#07182d,#0f315e)!important;
  color:#fff!important;
  border:0!important;
}
#homePage .home-news-priority .home-news-card:first-child::after{
  content:"";
  display:block!important;
  position:absolute;
  right:-70px;
  bottom:-90px;
  width:270px;
  height:270px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(22,93,255,.32),transparent 66%);
}
#homePage .home-news-priority .home-news-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 20px 46px rgba(15,23,42,.10)!important;
}
#homePage .home-news-priority .home-news-tag,
#homePage .home-news-priority .home-news-card:first-child .home-news-tag{
  height:28px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:#eef4ff!important;
  color:#175cd3!important;
  border:1px solid #dbeafe!important;
  font-size:12px!important;
  letter-spacing:-.1px!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-card:first-child .home-news-tag{
  background:rgba(255,255,255,.14)!important;
  color:#bfdbfe!important;
  border-color:rgba(255,255,255,.18)!important;
}
#homePage .home-news-priority .home-news-card h3,
#homePage .home-news-priority .home-news-card:first-child h3{
  position:relative!important;
  z-index:2!important;
  margin:16px 0 9px!important;
  color:#111827!important;
  font-size:20px!important;
  line-height:1.34!important;
  letter-spacing:-.75px!important;
  font-weight:1000!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#homePage .home-news-priority .home-news-card:first-child h3{
  color:#fff!important;
  font-size:30px!important;
  line-height:1.22!important;
  letter-spacing:-1.4px!important;
}
#homePage .home-news-priority .home-news-card p,
#homePage .home-news-priority .home-news-card:first-child p{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.55!important;
  font-weight:750!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#homePage .home-news-priority .home-news-card:first-child p{
  color:#dbeafe!important;
  font-size:14px!important;
}
#homePage .home-news-priority .home-news-card small,
#homePage .home-news-priority .home-news-card:first-child small{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  margin-top:14px!important;
  color:#94a3b8!important;
  font-size:12px!important;
  font-weight:900!important;
}
#homePage .home-news-priority .home-news-card:first-child small{color:#bfdbfe!important}

/* 전체 하위 페이지는 최신 대시보드 톤 유지 */
.subpage{
  padding-top:126px!important;
}
.subpage-top{
  border-radius:30px!important;
}
.calculator-frame,.spell-checker-frame,.calendar-frame,.news-frame{
  border-radius:30px!important;
}

/* 반응형 */
@media(max-width:1320px){
  #homePage .home-clean-top{
    top:170px!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  #homePage .home-clean-links{justify-content:flex-start!important}
  #homePage .home-right-rail{
    grid-template-columns:1fr!important;
  }
  #homePage .home-center-tools{
    grid-template-columns:1fr 1fr!important;
  }
  #homePage .home-news-priority .home-news-grid{
    grid-template-columns:1fr 1fr!important;
  }
  #homePage .home-news-priority .home-news-card:first-child{
    grid-column:span 2!important;
    grid-row:auto!important;
    min-height:230px!important;
  }
}
@media(max-width:760px){
  #homePage .home-dashboard{padding:0!important}
  #homePage .home-clean-top{
    left:20px!important;
    right:20px!important;
    top:150px!important;
  }
  #homePage .home-clean-title h1{
    font-size:42px!important;
    line-height:.98!important;
    letter-spacing:-2.4px!important;
  }
  #homePage .home-clean-links{
    flex-wrap:wrap!important;
  }
  #homePage .home-photo-board{
    min-height:640px!important;
    height:100vh!important;
  }
  #homePage .home-photo-board .photo-badge{
    right:20px!important;
    bottom:26px!important;
    font-size:13px!important;
  }
  #homePage .home-right-rail{
    width:auto!important;
    margin:22px 14px 46px!important;
    gap:18px!important;
  }
  #homePage .home-center-tools{
    grid-template-columns:1fr!important;
  }
  #homePage .home-center-card{
    min-height:132px!important;
    border-radius:24px!important;
  }
  #homePage .home-news-priority{
    padding:20px!important;
    border-radius:24px!important;
  }
  #homePage .home-news-priority .home-news-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  #homePage .home-news-priority .home-news-head h2{
    font-size:30px!important;
  }
  #homePage .home-news-priority .home-news-grid{
    grid-template-columns:1fr!important;
  }
  #homePage .home-news-priority .home-news-card:first-child{
    grid-column:auto!important;
    min-height:220px!important;
  }
  #homePage .home-news-priority .home-news-card:first-child h3{
    font-size:25px!important;
  }
}


/* =========================================================
   FINAL POLISH: Fullscreen Photo Hero + Refined Executive Portal
   기능 로직 변경 없음 / 시각 레이아웃 완성용 최종 오버라이드
========================================================= */

/* 0. foundation */
:root{
  --final-bg:#edf2f7;
  --final-ink:#07111f;
  --final-muted:#64748b;
  --final-blue:#165dff;
  --final-blue-dark:#0d45c9;
  --final-navy:#07182d;
  --final-card:#ffffff;
  --final-line:rgba(15,23,42,.10);
  --final-shadow:0 24px 70px rgba(15,23,42,.13);
  --final-shadow-soft:0 12px 34px rgba(15,23,42,.08);
  --final-radius-xl:34px;
  --final-radius-lg:26px;
  --final-radius-md:18px;
}

html,body{
  background:
    radial-gradient(circle at 12% 0%,rgba(22,93,255,.10),transparent 30%),
    linear-gradient(180deg,#f8fafc 0%,#edf2f7 52%,#e7edf4 100%)!important;
  color:var(--final-ink)!important;
  overflow-x:hidden!important;
}
body::before,body::after{display:none!important}

/* 1. header - fixed, slim, not blocking hero */
.app-header{
  position:fixed!important;
  top:18px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(1540px,calc(100vw - 40px))!important;
  height:70px!important;
  z-index:100!important;
  display:grid!important;
  grid-template-columns:auto minmax(420px,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  padding:0 18px!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:28px!important;
  box-shadow:0 18px 52px rgba(15,23,42,.16)!important;
  backdrop-filter:blur(22px) saturate(1.2)!important;
}

.brand{
  min-width:220px!important;
  gap:12px!important;
  font-size:20px!important;
  font-weight:1000!important;
  letter-spacing:-.75px!important;
  color:#07111f!important;
  white-space:nowrap!important;
}
.brand-mark{
  width:42px!important;
  height:42px!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#165dff,#07182d)!important;
  box-shadow:0 12px 24px rgba(22,93,255,.22)!important;
}
.brand-mark::before{font-size:12px!important;border-width:1.5px!important;padding:2px 1px!important}
.brand-mark::after{display:none!important}

.header-nav{
  position:static!important;
  transform:none!important;
  justify-self:center!important;
  width:max-content!important;
  max-width:100%!important;
  display:flex!important;
  gap:4px!important;
  padding:6px!important;
  background:rgba(248,250,252,.88)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:999px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
.header-nav::-webkit-scrollbar{display:none!important}
.header-nav a{
  height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 13px!important;
  border-radius:999px!important;
  color:#263244!important;
  background:transparent!important;
  font-size:12.5px!important;
  font-weight:950!important;
  letter-spacing:-.22px!important;
  white-space:nowrap!important;
}
.header-nav a.active,.header-nav a:hover{
  background:#07182d!important;
  color:#fff!important;
  box-shadow:0 9px 20px rgba(7,24,45,.16)!important;
}

/* Music controls: fully visible, compact */
.music-bar{
  position:static!important;
  justify-self:end!important;
  width:318px!important;
  min-width:318px!important;
  height:48px!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:6px 10px!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:999px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
  backdrop-filter:blur(18px)!important;
}
.music-btn,.music-preset-btn{
  width:33px!important;
  height:33px!important;
  flex:0 0 33px!important;
  border-radius:50%!important;
  background:#f1f5f9!important;
  color:#0f172a!important;
  border:1px solid rgba(15,23,42,.08)!important;
  font-size:12px!important;
  font-weight:1000!important;
}
.music-toggle{
  width:37px!important;
  height:37px!important;
  flex:0 0 37px!important;
  background:#fff!important;
  color:#07182d!important;
  box-shadow:0 8px 20px rgba(15,23,42,.11)!important;
}
.music-btn:hover,.music-preset-btn:hover,.music-preset-btn.active{
  transform:none!important;
  background:#07182d!important;
  color:#fff!important;
  border-color:#07182d!important;
}
.music-volume{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:0!important;
  min-width:72px!important;
}
.music-volume span{font-size:14px!important;color:#0f172a!important}
.music-volume input[type="range"]{
  width:54px!important;
  height:5px!important;
  padding:0!important;
  border:0!important;
  accent-color:#07182d!important;
}
.music-autoplay-hint{display:none!important}

/* 2. home: hero must be actual photo, no blue banner */
#homePage{
  background:transparent!important;
}
#homePage .home-dashboard{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  min-height:auto!important;
  background:transparent!important;
  text-align:left!important;
}

/* home top text overlay */
#homePage .home-clean-top{
  position:absolute!important;
  left:clamp(30px,6vw,104px)!important;
  right:clamp(30px,6vw,104px)!important;
  top:clamp(170px,25vh,260px)!important;
  z-index:15!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:28px!important;
  align-items:end!important;
  transform:none!important;
  pointer-events:none!important;
  text-align:left!important;
}
#homePage .home-clean-title small{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  height:32px!important;
  margin:0 0 18px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  color:#fff!important;
  backdrop-filter:blur(14px)!important;
  font-size:12px!important;
  letter-spacing:1.35px!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  text-shadow:0 3px 16px rgba(0,0,0,.18)!important;
}
#homePage .home-clean-title small::before{
  content:"";
  width:38px;
  height:2px;
  border-radius:999px;
  background:#5a96ff;
  display:block;
}
#homePage .home-clean-title h1{
  max-width:1040px!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(56px,7vw,116px)!important;
  line-height:.9!important;
  letter-spacing:-7px!important;
  font-weight:1000!important;
  text-shadow:0 18px 54px rgba(0,0,0,.40)!important;
}
#homePage .home-clean-title br{display:block!important}
#homePage .home-clean-title p{display:none!important}

#homePage .home-clean-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  pointer-events:auto!important;
}
#homePage .home-clean-links a{
  min-height:48px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(16px)!important;
  font-size:13px!important;
  font-weight:1000!important;
}
#homePage .home-clean-links a:first-child{
  background:#165dff!important;
  border-color:#165dff!important;
}

/* make the photo board the first viewport */
#homePage .home-clean-grid{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
#homePage .home-photo-board{
  width:100vw!important;
  height:100vh!important;
  min-height:720px!important;
  max-height:none!important;
  margin:0!important;
  display:block!important;
  position:relative!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#08111f!important;
  box-shadow:none!important;
}
#homePage .home-photo-board .device{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#08111f!important;
  box-shadow:none!important;
}
#homePage .home-photo-board .device::before,
#homePage .home-photo-board .device::after{
  display:none!important;
}
#homePage .home-photo-board .screen{
  width:100%!important;
  height:100%!important;
  border:0!important;
  border-radius:0!important;
  background:#08111f!important;
}
#homePage .photo-stack{
  height:100%!important;
  overflow:hidden!important;
  scroll-snap-type:none!important;
}
#homePage .photo-card{
  height:100%!important;
}
#homePage .photo-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  filter:saturate(1.04) contrast(1.02)!important;
}
#homePage .home-photo-board .photo-card::after{
  background:
    linear-gradient(90deg,rgba(5,12,24,.76) 0%,rgba(5,12,24,.48) 42%,rgba(5,12,24,.16) 100%),
    linear-gradient(to top,rgba(5,12,24,.62),transparent 44%),
    linear-gradient(to bottom,rgba(5,12,24,.30),transparent 30%)!important;
}
#homePage .home-photo-board .media-copy,
#homePage .home-photo-board .thumbs{
  display:none!important;
}
#homePage .home-photo-board .photo-badge{
  left:auto!important;
  right:clamp(22px,5vw,84px)!important;
  bottom:clamp(28px,5vw,84px)!important;
  transform:none!important;
  max-width:260px!important;
  padding:11px 16px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  backdrop-filter:blur(14px)!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1!important;
  letter-spacing:-.1px!important;
  font-weight:1000!important;
  text-shadow:none!important;
}

/* small scroll cue */
#homePage .home-photo-board::before{
  content:"SCROLL";
  position:absolute;
  left:clamp(30px,6vw,104px);
  bottom:42px;
  z-index:8;
  color:rgba(255,255,255,.72);
  font-size:11px;
  letter-spacing:1.5px;
  font-weight:1000;
}
#homePage .home-photo-board::after{
  content:"";
  position:absolute;
  left:clamp(30px,6vw,104px);
  bottom:26px;
  z-index:8;
  width:90px;
  height:2px;
  background:linear-gradient(90deg,#fff,rgba(255,255,255,.08));
  border-radius:999px;
}

/* 3. below fold: refined version of user's card layout */
#homePage .home-right-rail{
  width:min(1600px,calc(100vw - clamp(28px,6vw,96px)))!important;
  margin:34px auto 76px!important;
  display:grid!important;
  grid-template-columns:340px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:stretch!important;
}
#homePage .home-center-tools{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  align-content:start!important;
}
#homePage .home-center-card{
  min-height:150px!important;
  border-radius:28px!important;
  padding:26px 24px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 24px 58px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(18px)!important;
  position:relative!important;
  overflow:hidden!important;
}
#homePage .home-center-card::after{
  content:"";
  display:block!important;
  position:absolute;
  width:170px;
  height:170px;
  right:-58px;
  bottom:-66px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(22,93,255,.14),transparent 66%);
}
#homePage .home-center-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 32px 74px rgba(15,23,42,.14)!important;
}
#homePage .home-center-card small{
  display:block!important;
  color:#165dff!important;
  font-size:12px!important;
  letter-spacing:1.1px!important;
  text-transform:uppercase!important;
  font-weight:1000!important;
}
#homePage .home-center-card strong{
  display:block!important;
  margin-top:9px!important;
  color:#07111f!important;
  font-size:31px!important;
  line-height:1.05!important;
  letter-spacing:-1.45px!important;
  font-weight:1000!important;
}
#homePage .home-center-card em{
  display:block!important;
  margin-top:8px!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-style:normal!important;
  font-weight:800!important;
}
#homePage .home-center-card b{
  position:absolute!important;
  right:24px!important;
  top:38px!important;
  z-index:2!important;
  width:46px!important;
  height:46px!important;
  padding:0!important;
  border-radius:50%!important;
  background:#07182d!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-size:13px!important;
  font-weight:1000!important;
}
#homePage .home-center-card.calendar b{
  background:#165dff!important;
}

#homePage .home-news-priority{
  margin:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  padding:28px!important;
  border-radius:32px!important;
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 24px 58px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(18px)!important;
}
#homePage .home-news-priority .home-news-head{
  margin:0 0 18px!important;
  padding:0 0 18px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  border-bottom:1px solid rgba(15,23,42,.09)!important;
}
#homePage .home-news-priority .home-news-head small{
  display:block!important;
  margin:0 0 7px!important;
  color:#165dff!important;
  font-size:12px!important;
  letter-spacing:1.1px!important;
  text-transform:uppercase!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-head h2{
  margin:0!important;
  color:#07111f!important;
  font-size:36px!important;
  line-height:1!important;
  letter-spacing:-1.8px!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-head a{
  height:42px!important;
  min-height:42px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  border:1px solid rgba(15,23,42,.10)!important;
  font-size:13px!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-grid{
  display:grid!important;
  grid-template-columns:1.05fr 1fr 1fr!important;
  gap:14px!important;
  align-items:stretch!important;
}
#homePage .home-news-priority .home-news-card,
#homePage .home-news-priority .home-news-card:first-child{
  min-height:150px!important;
  padding:20px!important;
  border-radius:24px!important;
  border:1px solid rgba(15,23,42,.09)!important;
  background:#f8fafc!important;
  box-shadow:none!important;
  display:block!important;
  color:#07111f!important;
  overflow:hidden!important;
  position:relative!important;
}
#homePage .home-news-priority .home-news-card:first-child{
  grid-row:span 2!important;
  min-height:314px!important;
  background:linear-gradient(135deg,#07182d,#0f315e)!important;
  color:#fff!important;
  border:0!important;
}
#homePage .home-news-priority .home-news-card:first-child::after{
  content:"";
  display:block!important;
  position:absolute;
  right:-72px;
  bottom:-92px;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(22,93,255,.32),transparent 66%);
}
#homePage .home-news-priority .home-news-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 20px 46px rgba(15,23,42,.10)!important;
}
#homePage .home-news-priority .home-news-tag,
#homePage .home-news-priority .home-news-card:first-child .home-news-tag{
  height:28px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:#eef4ff!important;
  color:#175cd3!important;
  border:1px solid #dbeafe!important;
  font-size:12px!important;
  letter-spacing:-.1px!important;
  font-weight:1000!important;
}
#homePage .home-news-priority .home-news-card:first-child .home-news-tag{
  background:rgba(255,255,255,.14)!important;
  color:#bfdbfe!important;
  border-color:rgba(255,255,255,.18)!important;
}
#homePage .home-news-priority .home-news-card h3,
#homePage .home-news-priority .home-news-card:first-child h3{
  position:relative!important;
  z-index:2!important;
  margin:16px 0 9px!important;
  color:#111827!important;
  font-size:20px!important;
  line-height:1.34!important;
  letter-spacing:-.75px!important;
  font-weight:1000!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#homePage .home-news-priority .home-news-card:first-child h3{
  color:#fff!important;
  font-size:30px!important;
  line-height:1.22!important;
  letter-spacing:-1.4px!important;
}
#homePage .home-news-priority .home-news-card p,
#homePage .home-news-priority .home-news-card:first-child p{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.55!important;
  font-weight:750!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#homePage .home-news-priority .home-news-card:first-child p{
  color:#dbeafe!important;
  font-size:14px!important;
}
#homePage .home-news-priority .home-news-card small,
#homePage .home-news-priority .home-news-card:first-child small{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  margin-top:14px!important;
  color:#94a3b8!important;
  font-size:12px!important;
  font-weight:900!important;
}
#homePage .home-news-priority .home-news-card:first-child small{
  color:#bfdbfe!important;
}

/* 4. shared pages remain polished */
.subpage{
  padding-top:126px!important;
}
.subpage-top{
  border-radius:30px!important;
}
.calculator-frame,.spell-checker-frame,.calendar-frame,.news-frame{
  border-radius:30px!important;
}

/* 5. responsive */
@media(max-width:1320px){
  .app-header{
    grid-template-columns:auto minmax(0,1fr)!important;
    min-height:88px!important;
    height:auto!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
  .brand{min-width:0!important}
  .header-nav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    justify-self:start!important;
    width:100%!important;
  }
  .music-bar{
    position:absolute!important;
    right:14px!important;
    top:12px!important;
  }
  #homePage .home-clean-top{
    top:170px!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  #homePage .home-clean-links{
    justify-content:flex-start!important;
  }
  #homePage .home-right-rail{
    grid-template-columns:1fr!important;
  }
  #homePage .home-center-tools{
    grid-template-columns:1fr 1fr!important;
  }
  #homePage .home-news-priority .home-news-grid{
    grid-template-columns:1fr 1fr!important;
  }
  #homePage .home-news-priority .home-news-card:first-child{
    grid-column:span 2!important;
    grid-row:auto!important;
    min-height:230px!important;
  }
}

@media(max-width:760px){
  .app-header{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    height:74px!important;
    min-height:74px!important;
    width:calc(100vw - 24px)!important;
    top:12px!important;
    padding:0 14px!important;
    border-radius:22px!important;
  }
  .brand span{font-size:16px!important}
  .brand-mark{width:36px!important;height:36px!important}
  .header-nav{display:none!important}
  .music-bar{
    position:fixed!important;
    top:92px!important;
    left:12px!important;
    right:12px!important;
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    height:46px!important;
    z-index:90!important;
  }
  #homePage .home-clean-top{
    left:20px!important;
    right:20px!important;
    top:170px!important;
    display:block!important;
  }
  #homePage .home-clean-title h1{
    font-size:43px!important;
    line-height:.98!important;
    letter-spacing:-2.7px!important;
  }
  #homePage .home-clean-links{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    margin-top:18px!important;
  }
  #homePage .home-clean-links a{
    min-height:42px!important;
    padding:0 16px!important;
  }
  #homePage .home-photo-board{
    min-height:660px!important;
    height:100vh!important;
  }
  #homePage .home-photo-board .photo-badge{
    right:20px!important;
    bottom:28px!important;
    font-size:13px!important;
  }
  #homePage .home-photo-board::before,
  #homePage .home-photo-board::after{
    display:none!important;
  }
  #homePage .home-right-rail{
    width:auto!important;
    margin:22px 14px 46px!important;
    gap:18px!important;
  }
  #homePage .home-center-tools{
    grid-template-columns:1fr!important;
  }
  #homePage .home-center-card{
    min-height:132px!important;
    border-radius:24px!important;
  }
  #homePage .home-news-priority{
    padding:20px!important;
    border-radius:24px!important;
  }
  #homePage .home-news-priority .home-news-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  #homePage .home-news-priority .home-news-head h2{
    font-size:30px!important;
  }
  #homePage .home-news-priority .home-news-grid{
    grid-template-columns:1fr!important;
  }
  #homePage .home-news-priority .home-news-card:first-child{
    grid-column:auto!important;
    min-height:220px!important;
  }
  #homePage .home-news-priority .home-news-card:first-child h3{
    font-size:25px!important;
  }
}


/* =========================================================
   FINAL COMPLETE DESIGN - clean rebuild override
   목적: 첫 화면 풀스크린 사진 + 스크롤 후 포털 카드 구성
   기능 로직은 유지하고 홈 DOM/CSS만 안정화
========================================================= */
:root{
  --f-bg:#edf2f7;
  --f-ink:#07111f;
  --f-muted:#64748b;
  --f-blue:#165dff;
  --f-blue2:#0c45cf;
  --f-navy:#07182d;
  --f-card:#ffffff;
  --f-line:rgba(15,23,42,.10);
  --f-shadow:0 24px 70px rgba(15,23,42,.13);
  --f-shadow-soft:0 12px 34px rgba(15,23,42,.08);
}
html,body{
  background:linear-gradient(180deg,#f8fafc 0%,#edf2f7 48%,#e8edf4 100%)!important;
  color:var(--f-ink)!important;
}
body::before,body::after{display:none!important}

/* header */
.app-header{
  position:fixed!important;
  top:18px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(1540px,calc(100vw - 40px))!important;
  height:70px!important;
  z-index:100!important;
  display:grid!important;
  grid-template-columns:auto minmax(420px,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  padding:0 18px!important;
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(255,255,255,.74)!important;
  border-radius:28px!important;
  box-shadow:0 18px 52px rgba(15,23,42,.16)!important;
  backdrop-filter:blur(22px) saturate(1.18)!important;
}
.brand{
  min-width:220px!important;
  gap:12px!important;
  font-size:20px!important;
  color:#07111f!important;
  font-weight:1000!important;
  letter-spacing:-.75px!important;
  white-space:nowrap!important;
}
.brand-mark{
  width:42px!important;height:42px!important;border-radius:14px!important;
  background:linear-gradient(145deg,#165dff,#07182d)!important;
  box-shadow:0 12px 24px rgba(22,93,255,.22)!important;
}
.brand-mark::before{font-size:12px!important;border-width:1.5px!important;padding:2px 1px!important}
.brand-mark::after{display:none!important}
.header-nav{
  position:static!important;
  transform:none!important;
  justify-self:center!important;
  width:max-content!important;
  max-width:100%!important;
  display:flex!important;
  gap:4px!important;
  padding:6px!important;
  background:rgba(248,250,252,.88)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:999px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96)!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
.header-nav::-webkit-scrollbar{display:none!important}
.header-nav a{
  height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 13px!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#263244!important;
  font-size:12.5px!important;
  font-weight:950!important;
  letter-spacing:-.22px!important;
  white-space:nowrap!important;
}
.header-nav a.active,.header-nav a:hover{
  background:#07182d!important;color:#fff!important;
  box-shadow:0 9px 20px rgba(7,24,45,.16)!important;
}
.music-bar{
  position:static!important;
  justify-self:end!important;
  width:318px!important;
  min-width:318px!important;
  height:48px!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96)!important;
  backdrop-filter:blur(18px)!important;
}
.music-btn,.music-preset-btn{
  width:33px!important;height:33px!important;flex:0 0 33px!important;
  border-radius:50%!important;
  background:#f1f5f9!important;color:#0f172a!important;
  border:1px solid rgba(15,23,42,.08)!important;
  font-size:12px!important;font-weight:1000!important;
}
.music-toggle{
  width:37px!important;height:37px!important;flex:0 0 37px!important;
  background:#fff!important;color:#07182d!important;
  box-shadow:0 8px 20px rgba(15,23,42,.11)!important;
}
.music-btn:hover,.music-preset-btn:hover,.music-preset-btn.active{
  transform:none!important;background:#07182d!important;color:#fff!important;border-color:#07182d!important;
}
.music-volume{display:flex!important;align-items:center!important;gap:7px!important;padding:0!important;min-width:72px!important}
.music-volume span{font-size:14px!important;color:#0f172a!important}
.music-volume input[type="range"]{width:54px!important;height:5px!important;padding:0!important;border:0!important;accent-color:#07182d!important}
.music-autoplay-hint{display:none!important}

/* routing visibility */
.page{display:none;min-height:100vh}
.page.active{display:block}

/* final home */
.final-home-page{background:transparent!important}
.final-home{width:100%;min-height:100vh;background:linear-gradient(180deg,#07111f 0,#edf2f7 100%)}
.final-hero{
  position:relative;
  height:100vh;
  min-height:720px;
  width:100%;
  overflow:hidden;
  background:#07111f;
}
.final-hero-stack{position:absolute;inset:0;z-index:1;background:#07111f}
.final-hero-slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  transition:opacity 1100ms ease;
}
.final-hero-slide.active{opacity:1}
.final-hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.04) contrast(1.02);
}
.final-hero-shade{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(90deg,rgba(5,12,24,.78) 0%,rgba(5,12,24,.50) 42%,rgba(5,12,24,.14) 100%),
    linear-gradient(to top,rgba(5,12,24,.62),transparent 44%),
    linear-gradient(to bottom,rgba(5,12,24,.30),transparent 30%);
}
.final-hero-content{
  position:absolute;
  left:clamp(30px,6vw,104px);
  right:clamp(30px,6vw,104px);
  top:clamp(170px,25vh,260px);
  z-index:5;
  max-width:1120px;
}
.final-hero-kicker{
  display:inline-flex;align-items:center;gap:10px;
  height:32px;margin:0 0 18px;padding:0 14px;border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.24);
  color:#fff;
  backdrop-filter:blur(14px);
  font-size:12px;letter-spacing:1.35px;font-weight:1000;text-transform:uppercase;
  text-shadow:0 3px 16px rgba(0,0,0,.18);
}
.final-hero-kicker span{width:38px;height:2px;border-radius:999px;background:#5a96ff;display:block}
.final-hero h1{
  margin:0;color:#fff;
  font-size:clamp(56px,7vw,116px);
  line-height:.9;
  letter-spacing:-7px;
  font-weight:1000;
  text-shadow:0 18px 54px rgba(0,0,0,.40);
}
.final-hero-actions{
  display:flex;align-items:center;gap:10px;margin-top:30px;flex-wrap:wrap;
}
.final-hero-actions a{
  min-height:48px;padding:0 22px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.16);
  color:#fff;border:1px solid rgba(255,255,255,.32);
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  backdrop-filter:blur(16px);
  font-size:13px;font-weight:1000;text-decoration:none;
}
.final-hero-actions a:first-child{background:#165dff;border-color:#165dff}
.final-hero-meta{
  position:absolute;right:clamp(22px,5vw,84px);bottom:clamp(28px,5vw,84px);z-index:5;
  display:flex;align-items:center;gap:8px;
}
.final-hero-meta span{
  min-width:76px;height:38px;padding:0 16px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.30);
  backdrop-filter:blur(14px);
  color:#fff;font-size:13px;font-weight:1000;
}
.final-scroll-cue{
  position:absolute;left:clamp(30px,6vw,104px);bottom:28px;z-index:5;
  display:grid;gap:9px;
}
.final-scroll-cue b{color:rgba(255,255,255,.72);font-size:11px;letter-spacing:1.5px;font-weight:1000}
.final-scroll-cue i{width:90px;height:2px;background:linear-gradient(90deg,#fff,rgba(255,255,255,.08));border-radius:999px}

.final-dashboard{
  width:min(1600px,calc(100vw - clamp(28px,6vw,96px)));
  margin:34px auto 76px;
  display:grid;
  grid-template-columns:340px minmax(0,1fr);
  gap:24px;
  align-items:stretch;
}
.final-tool-column{display:grid;grid-template-columns:1fr;gap:16px;align-content:start}
.final-tool-card{
  min-height:150px;padding:26px 24px;border-radius:28px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 24px 58px rgba(15,23,42,.10);
  backdrop-filter:blur(18px);
  position:relative;overflow:hidden;text-decoration:none;
  color:#07111f;
}
.final-tool-card::after{
  content:"";position:absolute;width:170px;height:170px;right:-58px;bottom:-66px;border-radius:50%;
  background:radial-gradient(circle,rgba(22,93,255,.14),transparent 66%);
}
.final-tool-card:hover{transform:translateY(-3px);box-shadow:0 32px 74px rgba(15,23,42,.14)}
.final-tool-card small{display:block;color:#165dff;font-size:12px;letter-spacing:1.1px;text-transform:uppercase;font-weight:1000}
.final-tool-card strong{display:block;margin-top:9px;color:#07111f;font-size:31px;line-height:1.05;letter-spacing:-1.45px;font-weight:1000}
.final-tool-card span{display:block;margin-top:8px;color:#64748b;font-size:13px;line-height:1.45;font-weight:800}
.final-tool-card b{
  position:absolute;right:24px;top:38px;z-index:2;width:46px;height:46px;padding:0;border-radius:50%;
  background:#07182d;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:1000;
}
.final-tool-card.calendar b{background:#165dff}

.final-news-panel{
  margin:0!important;width:100%!important;max-width:none!important;min-height:0!important;
  padding:28px!important;border-radius:32px!important;
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 24px 58px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(18px)!important;
}
.final-news-panel .home-news-head{
  margin:0 0 18px!important;padding:0 0 18px!important;
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;
  border-bottom:1px solid rgba(15,23,42,.09)!important;
}
.final-news-panel .home-news-head small{display:block!important;margin:0 0 7px!important;color:#165dff!important;font-size:12px!important;letter-spacing:1.1px!important;text-transform:uppercase!important;font-weight:1000!important}
.final-news-panel .home-news-head h2{margin:0!important;color:#07111f!important;font-size:36px!important;line-height:1!important;letter-spacing:-1.8px!important;font-weight:1000!important}
.final-news-panel .home-news-head a{
  height:42px!important;min-height:42px!important;padding:0 18px!important;border-radius:999px!important;
  background:#f8fafc!important;color:#0f172a!important;border:1px solid rgba(15,23,42,.10)!important;
  font-size:13px!important;font-weight:1000!important;
}
.final-news-panel .home-news-grid{display:grid!important;grid-template-columns:1.05fr 1fr 1fr!important;gap:14px!important;align-items:stretch!important}
.final-news-panel .home-news-card,
.final-news-panel .home-news-card:first-child{
  min-height:150px!important;padding:20px!important;border-radius:24px!important;
  border:1px solid rgba(15,23,42,.09)!important;background:#f8fafc!important;
  box-shadow:none!important;display:block!important;color:#07111f!important;overflow:hidden!important;position:relative!important;text-decoration:none!important;
}
.final-news-panel .home-news-card:first-child{
  grid-row:span 2!important;min-height:314px!important;
  background:linear-gradient(135deg,#07182d,#0f315e)!important;color:#fff!important;border:0!important;
}
.final-news-panel .home-news-card:first-child::after{
  content:"";display:block!important;position:absolute;right:-72px;bottom:-92px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(22,93,255,.32),transparent 66%);
}
.final-news-panel .home-news-card:hover{transform:translateY(-2px)!important;box-shadow:0 20px 46px rgba(15,23,42,.10)!important}
.final-news-panel .home-news-tag,
.final-news-panel .home-news-card:first-child .home-news-tag{
  height:28px!important;padding:0 11px!important;border-radius:999px!important;
  background:#eef4ff!important;color:#175cd3!important;border:1px solid #dbeafe!important;
  display:inline-flex!important;align-items:center!important;
  font-size:12px!important;letter-spacing:-.1px!important;font-weight:1000!important;
}
.final-news-panel .home-news-card:first-child .home-news-tag{background:rgba(255,255,255,.14)!important;color:#bfdbfe!important;border-color:rgba(255,255,255,.18)!important}
.final-news-panel .home-news-card h3,
.final-news-panel .home-news-card:first-child h3{
  position:relative!important;z-index:2!important;margin:16px 0 9px!important;
  color:#111827!important;font-size:20px!important;line-height:1.34!important;letter-spacing:-.75px!important;font-weight:1000!important;
  display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
}
.final-news-panel .home-news-card:first-child h3{color:#fff!important;font-size:30px!important;line-height:1.22!important;letter-spacing:-1.4px!important}
.final-news-panel .home-news-card p,
.final-news-panel .home-news-card:first-child p{
  position:relative!important;z-index:2!important;margin:0!important;color:#64748b!important;font-size:13px!important;line-height:1.55!important;font-weight:750!important;
  display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
}
.final-news-panel .home-news-card:first-child p{color:#dbeafe!important;font-size:14px!important}
.final-news-panel .home-news-card small,
.final-news-panel .home-news-card:first-child small{position:relative!important;z-index:2!important;display:block!important;margin-top:14px!important;color:#94a3b8!important;font-size:12px!important;font-weight:900!important}
.final-news-panel .home-news-card:first-child small{color:#bfdbfe!important}

/* shared pages */
.subpage{padding-top:126px!important}
.subpage-top{border-radius:30px!important}
.calculator-frame,.spell-checker-frame,.calendar-frame,.news-frame{border-radius:30px!important}
.tool-popup-card em,.guide,.news-note,.calendar-help,.spell-note,.spell-sample,.salary-input-caption,.union-chat-tip,.music-autoplay-hint{display:none!important}

/* responsive */
@media(max-width:1320px){
  .app-header{
    grid-template-columns:auto minmax(0,1fr)!important;
    height:auto!important;min-height:88px!important;
    padding-top:12px!important;padding-bottom:12px!important;
  }
  .brand{min-width:0!important}
  .header-nav{grid-column:1 / -1!important;grid-row:2!important;justify-self:start!important;width:100%!important}
  .music-bar{position:absolute!important;right:14px!important;top:12px!important}
  .final-hero-content{top:170px}
  .final-dashboard{grid-template-columns:1fr}
  .final-tool-column{grid-template-columns:1fr 1fr}
  .final-news-panel .home-news-grid{grid-template-columns:1fr 1fr!important}
  .final-news-panel .home-news-card:first-child{grid-column:span 2!important;grid-row:auto!important;min-height:230px!important}
}
@media(max-width:760px){
  .app-header{
    display:flex!important;align-items:center!important;gap:10px!important;
    height:74px!important;min-height:74px!important;width:calc(100vw - 24px)!important;
    top:12px!important;padding:0 14px!important;border-radius:22px!important;
  }
  .brand span{font-size:16px!important}
  .brand-mark{width:36px!important;height:36px!important}
  .header-nav{display:none!important}
  .music-bar{
    position:fixed!important;top:92px!important;left:12px!important;right:12px!important;width:calc(100vw - 24px)!important;
    min-width:0!important;height:46px!important;z-index:90!important;
  }
  .final-hero{min-height:660px;height:100vh}
  .final-hero-content{left:20px;right:20px;top:170px}
  .final-hero h1{font-size:43px;line-height:.98;letter-spacing:-2.7px}
  .final-hero-actions{margin-top:18px}
  .final-hero-actions a{min-height:42px;padding:0 16px}
  .final-hero-meta{right:20px;bottom:28px}
  .final-scroll-cue{display:none}
  .final-dashboard{width:auto;margin:22px 14px 46px;gap:18px}
  .final-tool-column{grid-template-columns:1fr}
  .final-tool-card{min-height:132px;border-radius:24px}
  .final-news-panel{padding:20px!important;border-radius:24px!important}
  .final-news-panel .home-news-head{align-items:flex-start!important;flex-direction:column!important}
  .final-news-panel .home-news-head h2{font-size:30px!important}
  .final-news-panel .home-news-grid{grid-template-columns:1fr!important}
  .final-news-panel .home-news-card:first-child{grid-column:auto!important;min-height:220px!important}
  .final-news-panel .home-news-card:first-child h3{font-size:25px!important}
}


/* ===== 뉴스 모음 제목 잘림 수정 ===== */
#newsPage .news-list-head{
  overflow:visible!important;
  padding-left:4px!important;
  padding-right:4px!important;
  margin-left:0!important;
  transform:none!important;
}
#newsPage .news-list-head strong{
  display:block!important;
  overflow:visible!important;
  white-space:nowrap!important;
  padding-left:2px!important;
  margin-left:0!important;
  text-indent:0!important;
  line-height:1.35!important;
}
#newsPage .news-list-card{
  overflow:visible!important;
  padding-left:2px!important;
}
#newsPage .news-frame{
  overflow:visible!important;
}


/* ===== 홈 타이틀 간격 + 한 번에 넘어가는 스크롤 전환 ===== */
html{
  scroll-behavior:smooth!important;
  scroll-snap-type:y mandatory;
}

/* 다른 하위 페이지에서는 스냅 영향 최소화 */
.page:not(.active){
  scroll-snap-align:none!important;
}

/* 홈 첫 사진 화면과 아래 메뉴 영역을 화면 단위로 전환 */
#homePage.active .home-photo-board{
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}
#homePage.active .home-right-rail{
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  min-height:calc(100vh - 120px)!important;
  display:grid!important;
  align-content:start!important;
  padding-top:18px!important;
}

/* 울산현대모비스지회 / 5기 집행부 포털 사이 여유 */
#homePage .home-clean-title h1{
  line-height:1.04!important;
}
#homePage .home-clean-title h1 br{
  content:""!important;
}
#homePage .home-clean-title h1 br::after{
  content:""!important;
  display:block!important;
  margin-top:.08em!important;
}

/* 모바일에서는 너무 벌어지지 않게 */
@media(max-width:760px){
  html{scroll-snap-type:y proximity;}
  #homePage .home-clean-title h1{
    line-height:1.08!important;
  }
  #homePage.active .home-right-rail{
    min-height:auto!important;
    padding-top:10px!important;
  }
}


/* ===== 요청 반영: 홈 제목 줄간격 크게 + 휠 1회 즉시 전환 ===== */

/* 제목 두 줄이 겹쳐 보이지 않도록 확실히 벌림 */
#homePage .home-clean-title h1{
  line-height:1.26!important;
  letter-spacing:-5.2px!important;
}
#homePage .home-clean-title h1 br{
  display:block!important;
  content:""!important;
  margin:0!important;
}

/* 홈 아래 메뉴 화면은 사진 다음 화면에서 바로 보이도록 */
#homePage.active .home-photo-board{
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}
#homePage.active .home-right-rail{
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  min-height:calc(100vh - 120px)!important;
  align-content:start!important;
}

/* 기존 부드러운 스냅보다 화면 단위 전환을 우선 */
html{
  scroll-behavior:auto!important;
  scroll-snap-type:none!important;
}

@media(max-width:760px){
  #homePage .home-clean-title h1{
    line-height:1.24!important;
    letter-spacing:-2.4px!important;
  }
  #homePage.active .home-right-rail{
    min-height:auto!important;
  }
}



/* =========================================================
   Compact tool pages override
   참고 디자인: 출장비정산 계산기.html의 1180px 폭, 330px 요약영역, 22px 카드 라운드감
   적용 범위: 출장비 정산 / 급여검증 / 월간일정 화면 크기 축소
   ========================================================= */
#tripPage.subpage,
#salaryPage.subpage,
#calendarPage.subpage{
  padding:96px 18px 42px!important;
}
#tripPage .subpage-shell,
#salaryPage .subpage-shell,
#calendarPage .subpage-shell{
  max-width:1180px!important;
}
#tripPage .subpage-top,
#salaryPage .subpage-top,
#calendarPage .subpage-top{
  margin-bottom:16px!important;
  padding:18px 20px!important;
  border-radius:22px!important;
  box-shadow:0 12px 30px rgba(32,41,68,.07)!important;
}
#tripPage .subpage-title small,
#salaryPage .subpage-title small,
#calendarPage .subpage-title small{
  margin-bottom:7px!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
}
#tripPage .subpage-title h2,
#salaryPage .subpage-title h2,
#calendarPage .subpage-title h2{
  font-size:30px!important;
  line-height:1.08!important;
  letter-spacing:-1.2px!important;
}
#calendarPage .subpage-title p{
  display:none!important;
}
#tripPage .back-btn,
#salaryPage .back-btn,
#calendarPage .back-btn{
  height:38px!important;
  padding:0 15px!important;
  font-size:13px!important;
}

#tripPage .calculator-frame,
#salaryPage .calculator-frame,
#calendarPage .calendar-frame{
  padding:0!important;
  border-radius:22px!important;
  box-shadow:0 14px 35px rgba(32,41,68,.08)!important;
  overflow:hidden!important;
}
#tripPage .calculator-frame .wrap,
#salaryPage .calculator-frame .wrap{
  max-width:1180px!important;
  margin:0 auto!important;
  padding:22px 18px 34px!important;
}
#tripPage .calculator-frame .top,
#salaryPage .calculator-frame .top{
  align-items:flex-end!important;
  gap:14px!important;
  margin-bottom:16px!important;
  padding:0 0 16px!important;
  border-bottom:1px solid #e7eaf0!important;
}
#tripPage .calculator-frame h1,
#salaryPage .calculator-frame h1{
  font-size:29px!important;
  line-height:1.12!important;
  letter-spacing:-.7px!important;
}
#tripPage .calculator-frame .sub,
#salaryPage .calculator-frame .sub{
  margin-top:7px!important;
  color:#64748b!important;
  font-size:14px!important;
  line-height:1.45!important;
  display:block!important;
}
#tripPage .actions,
#salaryPage .actions{
  gap:7px!important;
}
#tripPage .btn,
#salaryPage .btn,
#calendarPage .btn{
  min-height:0!important;
  height:38px!important;
  padding:0 13px!important;
  border-radius:12px!important;
  font-size:13px!important;
  font-weight:900!important;
}
#tripPage .grid,
#salaryPage .grid.salary-grid{
  grid-template-columns:minmax(0,1fr) 330px!important;
  gap:18px!important;
}
#tripPage .card,
#salaryPage .card{
  border-radius:22px!important;
  box-shadow:0 14px 35px rgba(32,41,68,.08)!important;
}
#tripPage .card h2,
#salaryPage .card h2{
  padding:16px 18px!important;
  font-size:18px!important;
  letter-spacing:-.35px!important;
}
#tripPage .section,
#salaryPage .section{
  padding:16px 18px!important;
}
#tripPage .section-head,
#salaryPage .section-head{
  margin-bottom:10px!important;
}
#tripPage .section-title,
#salaryPage .section-title{
  font-size:17px!important;
}
#tripPage .pill,
#salaryPage .pill{
  padding:5px 9px!important;
  font-size:12px!important;
}
#tripPage .meta-grid,
#salaryPage .meta-grid{
  gap:10px!important;
}
#tripPage .field label,
#salaryPage .field label{
  margin-bottom:5px!important;
  font-size:12px!important;
}
#tripPage input,
#tripPage textarea,
#salaryPage input,
#salaryPage textarea,
#calendarPage textarea{
  border-radius:10px!important;
  padding:9px 10px!important;
  font-size:14px!important;
}
#tripPage textarea,
#salaryPage textarea{
  min-height:92px!important;
  line-height:1.55!important;
}
#tripPage th,
#tripPage td,
#salaryPage th,
#salaryPage td{
  padding:8px 6px!important;
}
#tripPage th,
#salaryPage th{
  font-size:12px!important;
}
#tripPage .add,
#salaryPage .add{
  padding:8px 10px!important;
  border-radius:10px!important;
  font-size:13px!important;
}
#tripPage .xbtn,
#salaryPage .xbtn{
  padding:7px 9px!important;
  border-radius:9px!important;
}
#tripPage .summary,
#salaryPage .summary{
  padding:18px!important;
}
#tripPage .kpi,
#salaryPage .kpi{
  gap:10px!important;
}
#tripPage .kpi-item,
#salaryPage .kpi-item{
  padding:14px!important;
  border-radius:16px!important;
  box-shadow:none!important;
}
#tripPage .kpi-label,
#salaryPage .kpi-label{
  font-size:12px!important;
}
#tripPage .kpi-value,
#salaryPage .kpi-value{
  margin-top:4px!important;
  font-size:24px!important;
  letter-spacing:-.6px!important;
}
#tripPage .kpi-final .kpi-value,
#salaryPage .kpi-final .kpi-value{
  font-size:28px!important;
}
#tripPage .guide,
#salaryPage .guide{
  display:none!important;
}

/* 급여검증 전용 축소 */
#salaryPage .salary-upload-box{
  margin:0 0 14px!important;
  padding:16px 18px!important;
  border-radius:20px!important;
  gap:14px!important;
}
#salaryPage .salary-upload-box input[type=file]{
  max-width:300px!important;
  padding:11px!important;
  border-radius:14px!important;
}
#salaryPage .salary-upload-box strong{
  font-size:18px!important;
}
#salaryPage .salary-upload-box p{
  margin-top:5px!important;
  font-size:13px!important;
  line-height:1.45!important;
}
#salaryPage .salary-status{
  margin:0 0 14px!important;
  padding:11px 14px!important;
  border-radius:14px!important;
  font-size:13px!important;
}
#salaryPage .salary-table-scroll{
  border-radius:14px!important;
}
#salaryPage .salary-result-table{
  min-width:860px!important;
}
#salaryPage .salary-memo,
#salaryPage .salary-input-panel{
  padding:14px!important;
  border-radius:16px!important;
}
#salaryPage .salary-input-grid{
  gap:9px!important;
}
#salaryPage .salary-extra-row{
  grid-template-columns:minmax(0,1.15fr) minmax(88px,.85fr) 32px!important;
}

/* 월간 일정 축소 */
#calendarPage .calendar-frame{
  padding:18px!important;
}
#calendarPage .calendar-toolbar{
  margin-bottom:10px!important;
  padding:0 0 14px!important;
  gap:12px!important;
}
#calendarPage .calendar-title{
  font-size:30px!important;
  letter-spacing:-1.1px!important;
}
#calendarPage .calendar-title::before{
  width:9px!important;
  height:30px!important;
}
#calendarPage .calendar-status{
  padding:8px 12px!important;
  font-size:12px!important;
}
#calendarPage .calendar-controls{
  gap:7px!important;
}
#calendarPage .calendar-legend{
  margin-bottom:10px!important;
  gap:7px!important;
}
#calendarPage .calendar-legend span{
  min-height:28px!important;
  padding:0 10px!important;
  font-size:12px!important;
}
#calendarPage .calendar-grid{
  border-radius:18px!important;
}
#calendarPage .calendar-weekday{
  padding:10px 6px!important;
  font-size:12px!important;
}
#calendarPage .calendar-day{
  min-height:118px!important;
  padding:8px!important;
  gap:6px!important;
}
#calendarPage .calendar-day-num{
  font-size:13px!important;
}
#calendarPage .calendar-day-num span:first-child{
  min-width:25px!important;
  height:25px!important;
}
#calendarPage .calendar-dot{
  height:19px!important;
  padding:0 6px!important;
  font-size:10px!important;
}
#calendarPage .calendar-memo{
  padding:6px 8px!important;
  font-size:10.5px!important;
  line-height:1.28!important;
  border-radius:9px!important;
  -webkit-line-clamp:5!important;
  max-height:calc(1.28em * 5 + 12px)!important;
}
#calendarPage .calendar-help{
  display:none!important;
}
#calendarPage .calendar-modal{
  width:min(520px,100%)!important;
  border-radius:24px!important;
}
#calendarPage .calendar-modal-head{
  padding:18px 20px!important;
}
#calendarPage .calendar-modal-head strong{
  font-size:20px!important;
}
#calendarPage .calendar-modal-body{
  padding:18px!important;
}
#calendarPage .calendar-modal-body textarea{
  min-height:150px!important;
}

@media(max-width:900px){
  #tripPage.subpage,
  #salaryPage.subpage,
  #calendarPage.subpage{padding:86px 12px 34px!important;}
  #tripPage .subpage-top,
  #salaryPage .subpage-top,
  #calendarPage .subpage-top{align-items:flex-start!important;flex-direction:column!important;padding:16px!important;border-radius:18px!important;}
  #tripPage .subpage-title h2,
  #salaryPage .subpage-title h2,
  #calendarPage .subpage-title h2{font-size:26px!important;}
  #tripPage .calculator-frame .top,
  #salaryPage .calculator-frame .top{align-items:flex-start!important;flex-direction:column!important;}
  #tripPage .grid,
  #salaryPage .grid.salary-grid{grid-template-columns:1fr!important;}
  #tripPage .meta-grid,
  #salaryPage .meta-grid{grid-template-columns:repeat(2,1fr)!important;}
  #calendarPage .calendar-day{min-height:92px!important;}
}
@media(max-width:640px){
  #tripPage .calculator-frame .wrap,
  #salaryPage .calculator-frame .wrap{padding:16px 12px 26px!important;}
  #tripPage .actions .btn,
  #salaryPage .actions .btn{flex:1 1 auto!important;}
  #tripPage .meta-grid,
  #salaryPage .meta-grid{grid-template-columns:1fr!important;}
  #tripPage .field.half,
  #salaryPage .field.half{grid-column:1/-1!important;}
  #calendarPage .calendar-frame{padding:12px!important;border-radius:18px!important;}
  #calendarPage .calendar-toolbar{align-items:flex-start!important;flex-direction:column!important;}
  #calendarPage .calendar-title{font-size:25px!important;}
  #calendarPage .calendar-grid{border-radius:14px!important;}
  #calendarPage .calendar-weekday{padding:8px 2px!important;font-size:11px!important;}
  #calendarPage .calendar-day{min-height:74px!important;padding:5px!important;}
  #calendarPage .calendar-memo{font-size:9.5px!important;line-height:1.2!important;-webkit-line-clamp:3!important;max-height:calc(1.2em * 3 + 10px)!important;}
}



/* =========================================================
   Monthly Calendar Event UI Polish Override
   - 일정 텍스트 박스를 카드형 칩으로 정리
   - 기능/데이터 구조는 유지하고 표시 방식만 개선
   ========================================================= */
#calendarPage .calendar-frame{
  overflow:hidden!important;
}
#calendarPage .calendar-grid{
  gap:0!important;
  border:1px solid #e6ebf3!important;
  border-radius:24px!important;
  background:#e6ebf3!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}
#calendarPage .calendar-weekday{
  height:42px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  border-right:1px solid #e6ebf3!important;
  border-bottom:1px solid #e6ebf3!important;
  color:#1f2937!important;
  font-size:13px!important;
  font-weight:1000!important;
  letter-spacing:-.2px!important;
}
#calendarPage .calendar-weekday:nth-child(1){color:#ef4444!important;}
#calendarPage .calendar-weekday:nth-child(7){color:#2563eb!important;}
#calendarPage .calendar-day{
  min-height:128px!important;
  padding:12px!important;
  gap:8px!important;
  border:0!important;
  border-right:1px solid #e6ebf3!important;
  border-bottom:1px solid #e6ebf3!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#ffffff,#fbfdff)!important;
  box-shadow:none!important;
  transform:none!important;
  text-align:left!important;
}
#calendarPage .calendar-day:hover{
  background:#f8fbff!important;
  box-shadow:inset 0 0 0 2px rgba(37,99,235,.16)!important;
  transform:none!important;
}
#calendarPage .calendar-day.other{
  background:#fafafa!important;
  color:#a7b0bf!important;
}
#calendarPage .calendar-day.today{
  background:linear-gradient(180deg,#eef6ff,#ffffff 70%)!important;
  box-shadow:inset 0 0 0 2px #3b82f6!important;
}
#calendarPage .calendar-day.has-memo{
  background:linear-gradient(180deg,#ffffff,#fbfdff)!important;
}
#calendarPage .calendar-day.today.has-memo{
  background:linear-gradient(180deg,#eef6ff,#ffffff 72%)!important;
}
#calendarPage .calendar-day-num{
  min-height:26px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  color:#101827!important;
  font-size:17px!important;
  font-weight:1000!important;
  letter-spacing:-.45px!important;
}
#calendarPage .calendar-day:nth-child(7n+1) .calendar-day-num{color:#ef4444!important;}
#calendarPage .calendar-day:nth-child(7n) .calendar-day-num{color:#2563eb!important;}
#calendarPage .calendar-day-num span:first-child{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:28px!important;
  height:28px!important;
  padding:0 7px!important;
  border-radius:999px!important;
}
#calendarPage .calendar-day.today .calendar-day-num span:first-child{
  background:#2563eb!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(37,99,235,.25)!important;
}
#calendarPage .calendar-dot{
  height:23px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  background:#eaf3ff!important;
  border:1px solid #d7e8ff!important;
  color:#2563eb!important;
  font-size:11px!important;
  font-weight:1000!important;
  letter-spacing:-.2px!important;
}
#calendarPage .calendar-memo-list{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  overflow:hidden!important;
  min-height:0!important;
}
#calendarPage .calendar-memo.calendar-event-chip{
  position:relative!important;
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:start!important;
  gap:7px!important;
  width:100%!important;
  min-height:34px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  background:#ffffff!important;
  border:1px solid #e7edf6!important;
  border-left:0!important;
  box-shadow:0 8px 18px rgba(15,23,42,.055)!important;
  color:#1f2937!important;
  font-size:12px!important;
  line-height:1.38!important;
  font-weight:850!important;
  white-space:normal!important;
  word-break:keep-all!important;
  display:grid!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
  overflow:hidden!important;
}
#calendarPage .calendar-event-chip::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:999px;
  background:#3b82f6;
}
#calendarPage .calendar-event-icon{
  width:18px!important;
  height:18px!important;
  margin-top:1px!important;
  border-radius:7px!important;
  background:#eaf3ff!important;
  display:grid!important;
  place-items:center!important;
  color:#2563eb!important;
  font-size:11px!important;
  font-weight:1000!important;
}
#calendarPage .calendar-event-icon::before{content:"•";line-height:1;}
#calendarPage .calendar-event-text{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  color:#1f2937!important;
}
#calendarPage .calendar-event-chip.duty::before{background:#3b82f6;}
#calendarPage .calendar-event-chip.duty .calendar-event-icon{background:#eaf3ff;color:#2563eb;}
#calendarPage .calendar-event-chip.duty .calendar-event-icon::before{content:"👤";font-size:10px;}
#calendarPage .calendar-event-chip.education::before{background:#10b981;}
#calendarPage .calendar-event-chip.education .calendar-event-icon{background:#e9fbf3;color:#059669;}
#calendarPage .calendar-event-chip.education .calendar-event-icon::before{content:"◆";font-size:9px;}
#calendarPage .calendar-event-chip.action::before{background:#7c3aed;}
#calendarPage .calendar-event-chip.action .calendar-event-icon{background:#f1ecff;color:#7c3aed;}
#calendarPage .calendar-event-chip.action .calendar-event-icon::before{content:"⚑";font-size:12px;}
#calendarPage .calendar-event-chip.safety::before{background:#0f9f9a;}
#calendarPage .calendar-event-chip.safety .calendar-event-icon{background:#e8fbfa;color:#0f766e;}
#calendarPage .calendar-event-chip.safety .calendar-event-icon::before{content:"◆";font-size:9px;}
#calendarPage .calendar-event-chip.meeting::before{background:#f97316;}
#calendarPage .calendar-event-chip.meeting .calendar-event-icon{background:#fff3e8;color:#ea580c;}
#calendarPage .calendar-event-chip.meeting .calendar-event-icon::before{content:"●";font-size:8px;}
#calendarPage .calendar-event-chip.default::before{background:#64748b;}
#calendarPage .calendar-event-chip.default .calendar-event-icon{background:#f1f5f9;color:#475569;}
#calendarPage .calendar-more{
  display:inline-flex!important;
  align-items:center!important;
  width:fit-content!important;
  min-height:22px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:#f1f5f9!important;
  border:1px solid #e2e8f0!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:950!important;
}
#calendarPage .calendar-empty{display:none!important;}
@media(max-width:900px){
  #calendarPage .calendar-day{min-height:116px!important;padding:9px!important;}
  #calendarPage .calendar-memo.calendar-event-chip{font-size:11px!important;padding:7px 8px!important;grid-template-columns:16px minmax(0,1fr)!important;}
  #calendarPage .calendar-event-icon{width:16px!important;height:16px!important;border-radius:6px!important;}
}
@media(max-width:640px){
  #calendarPage .calendar-day{min-height:92px!important;padding:7px!important;}
  #calendarPage .calendar-dot{display:none!important;}
  #calendarPage .calendar-memo.calendar-event-chip{min-height:28px!important;font-size:10.5px!important;line-height:1.25!important;padding:6px 7px!important;gap:5px!important;}
  #calendarPage .calendar-event-text{-webkit-line-clamp:2!important;}
}


/* ===== style block 03 ===== */
/* ===== 최종 수정: 홈 메인 제목 1줄/2줄 간격 확장 ===== */
body #homePage.active .home-clean-title h1,
body #homePage .home-clean-title h1{
  line-height:1.42!important;
  letter-spacing:-5.4px!important;
  max-width:1120px!important;
}

/* 첫 화면 제목 위치도 줄간격 확대에 맞춰 살짝 위로 조정 */
body #homePage.active .home-clean-top,
body #homePage .home-clean-top{
  top:clamp(135px,20vh,210px)!important;
  align-items:start!important;
}

/* 버튼이 제목 아래에 자연스럽게 보이도록 위치 여유 */
body #homePage .home-clean-links{
  margin-top:22px!important;
}

/* 모바일은 너무 길어지지 않게 별도 조정 */
@media(max-width:760px){
  body #homePage.active .home-clean-title h1,
  body #homePage .home-clean-title h1{
    line-height:1.34!important;
    letter-spacing:-2.7px!important;
  }
  body #homePage.active .home-clean-top,
  body #homePage .home-clean-top{
    top:150px!important;
  }
}


/* ===== style block 04 ===== */
/* ===== 진짜 최종: h1을 두 줄 블록으로 분리해서 겹침 제거 ===== */
body #homePage .home-clean-title h1.home-main-title,
body #homePage.active .home-clean-title h1.home-main-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:34px!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  max-width:1180px!important;
  color:#fff!important;
  font-size:clamp(56px,6.4vw,104px)!important;
  letter-spacing:-5.8px!important;
  font-weight:1000!important;
  text-shadow:0 18px 54px rgba(0,0,0,.40)!important;
}

body #homePage .home-clean-title h1.home-main-title span,
body #homePage.active .home-clean-title h1.home-main-title span{
  display:block!important;
  line-height:.82!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}

/* 제목이 두 줄로 커진 만큼 위치를 위로 올리고 버튼은 아래에 분리 */
body #homePage .home-clean-top,
body #homePage.active .home-clean-top{
  top:clamp(120px,17vh,180px)!important;
  align-items:end!important;
}

body #homePage .home-clean-links,
body #homePage.active .home-clean-links{
  align-self:end!important;
  margin-top:0!important;
  padding-bottom:8px!important;
}

/* 화면이 좁으면 글자가 밖으로 나가지 않게 축소 */
@media(max-width:1180px){
  body #homePage .home-clean-title h1.home-main-title,
  body #homePage.active .home-clean-title h1.home-main-title{
    font-size:clamp(48px,8vw,82px)!important;
    gap:28px!important;
    letter-spacing:-4.2px!important;
  }
}

@media(max-width:760px){
  body #homePage .home-clean-title h1.home-main-title,
  body #homePage.active .home-clean-title h1.home-main-title{
    font-size:clamp(38px,12vw,56px)!important;
    gap:18px!important;
    letter-spacing:-2.6px!important;
  }
  body #homePage .home-clean-title h1.home-main-title span,
  body #homePage.active .home-clean-title h1.home-main-title span{
    white-space:normal!important;
    line-height:.92!important;
  }
  body #homePage .home-clean-top,
  body #homePage.active .home-clean-top{
    top:155px!important;
  }
}


/* ===== style block 05 ===== */
/* 검증 수정: 실제 사용 중인 .final-hero 제목에 직접 적용 */
body #homePage .final-hero-content{
  top:clamp(128px,17vh,188px)!important;
  max-width:min(1180px,calc(100vw - 80px))!important;
}

/* h1을 block/flex로 강제해 5기가 첫 줄에 붙지 않게 처리 */
body #homePage .final-hero h1.home-main-title,
body #homePage.active .final-hero h1.home-main-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:46px!important;
  margin:0!important;
  padding:0!important;
  max-width:1180px!important;
  color:#fff!important;
  font-size:clamp(58px,5.7vw,94px)!important;
  line-height:1!important;
  letter-spacing:-4.8px!important;
  font-weight:1000!important;
  text-shadow:0 18px 54px rgba(0,0,0,.40)!important;
  white-space:normal!important;
}

body #homePage .final-hero h1.home-main-title span,
body #homePage.active .final-hero h1.home-main-title span{
  display:block!important;
  flex:0 0 auto!important;
  line-height:.86!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  max-width:100%!important;
}

/* 버튼은 제목 아래로 확실히 분리 */
body #homePage .final-hero-actions,
body #homePage.active .final-hero-actions{
  margin-top:46px!important;
  position:relative!important;
  z-index:10!important;
}

/* 기존 home-clean 관련 오버라이드가 간섭하지 않도록 무력화 */
body #homePage .home-clean-title h1.home-main-title,
body #homePage.active .home-clean-title h1.home-main-title{
  display:flex!important;
  flex-direction:column!important;
}

/* 작은 화면 보정 */
@media(max-width:1280px){
  body #homePage .final-hero h1.home-main-title,
  body #homePage.active .final-hero h1.home-main-title{
    font-size:clamp(50px,6.8vw,82px)!important;
    gap:38px!important;
    letter-spacing:-3.8px!important;
  }
}

@media(max-width:760px){
  body #homePage .final-hero-content{
    top:150px!important;
    max-width:calc(100vw - 40px)!important;
  }
  body #homePage .final-hero h1.home-main-title,
  body #homePage.active .final-hero h1.home-main-title{
    font-size:clamp(38px,11vw,56px)!important;
    gap:24px!important;
    letter-spacing:-2.4px!important;
  }
  body #homePage .final-hero h1.home-main-title span,
  body #homePage.active .final-hero h1.home-main-title span{
    white-space:normal!important;
    line-height:.95!important;
  }
  body #homePage .final-hero-actions,
  body #homePage.active .final-hero-actions{
    margin-top:32px!important;
  }
}


/* ===== style block 06 ===== */
/* ===== 홈 완성안: 사진 풀스크린 + 오른쪽 메뉴박스 + 제목 간격 보정 ===== */
body #homePage.final-home-page .final-home{
  position:relative!important;
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden!important;
  background:#07111f!important;
}

/* hero는 화면 전체를 사진으로 사용 */
body #homePage.final-home-page .final-hero{
  height:100vh!important;
  min-height:720px!important;
  width:100%!important;
  overflow:hidden!important;
  background:#07111f!important;
}
body #homePage.final-home-page .final-hero-shade{
  background:
    linear-gradient(90deg,rgba(5,12,24,.76) 0%,rgba(5,12,24,.50) 39%,rgba(5,12,24,.20) 67%,rgba(5,12,24,.54) 100%),
    linear-gradient(to top,rgba(5,12,24,.58),transparent 42%),
    linear-gradient(to bottom,rgba(5,12,24,.26),transparent 28%)!important;
}

/* 왼쪽 제목 영역: 너무 벌어진 간격을 적당히 줄임 */
body #homePage.final-home-page .final-hero-content{
  position:absolute!important;
  left:clamp(34px,5.6vw,96px)!important;
  right:auto!important;
  top:clamp(132px,18vh,190px)!important;
  z-index:8!important;
  width:min(860px,54vw)!important;
  max-width:860px!important;
}
body #homePage.final-home-page .final-hero-kicker{
  margin-bottom:18px!important;
}
body #homePage.final-home-page .final-hero h1.home-main-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:26px!important;
  margin:0!important;
  padding:0!important;
  max-width:860px!important;
  color:#fff!important;
  font-size:clamp(52px,5vw,86px)!important;
  line-height:1!important;
  letter-spacing:-4.8px!important;
  font-weight:1000!important;
  text-shadow:0 18px 54px rgba(0,0,0,.40)!important;
}
body #homePage.final-home-page .final-hero h1.home-main-title span{
  display:block!important;
  line-height:.88!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}
body #homePage.final-home-page .final-hero-actions{
  margin-top:36px!important;
  display:flex!important;
  gap:10px!important;
}
body #homePage.final-home-page .final-hero-actions a{
  min-height:46px!important;
  padding:0 20px!important;
}

/* 스크롤 안내 제거 */
body #homePage.final-home-page .final-scroll-cue{
  display:none!important;
}

/* 오른쪽 패널: 기존 아래 메뉴들을 홈 화면 안으로 고정 배치 */
body #homePage.final-home-page .final-dashboard{
  position:absolute!important;
  top:clamp(124px,17vh,176px)!important;
  right:clamp(28px,4.2vw,74px)!important;
  bottom:clamp(28px,4vw,62px)!important;
  z-index:9!important;
  width:min(520px,36vw)!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:14px!important;
  align-items:stretch!important;
}

/* 도구 카드 2개는 오른쪽 상단에 작게 */
body #homePage.final-home-page .final-tool-column{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
body #homePage.final-home-page .final-tool-card{
  min-height:126px!important;
  padding:20px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:0 22px 56px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(20px)!important;
}
body #homePage.final-home-page .final-tool-card small{
  color:#165dff!important;
  font-size:11px!important;
  letter-spacing:1px!important;
}
body #homePage.final-home-page .final-tool-card strong{
  font-size:23px!important;
  line-height:1.05!important;
  letter-spacing:-1px!important;
  color:#07111f!important;
}
body #homePage.final-home-page .final-tool-card span{
  margin-top:7px!important;
  font-size:12px!important;
  color:#64748b!important;
}
body #homePage.final-home-page .final-tool-card b{
  width:38px!important;
  height:38px!important;
  right:18px!important;
  top:22px!important;
  border-radius:50%!important;
}

/* 주요 기사 패널 */
body #homePage.final-home-page .final-news-panel{
  min-height:0!important;
  height:100%!important;
  margin:0!important;
  padding:22px!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(255,255,255,.66)!important;
  box-shadow:0 22px 56px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(20px)!important;
  overflow:hidden!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head{
  margin:0 0 15px!important;
  padding:0 0 14px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head h2{
  font-size:30px!important;
  line-height:1!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head a{
  height:36px!important;
  min-height:36px!important;
  padding:0 14px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  max-height:calc(100vh - 340px)!important;
  overflow:auto!important;
  padding-right:2px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-grid::-webkit-scrollbar{
  width:4px;
}
body #homePage.final-home-page .final-news-panel .home-news-grid::-webkit-scrollbar-thumb{
  background:rgba(15,23,42,.20);
  border-radius:999px;
}
body #homePage.final-home-page .final-news-panel .home-news-card,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  min-height:0!important;
  grid-row:auto!important;
  grid-column:auto!important;
  padding:15px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid rgba(15,23,42,.08)!important;
  color:#07111f!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  background:linear-gradient(135deg,#07182d,#0f315e)!important;
  color:#fff!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card h3,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  font-size:16px!important;
  line-height:1.36!important;
  margin:10px 0 6px!important;
  -webkit-line-clamp:2!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  color:#fff!important;
  font-size:18px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card p{
  display:none!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card small{
  margin-top:0!important;
}

/* 슬라이드 번호는 오른쪽 패널과 겹치지 않게 왼쪽 하단 쪽 */
body #homePage.final-home-page .final-hero-meta{
  left:clamp(34px,5.6vw,96px)!important;
  right:auto!important;
  bottom:clamp(26px,4vw,60px)!important;
  z-index:10!important;
}

/* 홈에서는 아래로 스크롤할 필요가 없도록 */
body:has(#homePage.final-home-page.active){
  overflow:hidden!important;
}

/* 작은 화면에서는 오른쪽 패널을 아래쪽 반투명 카드로 축소 */
@media(max-width:1180px){
  body #homePage.final-home-page .final-hero-content{
    width:min(720px,calc(100vw - 60px))!important;
    max-width:720px!important;
    top:140px!important;
  }
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(44px,7vw,72px)!important;
    gap:22px!important;
  }
  body #homePage.final-home-page .final-dashboard{
    left:clamp(24px,4vw,48px)!important;
    right:clamp(24px,4vw,48px)!important;
    top:auto!important;
    bottom:24px!important;
    width:auto!important;
    grid-template-rows:auto auto!important;
  }
  body #homePage.final-home-page .final-tool-column{
    grid-template-columns:1fr 1fr!important;
  }
  body #homePage.final-home-page .final-news-panel{
    max-height:250px!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    max-height:150px!important;
    grid-template-columns:1fr 1fr!important;
  }
  body #homePage.final-home-page .final-hero-actions{
    margin-top:28px!important;
  }
}

@media(max-width:760px){
  body #homePage.final-home-page .final-home{
    height:auto!important;
    min-height:100vh!important;
    overflow:auto!important;
  }
  body:has(#homePage.final-home-page.active){
    overflow:auto!important;
  }
  body #homePage.final-home-page .final-hero{
    min-height:620px!important;
    height:100vh!important;
  }
  body #homePage.final-home-page .final-hero-content{
    top:150px!important;
    left:20px!important;
    right:20px!important;
    width:auto!important;
    max-width:none!important;
  }
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(36px,10vw,54px)!important;
    gap:16px!important;
    letter-spacing:-2.3px!important;
  }
  body #homePage.final-home-page .final-hero h1.home-main-title span{
    white-space:normal!important;
    line-height:.95!important;
  }
  body #homePage.final-home-page .final-dashboard{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:auto!important;
    margin:-130px 14px 34px!important;
  }
  body #homePage.final-home-page .final-tool-column,
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    grid-template-columns:1fr!important;
  }
  body #homePage.final-home-page .final-news-panel{
    max-height:none!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    max-height:none!important;
  }
}


/* ===== style block 07 ===== */
/* ===== 오른쪽 주요기사 실제 기사 로딩 시 깨짐/잘림 수정 ===== */

/* 패널 높이 안에서 안전하게 표시 */
body #homePage.final-home-page .final-news-panel{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  overflow:hidden!important;
}

/* 헤더 고정, 기사 목록만 스크롤 */
body #homePage.final-home-page .final-news-panel .home-news-head{
  flex:0 0 auto!important;
}

body #homePage.final-home-page .final-news-panel .home-news-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:0 4px 2px 0!important;
}

/* 실제 뉴스 제목이 길어도 카드 밖으로 튀지 않게 */
body #homePage.final-home-page .final-news-panel .home-news-card,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  flex:0 0 auto!important;
  min-height:0!important;
  height:auto!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  word-break:keep-all!important;
}

/* 첫 번째 카드도 과도하게 커지지 않게 */
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  padding:16px 18px!important;
}

/* 태그는 작고 안정적으로 */
body #homePage.final-home-page .final-news-panel .home-news-tag,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child .home-news-tag{
  height:26px!important;
  max-width:100%!important;
  padding:0 10px!important;
  font-size:11px!important;
  line-height:26px!important;
  white-space:nowrap!important;
}

/* 제목 줄 수 제한: 긴 기사 제목이 UI를 깨지 않게 */
body #homePage.final-home-page .final-news-panel .home-news-card h3,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  margin:10px 0 7px!important;
  font-size:16px!important;
  line-height:1.42!important;
  letter-spacing:-.45px!important;
  max-height:calc(1.42em * 2)!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:keep-all!important;
}

body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  font-size:17px!important;
  line-height:1.38!important;
  max-height:calc(1.38em * 2)!important;
}

/* 요약은 오른쪽 패널에서는 숨겨서 높이 안정화 */
body #homePage.final-home-page .final-news-panel .home-news-card p,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child p{
  display:none!important;
}

/* 출처/시간은 한 줄로 */
body #homePage.final-home-page .final-news-panel .home-news-card small,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child small{
  display:block!important;
  margin-top:0!important;
  font-size:11.5px!important;
  line-height:1.3!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* 스크롤바가 보이더라도 얇고 깔끔하게 */
body #homePage.final-home-page .final-news-panel .home-news-grid::-webkit-scrollbar{
  width:5px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-grid::-webkit-scrollbar-track{
  background:transparent!important;
}
body #homePage.final-home-page .final-news-panel .home-news-grid::-webkit-scrollbar-thumb{
  background:rgba(15,23,42,.22)!important;
  border-radius:999px!important;
}

/* 오른쪽 패널 폭이 좁을 때 제목 크기 추가 보정 */
@media(max-width:1280px){
  body #homePage.final-home-page .final-news-panel .home-news-card h3,
  body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
    font-size:15px!important;
  }
}

/* 모바일에서는 기존처럼 자연스럽게 펼침 */
@media(max-width:760px){
  body #homePage.final-home-page .final-news-panel{
    overflow:visible!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    overflow:visible!important;
    max-height:none!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-card h3,
  body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
    font-size:16px!important;
  }
}


/* ===== style block 08 ===== */
/* ===== 뉴스 모음 페이지: 클릭 즉시 기사 많이 보이도록 압축형 레이아웃 ===== */

/* 상단 제목 영역 축소 */
body #newsPage.subpage{
  padding-top:104px!important;
}
body #newsPage .subpage-top{
  margin-bottom:14px!important;
  padding:18px 24px!important;
  border-radius:24px!important;
}
body #newsPage .subpage-title small{
  font-size:11px!important;
  margin-bottom:6px!important;
}
body #newsPage .subpage-title h2{
  font-size:42px!important;
  line-height:1!important;
  letter-spacing:-2px!important;
}
body #newsPage .back-btn{
  height:38px!important;
  min-height:38px!important;
  padding:0 15px!important;
  font-size:12px!important;
}

/* 뉴스 프레임 여백 축소 */
body #newsPage .news-frame{
  padding:18px 22px 32px!important;
  border-radius:24px!important;
}

/* 주제 탭 영역 압축 */
body #newsPage .news-filter{
  padding:0 0 13px!important;
  margin-bottom:16px!important;
}
body #newsPage .news-topic-btn{
  min-height:32px!important;
  padding:0 12px!important;
  font-size:12px!important;
}
body #newsPage .news-meta{
  font-size:12px!important;
}

/* 상단 대표 기사 영역을 '큰 카드'가 아니라 4개 압축 카드로 변경 */
body #newsPage .featured-news-card{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  padding:0 0 18px!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid rgba(15,23,42,.10)!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  min-height:0!important;
}

/* mini-grid를 부모 그리드에 풀어 넣기 */
body #newsPage .news-mini-grid{
  display:contents!important;
}

body #newsPage .news-lead-card,
body #newsPage .news-mini-card{
  display:block!important;
  min-height:0!important;
  background:#fff!important;
  border:1px solid rgba(15,23,42,.09)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 10px 26px rgba(15,23,42,.06)!important;
  padding:0!important;
}

/* 이미지 높이 축소 */
body #newsPage .news-lead-img,
body #newsPage .news-mini-img{
  width:100%!important;
  height:118px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  border-radius:0!important;
  background:#e5e7eb!important;
  overflow:hidden!important;
}
body #newsPage .news-lead-img img,
body #newsPage .news-mini-img img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body #newsPage .news-lead-img span{
  right:8px!important;
  bottom:8px!important;
  height:22px!important;
  padding:0 8px!important;
  font-size:10px!important;
}

/* 상단 카드 제목/메타 압축 */
body #newsPage .news-lead-card h3,
body #newsPage .news-mini-card h4{
  margin:12px 13px 5px!important;
  font-size:15px!important;
  line-height:1.38!important;
  letter-spacing:-.45px!important;
  font-weight:900!important;
  color:#111827!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:calc(1.38em * 2)!important;
}
body #newsPage .news-lead-card p{
  display:none!important;
}
body #newsPage .news-card-meta,
body #newsPage .news-mini-card small{
  display:block!important;
  margin:0 13px 13px!important;
  font-size:11px!important;
  line-height:1.3!important;
  color:#7a8494!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* 아래 기사 모음 바로 이어지게 */
body #newsPage .news-list-card{
  margin-top:18px!important;
  padding-bottom:24px!important;
}
body #newsPage .news-list-head{
  padding:0 0 11px!important;
  margin-bottom:0!important;
}
body #newsPage .news-list-head strong{
  font-size:20px!important;
}

/* 아래 기사 목록을 3열로 만들어 한 화면에 많이 노출 */
body #newsPage .news-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0 30px!important;
}
body #newsPage .news-item{
  min-height:104px!important;
  padding:14px 0!important;
}
body #newsPage .news-item h4{
  font-size:15.5px!important;
  line-height:1.42!important;
  letter-spacing:-.45px!important;
  -webkit-line-clamp:2!important;
}
body #newsPage .news-item p{
  margin-top:6px!important;
  font-size:12.5px!important;
  line-height:1.5!important;
  -webkit-line-clamp:2!important;
}
body #newsPage .news-item small{
  margin-top:7px!important;
  font-size:11px!important;
}

/* 넓은 화면에서는 화면 첫 진입에 더 많은 기사 노출 */
@media(min-width:1500px){
  body #newsPage .news-list{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0 28px!important;
  }
}

/* 중간 화면 대응 */
@media(max-width:1200px){
  body #newsPage .featured-news-card{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body #newsPage .news-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* 모바일 */
@media(max-width:720px){
  body #newsPage.subpage{
    padding-top:92px!important;
  }
  body #newsPage .subpage-top{
    padding:16px!important;
  }
  body #newsPage .subpage-title h2{
    font-size:32px!important;
  }
  body #newsPage .news-frame{
    padding:14px 14px 26px!important;
  }
  body #newsPage .featured-news-card,
  body #newsPage .news-list{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  body #newsPage .news-lead-card,
  body #newsPage .news-mini-card{
    margin-bottom:12px!important;
  }
  body #newsPage .news-lead-img,
  body #newsPage .news-mini-img{
    height:150px!important;
  }
}


/* ===== style block 09 ===== */
/* ===== 홈 오른쪽 주요기사 카드 여백/공간감 재정리 ===== */

/* 주요기사 패널을 리스트형으로 압축 */
body #homePage.final-home-page .final-news-panel{
  padding:20px!important;
}

body #homePage.final-home-page .final-news-panel .home-news-head{
  margin-bottom:12px!important;
  padding-bottom:12px!important;
}

body #homePage.final-home-page .final-news-panel .home-news-head h2{
  font-size:26px!important;
}

/* 실제 기사 카드가 과하게 넓고 비어 보이지 않도록 */
body #homePage.final-home-page .final-news-panel .home-news-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:3px!important;
}

/* 카드 높이를 줄이고 리스트 카드처럼 */
body #homePage.final-home-page .final-news-panel .home-news-card,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  column-gap:12px!important;
  align-items:center!important;
  min-height:78px!important;
  height:auto!important;
  padding:12px 14px!important;
  border-radius:16px!important;
  background:rgba(248,250,252,.94)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:none!important;
  color:#07111f!important;
}

/* 첫 번째 기사도 너무 큰 강조카드로 만들지 않고, 작은 포인트만 */
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  background:linear-gradient(135deg,#07182d,#103866)!important;
  color:#fff!important;
  min-height:86px!important;
}

/* 주제 태그를 왼쪽 작은 배지 영역으로 */
body #homePage.final-home-page .final-news-panel .home-news-tag,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child .home-news-tag{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:64px!important;
  height:32px!important;
  padding:0 7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  font-size:10.5px!important;
  line-height:1.1!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  background:#eef4ff!important;
  color:#175cd3!important;
  border:1px solid #dbeafe!important;
}

body #homePage.final-home-page .final-news-panel .home-news-card:first-child .home-news-tag{
  background:rgba(255,255,255,.15)!important;
  color:#dbeafe!important;
  border-color:rgba(255,255,255,.20)!important;
}

/* 제목은 오른쪽 영역에서 2줄 */
body #homePage.final-home-page .final-news-panel .home-news-card h3,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  grid-column:2!important;
  grid-row:1!important;
  margin:0!important;
  font-size:14.5px!important;
  line-height:1.36!important;
  letter-spacing:-.38px!important;
  font-weight:950!important;
  max-height:calc(1.36em * 2)!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  color:#111827!important;
}

body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  color:#fff!important;
  font-size:15px!important;
}

/* 요약은 홈 패널에서 제거 */
body #homePage.final-home-page .final-news-panel .home-news-card p,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child p{
  display:none!important;
}

/* 출처/시간은 제목 아래 작게 */
body #homePage.final-home-page .final-news-panel .home-news-card small,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child small{
  grid-column:2!important;
  grid-row:2!important;
  display:block!important;
  margin:5px 0 0!important;
  font-size:11px!important;
  line-height:1.2!important;
  color:#7a8494!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

body #homePage.final-home-page .final-news-panel .home-news-card:first-child small{
  color:#bfdbfe!important;
}

/* 패널이 너무 좁아지는 해상도에서는 1열 구조 유지 */
@media(max-width:1180px){
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-card,
  body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
    grid-template-columns:64px minmax(0,1fr)!important;
  }
}

/* 모바일은 일반 카드형 */
@media(max-width:760px){
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-card,
  body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
    grid-template-columns:62px minmax(0,1fr)!important;
    min-height:74px!important;
  }
}


/* ===== style block 10 ===== */
/* ===== 홈 오른쪽 주요기사 패널: 하단 빈 공간까지 균형 있게 채우기 ===== */

/* 오른쪽 패널 전체가 화면 높이를 안정적으로 쓰도록 */
body #homePage.final-home-page .final-dashboard{
  grid-template-rows:auto minmax(0,1fr)!important;
}

body #homePage.final-home-page .final-news-panel{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  padding:20px!important;
  overflow:hidden!important;
}

/* 제목 영역은 고정 */
body #homePage.final-home-page .final-news-panel .home-news-head{
  flex:0 0 auto!important;
  margin-bottom:14px!important;
  padding-bottom:14px!important;
}

/* 기사 목록이 남는 높이를 전부 사용 */
body #homePage.final-home-page .final-news-panel .home-news-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-rows:1.18fr 1fr 1fr 1fr!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  overflow:hidden!important;
  padding:0!important;
}

/* 카드가 빈 공간을 나눠 가지도록 */
body #homePage.final-home-page .final-news-panel .home-news-card,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  column-gap:13px!important;
  align-items:center!important;
  padding:15px 16px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}

/* 첫 번째는 살짝 더 강조 */
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  background:linear-gradient(135deg,#07182d,#123f77)!important;
}

/* 주제 배지 */
body #homePage.final-home-page .final-news-panel .home-news-tag,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child .home-news-tag{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:68px!important;
  min-width:68px!important;
  height:36px!important;
  padding:0 7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:normal!important;
}

/* 제목 */
body #homePage.final-home-page .final-news-panel .home-news-card h3,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  grid-column:2!important;
  grid-row:1!important;
  margin:0!important;
  font-size:15.5px!important;
  line-height:1.38!important;
  letter-spacing:-.45px!important;
  font-weight:1000!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  max-height:calc(1.38em * 2)!important;
}

body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  font-size:16px!important;
  color:#fff!important;
}

/* 요약은 홈 패널에서 숨김 */
body #homePage.final-home-page .final-news-panel .home-news-card p,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child p{
  display:none!important;
}

/* 출처 */
body #homePage.final-home-page .final-news-panel .home-news-card small,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child small{
  grid-column:2!important;
  grid-row:2!important;
  display:block!important;
  margin-top:6px!important;
  font-size:11.5px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* 기사 4개보다 적게 로딩되는 경우에도 공간이 너무 비어 보이지 않게 */
body #homePage.final-home-page .final-news-panel .home-news-grid:empty::after{
  content:"뉴스를 불러오는 중입니다";
  display:grid;
  place-items:center;
  height:100%;
  border-radius:18px;
  background:#f8fafc;
  color:#64748b;
  font-weight:900;
}

/* 높이가 낮은 노트북 화면에서는 조금 더 압축 */
@media(max-height:760px){
  body #homePage.final-home-page .final-news-panel{
    padding:16px!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-head{
    margin-bottom:10px!important;
    padding-bottom:10px!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-head h2{
    font-size:24px!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    gap:8px!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-card,
  body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
    padding:11px 13px!important;
    grid-template-columns:68px minmax(0,1fr)!important;
  }
}

/* 1180 이하에서는 오른쪽 하단 배치가 아니라 아래 패널형이므로 빈 공간 방지 */
@media(max-width:1180px){
  body #homePage.final-home-page .final-news-panel{
    height:auto!important;
    max-height:none!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:none!important;
    height:auto!important;
    overflow:visible!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-card,
  body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
    min-height:88px!important;
  }
}

@media(max-width:760px){
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    grid-template-columns:1fr!important;
  }
}


/* 배포 환경 기사 모음 줄 겹침 방지 - 2026-05-25 추가 */
#newsPage .news-list{
  align-items:stretch!important;
  column-gap:46px!important;
  row-gap:0!important;
}
#newsPage .news-item{
  padding:26px 0 28px!important;
  min-height:184px!important;
  overflow:visible!important;
  isolation:isolate!important;
}
#newsPage .news-row-link,
#newsPage .news-row-link.no-thumb{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-height:130px!important;
  overflow:visible!important;
}
#newsPage .news-item h4{
  margin:0!important;
  font-size:17px!important;
  line-height:1.68!important;
  letter-spacing:-.35px!important;
  -webkit-line-clamp:3!important;
  word-break:keep-all!important;
  overflow:hidden!important;
}
#newsPage .news-item p{
  margin:0!important;
  font-size:13px!important;
  line-height:1.86!important;
  font-weight:700!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
#newsPage .news-item small{
  display:block!important;
  margin-top:auto!important;
  padding-top:6px!important;
  font-size:12px!important;
  line-height:1.55!important;
}
#newsPage .news-list-head{
  margin-bottom:10px!important;
}
#newsPage .featured-news-card{
  gap:26px!important;
}
#newsPage .news-lead-card h3{
  line-height:1.32!important;
}
#newsPage .news-lead-card p,
#newsPage .news-mini-card h4,
#newsPage .news-mini-card small{
  line-height:1.68!important;
}
@media(min-width:1400px){
  #newsPage .news-list{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  #newsPage .news-item{
    min-height:194px!important;
  }
}
@media(max-width:1399px) and (min-width:1001px){
  #newsPage .news-list{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:1000px){
  #newsPage .news-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:34px!important;
  }
}
@media(max-width:700px){
  #newsPage .news-list{
    grid-template-columns:1fr!important;
    column-gap:0!important;
  }
  #newsPage .news-item{
    min-height:0!important;
    padding:22px 0!important;
  }
  #newsPage .news-row-link,
  #newsPage .news-row-link.no-thumb{
    min-height:0!important;
  }
  #newsPage .news-item h4{
    font-size:15.8px!important;
    line-height:1.72!important;
  }
  #newsPage .news-item p{
    font-size:12.8px!important;
    line-height:1.85!important;
  }
}


/* ===== style block 11 ===== */
/* 월간일정 최종 정리: 모든 일정 표시 + 작은 점 목록형 텍스트 */
#calendarPage .calendar-frame{
  background:#fff!important;
}
#calendarPage .calendar-grid{
  gap:0!important;
  border:1px solid #dfe6ef!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#dfe6ef!important;
}
#calendarPage .calendar-weekday{
  background:#f8fafc!important;
  border-right:1px solid #dfe6ef!important;
  border-bottom:1px solid #dfe6ef!important;
  color:#475569!important;
  font-size:13px!important;
  font-weight:900!important;
  padding:11px 4px!important;
}
#calendarPage .calendar-day{
  min-height:152px!important;
  padding:11px 10px!important;
  border:0!important;
  border-right:1px solid #dfe6ef!important;
  border-bottom:1px solid #dfe6ef!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  gap:7px!important;
  overflow:hidden!important;
}
#calendarPage .calendar-day:hover{
  background:#fbfdff!important;
  box-shadow:inset 0 0 0 2px rgba(37,99,235,.14)!important;
  transform:none!important;
}
#calendarPage .calendar-day.other{
  background:#f8fafc!important;
  color:#94a3b8!important;
}
#calendarPage .calendar-day.today{
  background:#f4f8ff!important;
  box-shadow:inset 0 0 0 2px #1473ff!important;
}
#calendarPage .calendar-day-num{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  margin-bottom:2px!important;
  font-size:15px!important;
  font-weight:1000!important;
  color:#0f172a!important;
}
#calendarPage .calendar-day-num span:first-child{
  min-width:auto!important;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  color:inherit!important;
  border-radius:0!important;
  font-size:15px!important;
}
#calendarPage .calendar-day.today .calendar-day-num span:first-child{
  min-width:25px!important;
  height:25px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#1473ff!important;
  color:#fff!important;
}
#calendarPage .calendar-dot{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:20px!important;
  min-width:28px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:#eef5ff!important;
  border:1px solid #d9e8ff!important;
  color:#2563eb!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
}
#calendarPage .calendar-memo-list{
  display:block!important;
  overflow:hidden!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
#calendarPage .calendar-memo.calendar-event-chip,
#calendarPage .calendar-memo{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:0!important;
  margin:0 0 4px 0!important;
  padding:0 0 0 10px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#111827!important;
  font-size:11.6px!important;
  line-height:1.32!important;
  font-weight:780!important;
  letter-spacing:-.25px!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
  text-overflow:clip!important;
}
#calendarPage .calendar-memo.calendar-event-chip::before,
#calendarPage .calendar-memo::before{
  content:""!important;
  position:absolute!important;
  left:1px!important;
  top:.62em!important;
  width:3px!important;
  height:3px!important;
  border-radius:50%!important;
  background:#64748b!important;
}
#calendarPage .calendar-event-chip.duty::before{background:#2563eb!important;}
#calendarPage .calendar-event-chip.education::before{background:#059669!important;}
#calendarPage .calendar-event-chip.action::before{background:#7c3aed!important;}
#calendarPage .calendar-event-chip.safety::before{background:#0f766e!important;}
#calendarPage .calendar-event-chip.meeting::before{background:#ea580c!important;}
#calendarPage .calendar-event-icon{display:none!important;}
#calendarPage .calendar-event-text{
  display:block!important;
  color:#111827!important;
  overflow:visible!important;
  white-space:normal!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}
#calendarPage .calendar-more{display:none!important;}
#calendarPage .calendar-empty{display:none!important;}
@media(max-width:900px){
  #calendarPage .calendar-day{min-height:132px!important;padding:8px 7px!important;}
  #calendarPage .calendar-memo.calendar-event-chip,#calendarPage .calendar-memo{font-size:10.4px!important;line-height:1.25!important;margin-bottom:3px!important;padding-left:9px!important;}
  #calendarPage .calendar-dot{display:none!important;}
}
@media(max-width:640px){
  #calendarPage .calendar-day{min-height:104px!important;padding:6px 5px!important;}
  #calendarPage .calendar-memo.calendar-event-chip,#calendarPage .calendar-memo{font-size:9.5px!important;line-height:1.22!important;margin-bottom:2px!important;padding-left:8px!important;}
}


/* ===== style block 12 ===== */
/* Workflow v8 UI: home list + cafe board + detail */
.workflow-home-card{display:none!important}
.final-dashboard{grid-template-columns:minmax(220px,.55fr) minmax(360px,.9fr) minmax(420px,1.05fr)!important;align-items:start!important}
.workflow-home-strip{max-width:520px!important;min-height:430px!important;align-self:start!important;margin-top:18px!important;border-radius:24px!important;padding:18px 20px!important;background:rgba(255,255,255,.95)!important;box-shadow:0 16px 42px rgba(15,23,42,.10)!important}
.workflow-home-head{padding-bottom:12px!important;border-bottom:2px solid #07182d!important;margin-bottom:0!important}
.workflow-home-head h2{font-size:24px!important;letter-spacing:-.9px!important}
.workflow-home-list{display:flex!important;flex-direction:column!important;gap:0!important;margin-top:0!important}
.workflow-home-item.list{display:block!important;padding:15px 4px!important;border:0!important;border-bottom:1px solid #e5e7eb!important;border-radius:0!important;background:transparent!important;color:#111827!important;box-shadow:none!important}
.workflow-home-item.list:hover strong{text-decoration:underline;text-underline-offset:3px;color:#0b63f6!important}
.workflow-home-item.list strong{font-size:16px!important;line-height:1.45!important;letter-spacing:-.45px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.workflow-home-item.list span{font-size:12px!important;color:#64748b!important;margin-top:6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workflow-home-item.list em{display:inline-flex;margin-top:7px;height:24px;align-items:center;padding:0 8px;border-radius:999px;background:#eff6ff;color:#1e40af;font-size:11px;font-weight:1000;font-style:normal}
.workflow-empty.slim{border:0!important;border-radius:0!important;background:transparent!important;padding:34px 0!important}
.workflow-dashboard{display:none!important}
.workflow-page .workflow-shell{max-width:1180px!important}
.workflow-top .subpage-title p{display:none!important}
.workflow-toolbar{border-radius:10px!important;box-shadow:none!important;border:1px solid #d8dde8!important;background:#fff!important;padding:12px 14px!important;margin-bottom:0!important;border-bottom:0!important}
.workflow-filter-group button{border-radius:4px!important;height:34px!important;background:#f8fafc!important}.workflow-filter-group button.active{background:#2b5db8!important;border-color:#2b5db8!important;color:#fff!important}
.workflow-search input{border-radius:4px!important}.workflow-user-box button{border-radius:4px!important}
.workflow-list{display:block!important;background:#fff!important;border:1px solid #d8dde8!important;border-radius:0!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important;overflow:hidden!important}
.workflow-cafe-board{display:block;width:100%}
.workflow-cafe-head,.workflow-cafe-row{display:grid;grid-template-columns:70px 100px minmax(0,1fr) 140px 110px 70px 150px;align-items:center;gap:10px}
.workflow-cafe-head{height:46px;background:#f7f8fb;border-bottom:1px solid #d8dde8;color:#475569;font-size:12px;font-weight:1000;text-align:center}
.workflow-cafe-row{min-height:54px;padding:0 10px;border-bottom:1px solid #edf0f5;color:#111827;background:#fff;font-size:13px}
.workflow-cafe-row:hover{background:#f8fbff}.workflow-cafe-row:last-child{border-bottom:0}
.workflow-cafe-row .no,.workflow-cafe-row .state,.workflow-cafe-row .date,.workflow-cafe-row .view,.workflow-cafe-row .accept,.workflow-cafe-row .author{text-align:center;color:#64748b;font-weight:850}
.workflow-cafe-row .title{min-width:0}.workflow-cafe-row .title strong{display:block;font-size:15px;line-height:1.35;letter-spacing:-.35px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-cafe-row:hover .title strong{text-decoration:underline;text-underline-offset:3px;color:#0b63f6}.workflow-cafe-row .title em{display:block;margin-top:3px;color:#94a3b8;font-size:11px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-cafe-row.urgent .title strong::before{content:'긴급 ';color:#dc2626;font-weight:1000}.workflow-cafe-row .wf-badge{height:23px;padding:0 7px;border-radius:4px;font-size:11px}.workflow-detail-view{background:#fff;border:1px solid #d8dde8;box-shadow:0 14px 36px rgba(15,23,42,.08)}.workflow-detail-card{display:block}.workflow-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px 28px;border-bottom:1px solid #e5e7eb}.workflow-detail-head h3{margin:8px 0 8px;font-size:30px;line-height:1.22;letter-spacing:-1.3px;color:#07111f}.workflow-detail-head p{margin:0;color:#64748b;font-size:13px;font-weight:850}.workflow-detail-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;min-width:260px}.workflow-detail-actions button,.workflow-detail-status select{height:36px;border:1px solid #dbe3ef;background:#fff;color:#111827;border-radius:6px;padding:0 11px;font-size:12px;font-weight:1000;cursor:pointer}.workflow-detail-actions .primary{background:#07182d;color:#fff;border-color:#07182d}.workflow-detail-actions .danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.workflow-detail-actions button[disabled]{opacity:.45;cursor:not-allowed}.workflow-detail-body{padding:28px;min-height:220px;border-bottom:1px solid #e5e7eb;white-space:pre-wrap;word-break:keep-all;line-height:1.85;color:#111827;font-size:16px}.workflow-detail-files,.detail-tags{padding:14px 28px!important;border-bottom:1px solid #e5e7eb;margin:0!important}.workflow-detail-file{display:inline-flex;margin:4px 6px 4px 0;height:32px;align-items:center;padding:0 10px;border-radius:6px;background:#f1f5f9;color:#0b63f6;font-size:12px;font-weight:1000}.workflow-muted{color:#94a3b8;font-size:13px;font-weight:850}.workflow-detail-status{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 28px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.workflow-detail-status strong{font-size:14px;color:#0f172a}.workflow-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid #e5e7eb}.workflow-detail-grid section{padding:22px 28px}.workflow-detail-grid section+section{border-left:1px solid #e5e7eb}.workflow-detail-grid h4,.detail-comments h4{margin:0 0 12px;font-size:17px;letter-spacing:-.5px}.workflow-detail-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.workflow-detail-grid li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.workflow-detail-grid li span{color:#64748b;font-weight:800}.workflow-detail-grid li.empty{color:#94a3b8;display:block}.detail-comments{padding:22px 28px!important;border:0!important}.detail-comments .workflow-comment-form{margin-top:14px}.detail-comments .workflow-comment-form input{border-radius:6px!important}.detail-comments .workflow-comment-form button{border-radius:6px!important}
@media(max-width:1100px){.final-dashboard{grid-template-columns:1fr!important}.workflow-home-strip{max-width:none!important}.workflow-cafe-head{display:none}.workflow-cafe-row{grid-template-columns:1fr;gap:4px;padding:14px}.workflow-cafe-row .no,.workflow-cafe-row .state,.workflow-cafe-row .date,.workflow-cafe-row .view,.workflow-cafe-row .accept,.workflow-cafe-row .author{text-align:left}.workflow-detail-head{flex-direction:column}.workflow-detail-actions{justify-content:flex-start}.workflow-detail-grid{grid-template-columns:1fr}.workflow-detail-grid section+section{border-left:0;border-top:1px solid #e5e7eb}}


/* ===== style block 13 ===== */
/* Workflow v10: compact user controls + floating light/dark toggle */
.workflow-global-controls{position:fixed;right:22px;top:28px;z-index:95;display:none;align-items:center;gap:6px;padding:5px 6px 5px 10px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.10);box-shadow:0 10px 26px rgba(15,23,42,.10);backdrop-filter:blur(18px)}
html.auth-unlocked .workflow-global-controls{display:flex}
.workflow-global-controls .user{max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#334155;font-size:12px;font-weight:1000;line-height:1}
.workflow-logout-top{height:30px;border:1px solid #111827;border-radius:999px;background:#111827;color:#fff;padding:0 10px;font-size:11px;font-weight:1000;cursor:pointer;line-height:1}
.workflow-logout-top:hover{background:#0b63f6;color:#fff;border-color:#0b63f6}
.workflow-floating-theme{position:fixed;right:34px;bottom:108px;z-index:119;display:none;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid rgba(15,23,42,.10);border-radius:50%;background:#fff;color:#111827;font-size:22px;font-weight:1000;box-shadow:0 16px 38px rgba(15,23,42,.18);cursor:pointer;backdrop-filter:blur(18px)}
html.auth-unlocked .workflow-floating-theme{display:flex}
.workflow-floating-theme:hover{transform:translateY(-2px);background:#07182d;color:#fff;border-color:#07182d}
.music-bar{margin-right:150px!important}
@media(max-width:1260px){.workflow-global-controls{top:76px;right:22px}.music-bar{margin-right:0!important}}
@media(max-width:760px){.workflow-global-controls{top:76px;right:12px;border-radius:999px}.workflow-global-controls .user{max-width:96px}.workflow-floating-theme{right:20px;bottom:88px;width:50px;height:50px;font-size:20px}}
html.theme-dark,html.theme-dark body{background:#0b1220!important;color:#e5e7eb!important}
html.theme-dark body{background:radial-gradient(circle at 12% -8%,rgba(59,130,246,.20),transparent 32%),linear-gradient(180deg,#0b1220 0%,#111827 60%,#0f172a 100%)!important}
html.theme-dark .app-header,html.theme-dark .subpage-top,html.theme-dark .workflow-home-strip,html.theme-dark .workflow-list,html.theme-dark .workflow-cafe-row,html.theme-dark .workflow-cafe-head,html.theme-dark .workflow-detail-view,html.theme-dark .workflow-detail-card,html.theme-dark .workflow-card,html.theme-dark .workflow-toolbar,html.theme-dark .calendar-frame,html.theme-dark .calculator-frame,html.theme-dark .spell-checker-frame,html.theme-dark .news-frame,html.theme-dark .home-news-priority,html.theme-dark .home-center-card,html.theme-dark .card,html.theme-dark .workflow-global-controls{background:#111827!important;border-color:rgba(148,163,184,.22)!important;color:#e5e7eb!important;box-shadow:0 18px 48px rgba(0,0,0,.35)!important}
html.theme-dark .workflow-cafe-head,html.theme-dark .workflow-detail-status,html.theme-dark .workflow-detail-grid li,html.theme-dark .workflow-file-chip,html.theme-dark .workflow-file-list span,html.theme-dark .workflow-user-admin-row,html.theme-dark .workflow-tag-pill,html.theme-dark .workflow-selected-tag,html.theme-dark .workflow-detail-body,html.theme-dark .workflow-detail-files,html.theme-dark .detail-tags,html.theme-dark .workflow-comments,html.theme-dark .workflow-post,html.theme-dark .workflow-empty{background:#0f172a!important;border-color:rgba(148,163,184,.22)!important;color:#e5e7eb!important}
html.theme-dark .workflow-cafe-row:hover,html.theme-dark .workflow-home-item.list:hover{background:#1e293b!important}
html.theme-dark .workflow-cafe-row .no,html.theme-dark .workflow-cafe-row .state,html.theme-dark .workflow-cafe-row .date,html.theme-dark .workflow-cafe-row .view,html.theme-dark .workflow-cafe-row .accept,html.theme-dark .workflow-cafe-row .author,html.theme-dark .workflow-home-item.list span,html.theme-dark .workflow-muted,html.theme-dark .workflow-card-head span,html.theme-dark .workflow-tag-note,html.theme-dark .workflow-user-box,html.theme-dark .workflow-detail-head p,html.theme-dark .workflow-detail-grid li span{color:#94a3b8!important}
html.theme-dark h1,html.theme-dark h2,html.theme-dark h3,html.theme-dark h4,html.theme-dark .brand,html.theme-dark .subpage-title h2,html.theme-dark .workflow-home-head h2,html.theme-dark .workflow-cafe-row .title strong,html.theme-dark .workflow-detail-head h3,html.theme-dark .workflow-detail-grid h4,html.theme-dark .detail-comments h4,html.theme-dark .workflow-card-head strong,html.theme-dark .home-center-card strong,html.theme-dark .home-news-priority .home-news-head h2{color:#f8fafc!important}
html.theme-dark input,html.theme-dark textarea,html.theme-dark select{background:#0b1220!important;border-color:rgba(148,163,184,.30)!important;color:#f8fafc!important}
html.theme-dark input::placeholder,html.theme-dark textarea::placeholder{color:#64748b!important}
html.theme-dark .btn.secondary,html.theme-dark .back-btn,html.theme-dark .workflow-filter-group button,html.theme-dark .workflow-user-box button,html.theme-dark .workflow-detail-actions button,html.theme-dark .workflow-detail-status select,html.theme-dark .workflow-floating-theme{background:#0f172a!important;color:#e5e7eb!important;border-color:rgba(148,163,184,.28)!important}
html.theme-dark .workflow-filter-group button.active,html.theme-dark .btn,html.theme-dark .workflow-write-btn,html.theme-dark .workflow-detail-actions .primary{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}
html.theme-dark .workflow-logout-top{background:#ef4444!important;color:#fff!important;border-color:#ef4444!important}
html.theme-dark .workflow-floating-theme{box-shadow:0 18px 42px rgba(0,0,0,.38)!important}
html.theme-dark .wf-badge{background:#1e293b!important;color:#cbd5e1!important}
html.theme-dark .wf-badge.status-need{background:#7f1d1d!important;color:#fecaca!important}
html.theme-dark .wf-badge.status-doing{background:#1e3a8a!important;color:#bfdbfe!important}
html.theme-dark .wf-badge.status-review{background:#78350f!important;color:#fde68a!important}
html.theme-dark .workflow-detail-file{background:#1e293b!important;color:#93c5fd!important}
html.theme-dark .site-password-card,html.theme-dark .site-password-form input{color:#0f172a!important}


/* ===== style block 14 ===== */
.workflow-field-help{display:block;margin:6px 0 0;color:#64748b;font-size:12px;font-weight:750;line-height:1.45}
html.theme-dark .workflow-field-help{color:#94a3b8}


/* ===== style block 15 ===== */
/* v16: 게시판 목록에서 작업 수락 부서를 제목 앞 컬러 박스로 표시 */
.workflow-cafe-head,.workflow-cafe-row{grid-template-columns:62px 92px 190px minmax(0,1fr) 126px 104px 62px!important;}
.workflow-cafe-row .work,.workflow-cafe-head .work{text-align:left!important;}
.workflow-work-badge{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:28px;padding:5px 10px;border-radius:8px;background:linear-gradient(135deg,#0b63f6,#1d4ed8);color:#fff;font-size:12px;font-weight:1000;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 18px rgba(29,78,216,.18);}
.workflow-work-empty{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 9px;border-radius:8px;background:#f1f5f9;color:#94a3b8;font-size:12px;font-weight:900;}
.workflow-cafe-row.is-accepted .title strong{color:#0f172a;}
html.theme-dark .workflow-work-badge{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;box-shadow:none!important;}
html.theme-dark .workflow-work-empty{background:#1e293b!important;color:#64748b!important;border:1px solid rgba(148,163,184,.16)!important;}
@media(max-width:1100px){.workflow-cafe-row{grid-template-columns:1fr!important}.workflow-cafe-row .work{order:-1;margin-bottom:4px}.workflow-work-badge{width:fit-content;max-width:100%;}.workflow-work-empty{display:none;}}


/* ===== style block 16 ===== */
/* ===== overall news newspaper layout ===== */
#newsPage .featured-news-card.overall-mode{
  display:block!important;
  padding:0!important;
  margin-top:18px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#newsPage .featured-news-card.overall-mode + .news-list-card{display:none!important;}
#newsPage .overall-board{
  border-top:2px solid #111827;
  border-bottom:1px solid #d9dee7;
  padding-top:14px;
  color:#111827;
}
#newsPage .overall-top{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.88fr) minmax(250px,.78fr);
  gap:18px;
  align-items:start;
}
#newsPage .overall-lead{
  display:block;
  color:inherit;
}
#newsPage .overall-lead-image{
  aspect-ratio:1.38/1;
  background:#edf2f7;
  overflow:hidden;
  border:1px solid #e5e7eb;
}
#newsPage .overall-lead-image img,
#newsPage .overall-card-image img,
#newsPage .overall-mini-thumb img,
#newsPage .overall-side-thumb img,
#newsPage .overall-left-image img{
  width:100%;height:100%;object-fit:cover;display:block;
}
#newsPage .overall-lead h3{
  margin:14px 0 10px;
  font-size:28px;
  line-height:1.22;
  letter-spacing:-1.2px;
  color:#111;
  font-weight:900;
  word-break:keep-all;
}
#newsPage .overall-lead .overall-deck{
  margin:0;
  color:#475569;
  font-size:13.5px;
  line-height:1.62;
  font-weight:700;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#newsPage .overall-meta{
  display:block;
  margin-top:10px;
  color:#8a94a6;
  font-size:11.5px;
  font-weight:900;
}
#newsPage .overall-top-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 16px;
}
#newsPage .overall-card{
  display:block;
  color:inherit;
}
#newsPage .overall-card-image{
  aspect-ratio:1.5/1;
  overflow:hidden;
  background:#edf2f7;
  border:1px solid #e5e7eb;
}
#newsPage .overall-card h4{
  margin:8px 0 6px;
  font-size:17px;
  line-height:1.36;
  letter-spacing:-.6px;
  font-weight:850;
  color:#111;
  word-break:keep-all;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#newsPage .overall-card .overall-deck{
  margin:0;
  color:#64748b;
  font-size:12px;
  line-height:1.55;
  font-weight:700;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#newsPage .overall-hotbox{
  border-left:1px solid #111827;
  padding-left:16px;
}
#newsPage .overall-hotbox h4,
#newsPage .overall-rightbox h4{
  margin:0 0 10px;
  font-size:18px;
  line-height:1;
  letter-spacing:-.5px;
  font-weight:900;
  color:#111;
}
#newsPage .overall-hot-list,
#newsPage .overall-right-list{
  display:grid;
  gap:0;
}
#newsPage .overall-hot-item{
  display:block;
  padding:12px 0;
  border-top:1px solid #e5e7eb;
  color:inherit;
}
#newsPage .overall-hot-item:first-child{border-top:0;padding-top:0;}
#newsPage .overall-hot-item strong{
  display:block;
  font-size:14px;
  line-height:1.45;
  letter-spacing:-.4px;
  font-weight:850;
  word-break:keep-all;
}
#newsPage .overall-hot-item span{
  display:block;
  margin-top:6px;
  color:#7a8494;
  font-size:11.5px;
  font-weight:850;
}
#newsPage .overall-market{
  margin-top:18px;
  padding:9px 12px;
  background:#f8fafc;
  border-top:1px solid #e5e7eb;
  border-bottom:1px solid #e5e7eb;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:center;
  font-size:11.5px;
  color:#475569;
  font-weight:900;
}
#newsPage .overall-market b{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:52px;height:22px;padding:0 8px;border-radius:999px;background:#2563eb;color:#fff;font-size:11px;
}
#newsPage .overall-ribbon{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 0 10px;
  border-bottom:1px solid #d9dee7;
}
#newsPage .overall-ribbon-label{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  height:28px;padding:0 12px;background:#2563eb;color:#fff;font-size:12px;font-weight:1000;
}
#newsPage .overall-ribbon-track{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  font-size:12px;
  color:#334155;
  font-weight:850;
}
#newsPage .overall-ribbon-track span{display:inline-block;padding-right:20px;}
#newsPage .overall-mid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.12fr) minmax(260px,.72fr);
  gap:18px;
  margin-top:14px;
}
#newsPage .overall-section-bar{
  display:flex;align-items:center;gap:10px;
  margin:0 0 10px;
  padding:7px 10px;
  background:linear-gradient(90deg,#2563eb,#7c3aed);
  color:#fff;
  font-size:12px;
  font-weight:1000;
}
#newsPage .overall-left-stack{display:grid;gap:16px;align-content:start;}
#newsPage .overall-left-block{display:block;color:inherit;}
#newsPage .overall-left-image{aspect-ratio:1.46/1;background:#edf2f7;overflow:hidden;border:1px solid #e5e7eb;}
#newsPage .overall-left-block h4{margin:10px 0 6px;font-size:22px;line-height:1.28;letter-spacing:-.8px;font-weight:900;color:#111;word-break:keep-all;}
#newsPage .overall-left-block .overall-deck{margin:0;color:#475569;font-size:12.5px;line-height:1.58;font-weight:700;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
#newsPage .overall-center-list{
  display:grid;
  gap:0;
  border-top:1px solid #111827;
}
#newsPage .overall-center-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) 88px;
  gap:14px;
  padding:11px 0;
  border-bottom:1px solid #e5e7eb;
  color:inherit;
}
#newsPage .overall-center-item.no-thumb{grid-template-columns:1fr;}
#newsPage .overall-center-item strong{display:block;font-size:14px;line-height:1.42;letter-spacing:-.4px;font-weight:850;color:#111;word-break:keep-all;}
#newsPage .overall-center-item p{margin:5px 0 0;color:#64748b;font-size:12px;line-height:1.52;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#newsPage .overall-center-item .overall-mini-thumb{width:88px;height:62px;background:#edf2f7;overflow:hidden;border:1px solid #e5e7eb;align-self:start;}
#newsPage .overall-center-item em,
#newsPage .overall-right-item em,
#newsPage .overall-bottom-item em{display:block;margin-top:5px;color:#8a94a6;font-style:normal;font-size:11.5px;font-weight:850;}
#newsPage .overall-rightbox{border-left:1px solid #111827;padding-left:16px;}
#newsPage .overall-right-item{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:10px;padding:10px 0;border-top:1px solid #e5e7eb;color:inherit;}
#newsPage .overall-right-item:first-child{padding-top:0;border-top:0;}
#newsPage .overall-right-item strong{display:block;font-size:13px;line-height:1.42;letter-spacing:-.35px;font-weight:850;color:#111;word-break:keep-all;}
#newsPage .overall-side-thumb{width:72px;height:52px;background:#edf2f7;border:1px solid #e5e7eb;overflow:hidden;align-self:start;}
#newsPage .overall-bottom{
  margin-top:18px;
  border-top:1px solid #111827;
  padding-top:10px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0 22px;
}
#newsPage .overall-bottom-col{display:grid;gap:0;}
#newsPage .overall-bottom-item{display:block;padding:11px 0;border-bottom:1px solid #e5e7eb;color:inherit;}
#newsPage .overall-bottom-item strong{display:block;font-size:13px;line-height:1.43;letter-spacing:-.35px;font-weight:850;color:#111;word-break:keep-all;}
#newsPage .overall-bottom-item p{margin:5px 0 0;color:#64748b;font-size:11.7px;line-height:1.52;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
@media(max-width:1280px){
  #newsPage .overall-top{grid-template-columns:1fr 1fr;}
  #newsPage .overall-hotbox{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid #111827;padding-top:12px;}
  #newsPage .overall-mid{grid-template-columns:1fr 1fr;}
  #newsPage .overall-rightbox{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid #111827;padding-top:12px;}
  #newsPage .overall-bottom{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:900px){
  #newsPage .overall-top,#newsPage .overall-mid,#newsPage .overall-bottom{grid-template-columns:1fr;}
  #newsPage .overall-top-grid{grid-template-columns:1fr 1fr;}
  #newsPage .overall-hotbox,#newsPage .overall-rightbox{border-left:0;padding-left:0;border-top:1px solid #111827;padding-top:12px;}
}
@media(max-width:640px){
  #newsPage .overall-top-grid{grid-template-columns:1fr;}
  #newsPage .overall-lead h3{font-size:24px;}
  #newsPage .overall-left-block h4{font-size:18px;}
  #newsPage .overall-center-item{grid-template-columns:1fr;}
}


/* ===== style block 17 ===== */
/* v13: 핫뉴스 오른쪽 잘림 수정 - 긴 한글 제목이 칸 밖으로 밀리지 않게 강제 줄바꿈 */
#newsPage .news-frame,
#newsPage .news-dashboard,
#newsPage .news-main,
#newsPage .featured-news-card.overall-mode,
#newsPage .overall-board,
#newsPage .overall-top,
#newsPage .overall-mid,
#newsPage .overall-bottom{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
#newsPage .overall-top > *,
#newsPage .overall-mid > *,
#newsPage .overall-bottom > *,
#newsPage .overall-hotbox,
#newsPage .overall-rightbox,
#newsPage .overall-hot-list,
#newsPage .overall-right-list{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
#newsPage .overall-top{
  grid-template-columns:minmax(0,1.04fr) minmax(280px,.82fr) minmax(260px,.56fr)!important;
  gap:18px!important;
}
#newsPage .overall-hotbox{
  overflow:visible!important;
  padding-right:2px!important;
}
#newsPage .overall-hotbox h4,
#newsPage .overall-rightbox h4{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#newsPage .overall-hot-item,
#newsPage .overall-right-item{
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}
#newsPage .overall-hot-item strong,
#newsPage .overall-right-item strong,
#newsPage .overall-hot-item span,
#newsPage .overall-right-item em{
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  line-height:1.55!important;
}
#newsPage .overall-right-item{
  grid-template-columns:minmax(0,1fr) 64px!important;
}
#newsPage .overall-side-thumb{
  width:64px!important;
  height:48px!important;
}
@media(max-width:1280px){
  #newsPage .overall-top{grid-template-columns:1fr 1fr!important;}
  #newsPage .overall-hotbox{grid-column:1/-1!important;border-left:0!important;padding-left:0!important;border-top:1px solid #111827!important;padding-top:12px!important;}
}
@media(max-width:900px){
  #newsPage .overall-top{grid-template-columns:1fr!important;}
}


/* ===== style block 18 ===== */
/* v14: 실제 배포 화면에서 뉴스판이 너무 커지는 문제 수정 + 이미지 없을 때 대형 SVG 대신 작은 placeholder */
#newsPage .news-frame{overflow:hidden!important;}
#newsPage .featured-news-card.overall-mode{margin-top:14px!important;}
#newsPage .overall-board{padding-top:12px!important;}
#newsPage .overall-top{
  grid-template-columns:minmax(390px,.86fr) minmax(360px,.72fr) minmax(230px,.42fr)!important;
  gap:16px!important;
}
#newsPage .overall-lead-image{
  height:clamp(210px,22vw,285px)!important;
  aspect-ratio:auto!important;
}
#newsPage .overall-card-image{
  height:112px!important;
  aspect-ratio:auto!important;
}
#newsPage .overall-left-image{
  height:138px!important;
  aspect-ratio:auto!important;
}
#newsPage .overall-mini-thumb{width:72px!important;height:50px!important;}
#newsPage .overall-side-thumb{width:58px!important;height:42px!important;}
#newsPage .overall-lead h3{
  margin:11px 0 7px!important;
  font-size:22px!important;
  line-height:1.26!important;
  letter-spacing:-.9px!important;
}
#newsPage .overall-lead .overall-deck{
  font-size:12.5px!important;
  line-height:1.56!important;
  -webkit-line-clamp:2!important;
}
#newsPage .overall-card h4{
  margin:7px 0 4px!important;
  font-size:14.5px!important;
  line-height:1.36!important;
  letter-spacing:-.45px!important;
}
#newsPage .overall-card .overall-deck{font-size:11.5px!important;line-height:1.45!important;-webkit-line-clamp:2!important;}
#newsPage .overall-meta{margin-top:7px!important;font-size:11px!important;}
#newsPage .overall-hotbox{padding-left:13px!important;}
#newsPage .overall-hotbox h4,#newsPage .overall-rightbox h4{font-size:16px!important;margin-bottom:7px!important;}
#newsPage .overall-hot-item{padding:8px 0!important;}
#newsPage .overall-hot-item strong{font-size:12.5px!important;line-height:1.42!important;}
#newsPage .overall-hot-item span{font-size:10.8px!important;margin-top:4px!important;}
#newsPage .overall-market{margin-top:12px!important;padding:7px 10px!important;gap:12px!important;font-size:11px!important;}
#newsPage .overall-ribbon{margin-top:7px!important;padding:7px 0 8px!important;}
#newsPage .overall-ribbon-label{height:24px!important;font-size:11px!important;padding:0 10px!important;}
#newsPage .overall-ribbon-track{font-size:11.5px!important;}
#newsPage .overall-mid{grid-template-columns:minmax(0,.82fr) minmax(0,1.1fr) minmax(230px,.62fr)!important;gap:16px!important;margin-top:12px!important;}
#newsPage .overall-section-bar{padding:6px 9px!important;font-size:11.5px!important;margin-bottom:9px!important;}
#newsPage .overall-left-stack{gap:12px!important;}
#newsPage .overall-left-block h4{font-size:17px!important;line-height:1.32!important;margin:8px 0 5px!important;}
#newsPage .overall-left-block .overall-deck{font-size:11.5px!important;line-height:1.5!important;-webkit-line-clamp:2!important;}
#newsPage .overall-center-item{grid-template-columns:minmax(0,1fr) 72px!important;gap:10px!important;padding:8px 0!important;}
#newsPage .overall-center-item.no-thumb{grid-template-columns:1fr!important;}
#newsPage .overall-center-item strong{font-size:12.8px!important;line-height:1.38!important;}
#newsPage .overall-center-item p{font-size:11.3px!important;line-height:1.45!important;margin-top:4px!important;-webkit-line-clamp:1!important;}
#newsPage .overall-rightbox{padding-left:13px!important;}
#newsPage .overall-right-item{grid-template-columns:minmax(0,1fr) 58px!important;gap:8px!important;padding:8px 0!important;}
#newsPage .overall-right-item strong{font-size:12.2px!important;line-height:1.4!important;}
#newsPage .overall-center-item em,#newsPage .overall-right-item em,#newsPage .overall-bottom-item em{font-size:10.7px!important;margin-top:4px!important;}
#newsPage .overall-bottom{margin-top:13px!important;padding-top:7px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0 18px!important;}
#newsPage .overall-bottom-item{padding:8px 0!important;}
#newsPage .overall-bottom-item strong{font-size:12.2px!important;line-height:1.38!important;}
#newsPage .overall-bottom-item p{font-size:11px!important;line-height:1.42!important;-webkit-line-clamp:1!important;}
#newsPage .overall-placeholder{
  width:100%;height:100%;display:grid;place-items:center;
  background:linear-gradient(135deg,#f3f6fa,#e8eef6);
  color:#334155;font-weight:1000;letter-spacing:-.4px;
  font-size:18px;text-align:center;padding:12px;border:1px solid #e5e7eb;
}
#newsPage .overall-lead-image .overall-placeholder{font-size:26px;}
#newsPage .overall-mini-thumb .overall-placeholder,#newsPage .overall-side-thumb .overall-placeholder{font-size:10px;padding:4px;}
@media(max-width:1280px){
  #newsPage .overall-top{grid-template-columns:1fr 1fr!important;}
  #newsPage .overall-hotbox{grid-column:1/-1!important;border-left:0!important;padding-left:0!important;border-top:1px solid #111827!important;padding-top:10px!important;}
  #newsPage .overall-mid{grid-template-columns:1fr 1fr!important;}
  #newsPage .overall-rightbox{grid-column:1/-1!important;border-left:0!important;padding-left:0!important;border-top:1px solid #111827!important;padding-top:10px!important;}
  #newsPage .overall-bottom{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:900px){
  #newsPage .overall-top,#newsPage .overall-mid,#newsPage .overall-bottom{grid-template-columns:1fr!important;}
  #newsPage .overall-top-grid{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:640px){
  #newsPage .overall-top-grid{grid-template-columns:1fr!important;}
  #newsPage .overall-lead-image{height:210px!important;}
}


/* ===== style block 19 ===== */
/* v17: 뉴스 비어 보임/과대 레이아웃 최종 보정 */
#newsPage .news-frame{overflow:visible!important;}
#newsPage .featured-news-card.overall-mode{display:block!important;margin-top:14px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;}
#newsPage .featured-news-card.overall-mode + .news-list-card{display:none!important;}
#newsPage .overall-board{border-top:2px solid #111827!important;border-bottom:1px solid #d9dee7!important;padding-top:12px!important;color:#111827!important;overflow:visible!important;}
#newsPage .overall-top{display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(300px,.92fr) minmax(230px,.56fr)!important;gap:16px!important;align-items:start!important;min-width:0!important;}
#newsPage .overall-top>*{min-width:0!important;}
#newsPage .overall-lead,#newsPage .overall-card,#newsPage .overall-left-block,#newsPage .overall-hot-item,#newsPage .overall-center-item,#newsPage .overall-right-item,#newsPage .overall-bottom-item{color:inherit!important;text-decoration:none!important;min-width:0!important;max-width:100%!important;}
#newsPage .overall-lead-image{height:285px!important;aspect-ratio:auto!important;background:#eef2f7!important;border:1px solid #e5e7eb!important;overflow:hidden!important;}
#newsPage .overall-card-image{height:122px!important;aspect-ratio:auto!important;background:#eef2f7!important;border:1px solid #e5e7eb!important;overflow:hidden!important;}
#newsPage .overall-left-image{height:150px!important;aspect-ratio:auto!important;background:#eef2f7!important;border:1px solid #e5e7eb!important;overflow:hidden!important;}
#newsPage .overall-mini-thumb{width:72px!important;height:50px!important;background:#eef2f7!important;border:1px solid #e5e7eb!important;overflow:hidden!important;}
#newsPage .overall-side-thumb{width:58px!important;height:42px!important;background:#eef2f7!important;border:1px solid #e5e7eb!important;overflow:hidden!important;}
#newsPage .overall-lead-image img,#newsPage .overall-card-image img,#newsPage .overall-left-image img,#newsPage .overall-mini-thumb img,#newsPage .overall-side-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
#newsPage .overall-placeholder{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;padding:10px!important;background:linear-gradient(135deg,#eef4ff,#f8fafc)!important;color:#64748b!important;font-size:13px!important;font-weight:1000!important;text-align:center!important;letter-spacing:-.2px!important;}
#newsPage .overall-lead h3{margin:12px 0 8px!important;font-size:24px!important;line-height:1.24!important;letter-spacing:-1px!important;color:#111!important;font-weight:900!important;word-break:keep-all!important;overflow-wrap:anywhere!important;}
#newsPage .overall-lead .overall-deck{margin:0!important;color:#475569!important;font-size:12.5px!important;line-height:1.55!important;font-weight:750!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#newsPage .overall-top-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;min-width:0!important;}
#newsPage .overall-card h4{margin:8px 0 5px!important;font-size:14.5px!important;line-height:1.38!important;letter-spacing:-.5px!important;font-weight:900!important;color:#111!important;word-break:keep-all!important;overflow-wrap:anywhere!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#newsPage .overall-card .overall-deck{margin:0!important;color:#64748b!important;font-size:11.5px!important;line-height:1.45!important;font-weight:700!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#newsPage .overall-meta{display:block!important;margin-top:7px!important;color:#8a94a6!important;font-size:11px!important;font-weight:900!important;}
#newsPage .overall-hotbox{min-width:0!important;max-width:100%!important;border-left:1px solid #111827!important;padding-left:13px!important;overflow:visible!important;}
#newsPage .overall-hotbox h4,#newsPage .overall-rightbox h4{margin:0 0 7px!important;font-size:16px!important;line-height:1.1!important;letter-spacing:-.4px!important;font-weight:900!important;color:#111!important;}
#newsPage .overall-hot-list,#newsPage .overall-right-list{display:grid!important;gap:0!important;min-width:0!important;}
#newsPage .overall-hot-item{display:block!important;padding:8px 0!important;border-top:1px solid #e5e7eb!important;overflow:visible!important;}
#newsPage .overall-hot-item:first-child{border-top:0!important;padding-top:0!important;}
#newsPage .overall-hot-item strong,#newsPage .overall-right-item strong{display:block!important;font-size:12.2px!important;line-height:1.42!important;letter-spacing:-.35px!important;font-weight:900!important;color:#111!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere!important;overflow:visible!important;}
#newsPage .overall-hot-item span,#newsPage .overall-right-item em,#newsPage .overall-bottom-item em{display:block!important;margin-top:4px!important;color:#8a94a6!important;font-style:normal!important;font-size:10.7px!important;font-weight:850!important;white-space:normal!important;overflow-wrap:anywhere!important;}
#newsPage .overall-market{margin-top:12px!important;padding:7px 10px!important;background:#f8fafc!important;border-top:1px solid #e5e7eb!important;border-bottom:1px solid #e5e7eb!important;display:flex!important;gap:12px!important;flex-wrap:nowrap!important;overflow:hidden!important;white-space:nowrap!important;font-size:11px!important;color:#475569!important;font-weight:900!important;}
#newsPage .overall-market b{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;height:24px!important;padding:0 10px!important;background:#2563eb!important;color:#fff!important;font-size:11px!important;}
#newsPage .overall-market span{display:inline-block!important;min-width:0!important;text-overflow:ellipsis!important;overflow:hidden!important;}
#newsPage .overall-ribbon{margin-top:7px!important;display:flex!important;align-items:center!important;gap:10px!important;padding:7px 0 8px!important;border-bottom:1px solid #d9dee7!important;min-width:0!important;}
#newsPage .overall-ribbon-label{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:24px!important;padding:0 10px!important;background:#2563eb!important;color:#fff!important;font-size:11px!important;font-weight:1000!important;}
#newsPage .overall-ribbon-track{min-width:0!important;overflow:hidden!important;white-space:nowrap!important;font-size:11.5px!important;color:#334155!important;font-weight:850!important;}
#newsPage .overall-mid{display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.1fr) minmax(230px,.62fr)!important;gap:16px!important;margin-top:12px!important;min-width:0!important;}
#newsPage .overall-mid>*{min-width:0!important;}
#newsPage .overall-section-bar{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 9px!important;padding:6px 9px!important;background:linear-gradient(90deg,#2563eb,#7c3aed)!important;color:#fff!important;font-size:11.5px!important;font-weight:1000!important;}
#newsPage .overall-left-stack{display:grid!important;gap:12px!important;}
#newsPage .overall-left-block h4{margin:8px 0 5px!important;font-size:17px!important;line-height:1.32!important;letter-spacing:-.6px!important;font-weight:900!important;color:#111!important;word-break:keep-all!important;overflow-wrap:anywhere!important;}
#newsPage .overall-left-block .overall-deck{margin:0!important;color:#475569!important;font-size:11.5px!important;line-height:1.5!important;font-weight:700!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#newsPage .overall-center-list{display:grid!important;gap:0!important;border-top:1px solid #111827!important;min-width:0!important;}
#newsPage .overall-center-item{display:grid!important;grid-template-columns:minmax(0,1fr) 72px!important;gap:10px!important;padding:8px 0!important;border-bottom:1px solid #e5e7eb!important;}
#newsPage .overall-center-item.no-thumb{grid-template-columns:1fr!important;}
#newsPage .overall-center-item strong{display:block!important;font-size:12.8px!important;line-height:1.38!important;letter-spacing:-.35px!important;font-weight:900!important;color:#111!important;word-break:keep-all!important;overflow-wrap:anywhere!important;}
#newsPage .overall-center-item p{margin:4px 0 0!important;color:#64748b!important;font-size:11.3px!important;line-height:1.45!important;font-weight:700!important;display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
#newsPage .overall-rightbox{min-width:0!important;border-left:1px solid #111827!important;padding-left:13px!important;}
#newsPage .overall-right-item{display:grid!important;grid-template-columns:minmax(0,1fr) 58px!important;gap:8px!important;padding:8px 0!important;border-top:1px solid #e5e7eb!important;}
#newsPage .overall-right-item:first-child{border-top:0!important;padding-top:0!important;}
#newsPage .overall-bottom{margin-top:13px!important;border-top:1px solid #111827!important;padding-top:7px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0 18px!important;}
#newsPage .overall-bottom-col{display:grid!important;gap:0!important;min-width:0!important;}
#newsPage .overall-bottom-item{display:block!important;padding:8px 0!important;border-bottom:1px solid #e5e7eb!important;}
#newsPage .overall-bottom-item strong{display:block!important;font-size:12.2px!important;line-height:1.38!important;letter-spacing:-.35px!important;font-weight:900!important;color:#111!important;word-break:keep-all!important;overflow-wrap:anywhere!important;}
#newsPage .overall-bottom-item p{margin:4px 0 0!important;color:#64748b!important;font-size:11px!important;line-height:1.42!important;font-weight:700!important;display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
@media(max-width:1280px){#newsPage .overall-top{grid-template-columns:1fr 1fr!important;}#newsPage .overall-hotbox{grid-column:1/-1!important;border-left:0!important;padding-left:0!important;border-top:1px solid #111827!important;padding-top:10px!important;}#newsPage .overall-mid{grid-template-columns:1fr 1fr!important;}#newsPage .overall-rightbox{grid-column:1/-1!important;border-left:0!important;padding-left:0!important;border-top:1px solid #111827!important;padding-top:10px!important;}#newsPage .overall-bottom{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:900px){#newsPage .overall-top,#newsPage .overall-mid,#newsPage .overall-bottom{grid-template-columns:1fr!important;}#newsPage .overall-top-grid{grid-template-columns:1fr 1fr!important;}#newsPage .overall-lead-image{height:230px!important;}}
@media(max-width:640px){#newsPage .overall-top-grid{grid-template-columns:1fr!important;}#newsPage .overall-lead-image{height:210px!important;}#newsPage .overall-card-image{height:145px!important;}}


/* ===== style block 20 ===== */
#newsPage .overall-placeholder{
  background:#f3f6fa!important;
  color:#64748b!important;
  font-size:12px!important;
  letter-spacing:-.2px!important;
}
#newsPage .overall-lead-image .overall-placeholder{font-size:16px!important;}
#newsPage .overall-lead-image img,
#newsPage .overall-card-image img,
#newsPage .overall-left-image img,
#newsPage .overall-mini-thumb img,
#newsPage .overall-side-thumb img{
  object-fit:cover!important;
  background:#f3f6fa!important;
}


/* ===== style block 21 ===== */
/* v19: 이슈 바/실시간 띠 클릭 이동 + 자연스러운 흐름 애니메이션 */
#newsPage .overall-market,
#newsPage .overall-ribbon{
  overflow:hidden!important;
  position:relative!important;
}
#newsPage .overall-market b,
#newsPage .overall-ribbon-label{
  position:relative!important;
  z-index:2!important;
}
#newsPage .overall-market-link,
#newsPage .overall-ribbon-link{
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
  min-width:0!important;
  flex:0 0 auto!important;
}
#newsPage .overall-market-link:hover,
#newsPage .overall-ribbon-link:hover{
  color:#0b63f6!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
#newsPage .overall-market-link span{
  display:inline-block!important;
  max-width:360px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}
#newsPage .overall-ribbon-track{
  display:inline-flex!important;
  align-items:center!important;
  gap:14px!important;
  width:max-content!important;
  min-width:100%!important;
  animation:overallNewsMarquee 42s linear infinite!important;
  will-change:transform!important;
}
#newsPage .overall-ribbon-track:hover{
  animation-play-state:paused!important;
}
#newsPage .overall-ribbon-link{
  display:inline-block!important;
  white-space:nowrap!important;
  font-weight:900!important;
}
#newsPage .overall-dot{
  color:#94a3b8!important;
  font-weight:900!important;
  flex:0 0 auto!important;
}
#newsPage .overall-market{
  gap:18px!important;
}
#newsPage .overall-market-link{
  display:inline-flex!important;
  align-items:center!important;
}
@keyframes overallNewsMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-45%)}
}
@media(max-width:900px){
  #newsPage .overall-market-link span{max-width:260px!important;}
  #newsPage .overall-ribbon-track{animation-duration:34s!important;}
}


/* ===== style block 22 ===== */
/* v21: 하단 빽빽한 기사판 제거 + 상단 포털형 레이아웃 유지 + 대표 이미지 1장만 사용 */
#newsPage .overall-bottom,
#newsPage .overall-mid{
  display:none!important;
}
#newsPage .overall-board{
  padding-bottom:18px!important;
}
#newsPage .overall-top{
  grid-template-columns:minmax(420px,.98fr) minmax(360px,.78fr) minmax(270px,.58fr)!important;
  gap:18px!important;
  align-items:start!important;
}
#newsPage .overall-lead-image{
  display:block!important;
  height:clamp(245px,24vw,340px)!important;
  aspect-ratio:auto!important;
  background:#f3f6fa!important;
  border-radius:18px 18px 0 0!important;
  overflow:hidden!important;
}
#newsPage .overall-lead-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
#newsPage .overall-lead.no-image{
  padding-top:18px!important;
}
#newsPage .overall-lead.no-image .overall-lead-image{
  display:none!important;
}
#newsPage .overall-top-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  border-top:1px solid #111827!important;
}
#newsPage .overall-card{
  padding:12px 0!important;
  border-bottom:1px solid #e5e7eb!important;
}
#newsPage .overall-card-image{
  display:none!important;
}
#newsPage .overall-card h4{
  margin:0 0 5px!important;
  font-size:15px!important;
  line-height:1.45!important;
  letter-spacing:-.45px!important;
  -webkit-line-clamp:2!important;
}
#newsPage .overall-card .overall-deck{
  font-size:12px!important;
  line-height:1.52!important;
  -webkit-line-clamp:2!important;
}
#newsPage .overall-hotbox{
  min-height:100%!important;
}
#newsPage .overall-hot-list{
  border-top:1px solid #e5e7eb!important;
}
#newsPage .overall-hot-item{
  padding:10px 0!important;
  border-top:0!important;
  border-bottom:1px solid #e5e7eb!important;
}
#newsPage .overall-hot-item strong{
  font-size:13px!important;
  line-height:1.48!important;
}
#newsPage .overall-market{
  margin-top:16px!important;
}
#newsPage .overall-ribbon{
  margin-top:8px!important;
  margin-bottom:0!important;
}
@media(max-width:1280px){
  #newsPage .overall-top{grid-template-columns:1fr 1fr!important;}
  #newsPage .overall-hotbox{grid-column:1/-1!important;border-left:0!important;padding-left:0!important;border-top:1px solid #111827!important;padding-top:12px!important;}
}
@media(max-width:900px){
  #newsPage .overall-top{grid-template-columns:1fr!important;}
  #newsPage .overall-lead-image{height:230px!important;}
}


/* ===== style block 23 ===== */
/* ===== Workflow board add-on v2 ===== */
.workflow-page .workflow-shell{max-width:1560px!important}.workflow-top .subpage-title p{display:block!important}.workflow-top-actions{display:flex;gap:8px;flex-wrap:wrap}.workflow-write-btn{background:#0b63f6!important;color:#fff!important}.workflow-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.workflow-stat{padding:20px;border-radius:26px;background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 34px rgba(15,23,42,.07)}.workflow-stat small{display:block;color:#64748b;font-size:12px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.workflow-stat strong{display:block;margin:8px 0 5px;font-size:38px;line-height:1;letter-spacing:-1.5px;color:#07182d}.workflow-stat span{color:#64748b;font-size:13px;font-weight:800}.workflow-stat.urgent{background:linear-gradient(135deg,#07182d,#12325a);color:#fff}.workflow-stat.urgent small,.workflow-stat.urgent span{color:#dbeafe}.workflow-stat.urgent strong{color:#fff}.workflow-stat.done strong{color:#047857}.workflow-main-wide{display:block}.workflow-write-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:18px;align-items:start}.workflow-card{background:rgba(255,255,255,.94);border:1px solid rgba(15,23,42,.08);box-shadow:0 16px 42px rgba(15,23,42,.08);border-radius:28px;padding:20px}.workflow-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.workflow-card-head strong{font-size:20px;letter-spacing:-.65px;color:#07111f}.workflow-card-head span{color:#64748b;font-size:12px;font-weight:800;line-height:1.5}.workflow-form{display:grid;gap:12px}.workflow-form label{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:1000}.workflow-form input,.workflow-form textarea,.workflow-form select,.workflow-user-admin input,.workflow-user-admin textarea{width:100%;border:1px solid #d8e0ec;border-radius:14px;background:#fff;padding:11px 12px;font-size:14px;font-weight:750;color:#111827}.workflow-form input[readonly]{background:#f8fafc;color:#64748b}.workflow-form textarea{min-height:150px}.workflow-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.workflow-tags-field{border:1px solid #e2e8f0;border-radius:18px;padding:12px;margin:0}.workflow-tags-field legend{padding:0 6px;color:#475569;font-size:12px;font-weight:1000}.workflow-tag-picker,.workflow-selected-tags{display:flex;gap:7px;flex-wrap:wrap}.workflow-tag-picker{margin-top:10px}.workflow-tag-pill,.workflow-selected-tag{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;font-size:12px;font-weight:950;cursor:pointer}.workflow-tag-pill.disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}.workflow-selected-tag{background:#07182d;color:#fff;border-color:#07182d}.workflow-selected-tag button{border:0;background:rgba(255,255,255,.18);color:#fff;border-radius:50%;width:18px;height:18px;line-height:18px;padding:0;cursor:pointer}.workflow-tag-search-wrap{position:relative}.workflow-tag-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:25;display:none;background:#fff;border:1px solid #dbe3ef;border-radius:16px;box-shadow:0 18px 42px rgba(15,23,42,.16);overflow:hidden}.workflow-tag-suggest.show{display:block}.workflow-tag-suggest button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 12px;font-size:13px;font-weight:900;color:#111827;cursor:pointer}.workflow-tag-suggest button:hover{background:#eef4ff}.workflow-tag-note{margin-top:8px;color:#64748b;font-size:12px;line-height:1.55;font-weight:750}.workflow-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;font-size:13px!important;color:#334155!important}.workflow-check input{width:auto}.workflow-form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.workflow-form-status{min-height:18px;color:#0b63f6;font-size:12px;font-weight:900}.workflow-file-list{display:grid;gap:8px;margin-top:10px}.workflow-file-list span,.workflow-file-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:14px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-size:12px;font-weight:900}.workflow-file-chip button{border:0;background:#fee2e2;color:#991b1b;border-radius:999px;height:24px;padding:0 9px;font-weight:1000;cursor:pointer}.workflow-admin-card{position:sticky;top:112px}.workflow-user-admin{display:grid;gap:10px;max-height:620px;overflow:auto;padding-right:4px}.workflow-user-admin-row{display:grid;gap:7px;padding:12px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc}.workflow-user-admin-row label{display:grid;gap:5px;color:#64748b;font-size:12px;font-weight:1000}.workflow-user-admin-row textarea{min-height:54px;resize:vertical}.workflow-admin-note{margin-top:10px;color:#64748b;font-size:12px;line-height:1.55;font-weight:750}.workflow-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:24px;background:rgba(255,255,255,.9);border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 30px rgba(15,23,42,.06);margin-bottom:14px}.workflow-filter-group{display:flex;gap:7px;flex-wrap:wrap}.workflow-filter-group button{height:36px;border:1px solid #dbe3ef;border-radius:999px;background:#fff;color:#334155;padding:0 13px;font-size:12px;font-weight:1000;cursor:pointer}.workflow-filter-group button.active{background:#07182d;color:#fff;border-color:#07182d}.workflow-user-box{display:flex;align-items:center;gap:8px;color:#334155;font-size:12px;font-weight:1000}.workflow-user-box button{height:32px;border:1px solid #dbe3ef;border-radius:999px;background:#fff;color:#111827;padding:0 10px;font-size:12px;font-weight:1000;cursor:pointer}.workflow-search{width:min(280px,100%)}.workflow-search input{height:38px;border-radius:999px;padding:0 14px}.workflow-list{display:grid;gap:12px}.workflow-post{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px 20px;border-radius:26px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 12px 30px rgba(15,23,42,.06)}.workflow-post.need,.workflow-post.urgent{border-color:#bfdbfe;background:linear-gradient(180deg,#fff,#f8fbff)}.workflow-post.done{opacity:.78;background:#f8fafc}.workflow-post-main{min-width:0}.workflow-post-top{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.wf-badge{display:inline-flex;align-items:center;height:25px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:1000;background:#f1f5f9;color:#334155}.wf-badge.status-need{background:#fee2e2;color:#991b1b}.wf-badge.status-doing{background:#dbeafe;color:#1e40af}.wf-badge.status-review{background:#fef3c7;color:#92400e}.wf-badge.status-done{background:#dcfce7;color:#166534}.wf-badge.status-hold{background:#e5e7eb;color:#374151}.wf-badge.priority-urgent{background:#991b1b;color:#fff}.wf-badge.priority-high{background:#fff7ed;color:#9a3412}.workflow-post h3{margin:0 0 8px;font-size:22px;line-height:1.25;letter-spacing:-.8px;color:#07111f}.workflow-post p{margin:0;color:#475569;line-height:1.62;font-size:14px;font-weight:700;white-space:pre-wrap;word-break:keep-all}.workflow-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;color:#64748b;font-size:12px;font-weight:900}.workflow-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.workflow-tags span{height:25px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;background:#eef4ff;color:#1e40af;font-size:11px;font-weight:1000}.workflow-actions{display:flex;flex-direction:column;gap:7px;min-width:120px}.workflow-actions button,.workflow-actions select{height:34px;border-radius:12px;border:1px solid #dbe3ef;background:#fff;color:#111827;font-size:12px;font-weight:1000;padding:0 10px;cursor:pointer}.workflow-actions button.primary{background:#07182d;color:#fff;border-color:#07182d}.workflow-actions button.sms{background:#0b63f6;color:#fff;border-color:#0b63f6}.workflow-actions button.danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.workflow-actions button[disabled]{opacity:.45;cursor:not-allowed}.workflow-comments{margin-top:12px;border-top:1px dashed #e2e8f0;padding-top:10px}.workflow-comment{font-size:12px;color:#475569;line-height:1.55;margin:5px 0}.workflow-comment-form{display:flex;gap:6px;margin-top:8px}.workflow-comment-form input{height:34px;border-radius:12px}.workflow-comment-form button{height:34px;border:0;border-radius:12px;background:#07182d;color:#fff;padding:0 12px;font-size:12px;font-weight:1000}.workflow-empty{padding:28px;text-align:center;border:1px dashed #cbd5e1;border-radius:24px;color:#64748b;font-weight:900;background:#fff}.workflow-home-strip{padding:22px;border-radius:30px;background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 34px rgba(15,23,42,.07);min-width:0}.workflow-home-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.workflow-home-head small{display:block;color:#0b63f6;font-size:12px;font-weight:1000;letter-spacing:.12em}.workflow-home-head h2{margin:4px 0 0;font-size:26px;letter-spacing:-1.2px}.workflow-home-head a{height:36px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;background:#07182d;color:#fff;font-size:12px;font-weight:1000}.workflow-home-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workflow-home-item{padding:14px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.workflow-home-item strong{display:block;font-size:15px;line-height:1.35;letter-spacing:-.4px}.workflow-home-item span{display:block;margin-top:7px;color:#64748b;font-size:12px;font-weight:850}.workflow-home-item.need{background:#fff7f7;border-color:#fecaca}.workflow-home-item.doing{background:#eff6ff;border-color:#bfdbfe}.workflow-home-item.done{background:#f0fdf4;border-color:#bbf7d0}.workflow-home-card small{color:#0b63f6!important}.workflow-attachment-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.workflow-attachment{display:inline-flex;color:#0b63f6;font-size:12px;font-weight:1000}.workflow-toast{position:fixed;right:24px;bottom:24px;z-index:99999;max-width:360px;padding:13px 16px;border-radius:18px;background:#07182d;color:#fff;box-shadow:0 18px 50px rgba(7,24,45,.28);font-size:13px;font-weight:850;display:none}.workflow-toast.show{display:block}.final-dashboard{grid-template-columns:minmax(220px,.7fr) minmax(360px,1fr) minmax(360px,1fr)!important;align-items:stretch!important}@media(max-width:1280px){.final-dashboard{grid-template-columns:1fr!important}.workflow-home-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1100px){.workflow-dashboard{grid-template-columns:repeat(2,1fr)}.workflow-write-layout{grid-template-columns:1fr}.workflow-admin-card{position:static}.workflow-toolbar{align-items:flex-start;flex-direction:column}.workflow-search{width:100%}.workflow-post{grid-template-columns:1fr}.workflow-actions{flex-direction:row;flex-wrap:wrap}.workflow-actions select{width:auto}}@media(max-width:640px){.workflow-dashboard{grid-template-columns:1fr}.workflow-two{grid-template-columns:1fr}.workflow-card{padding:16px;border-radius:22px}.workflow-post h3{font-size:19px}.workflow-filter-group{overflow:auto;flex-wrap:nowrap;width:100%;padding-bottom:4px}.workflow-filter-group button{flex:0 0 auto}.workflow-home-list{grid-template-columns:1fr}}


/* ===== style block 24 ===== */
/* Workflow v8 UI: home list + cafe board + detail */
.workflow-home-card{display:none!important}
.final-dashboard{grid-template-columns:minmax(220px,.55fr) minmax(360px,.9fr) minmax(420px,1.05fr)!important;align-items:start!important}
.workflow-home-strip{max-width:520px!important;min-height:430px!important;align-self:start!important;margin-top:18px!important;border-radius:24px!important;padding:18px 20px!important;background:rgba(255,255,255,.95)!important;box-shadow:0 16px 42px rgba(15,23,42,.10)!important}
.workflow-home-head{padding-bottom:12px!important;border-bottom:2px solid #07182d!important;margin-bottom:0!important}
.workflow-home-head h2{font-size:24px!important;letter-spacing:-.9px!important}
.workflow-home-list{display:flex!important;flex-direction:column!important;gap:0!important;margin-top:0!important}
.workflow-home-item.list{display:block!important;padding:15px 4px!important;border:0!important;border-bottom:1px solid #e5e7eb!important;border-radius:0!important;background:transparent!important;color:#111827!important;box-shadow:none!important}
.workflow-home-item.list:hover strong{text-decoration:underline;text-underline-offset:3px;color:#0b63f6!important}
.workflow-home-item.list strong{font-size:16px!important;line-height:1.45!important;letter-spacing:-.45px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.workflow-home-item.list span{font-size:12px!important;color:#64748b!important;margin-top:6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workflow-home-item.list em{display:inline-flex;margin-top:7px;height:24px;align-items:center;padding:0 8px;border-radius:999px;background:#eff6ff;color:#1e40af;font-size:11px;font-weight:1000;font-style:normal}
.workflow-empty.slim{border:0!important;border-radius:0!important;background:transparent!important;padding:34px 0!important}
.workflow-dashboard{display:none!important}
.workflow-page .workflow-shell{max-width:1180px!important}
.workflow-top .subpage-title p{display:none!important}
.workflow-toolbar{border-radius:10px!important;box-shadow:none!important;border:1px solid #d8dde8!important;background:#fff!important;padding:12px 14px!important;margin-bottom:0!important;border-bottom:0!important}
.workflow-filter-group button{border-radius:4px!important;height:34px!important;background:#f8fafc!important}.workflow-filter-group button.active{background:#2b5db8!important;border-color:#2b5db8!important;color:#fff!important}
.workflow-search input{border-radius:4px!important}.workflow-user-box button{border-radius:4px!important}
.workflow-list{display:block!important;background:#fff!important;border:1px solid #d8dde8!important;border-radius:0!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important;overflow:hidden!important}
.workflow-cafe-board{display:block;width:100%}
.workflow-cafe-head,.workflow-cafe-row{display:grid;grid-template-columns:70px 100px minmax(0,1fr) 140px 110px 70px 150px;align-items:center;gap:10px}
.workflow-cafe-head{height:46px;background:#f7f8fb;border-bottom:1px solid #d8dde8;color:#475569;font-size:12px;font-weight:1000;text-align:center}
.workflow-cafe-row{min-height:54px;padding:0 10px;border-bottom:1px solid #edf0f5;color:#111827;background:#fff;font-size:13px}
.workflow-cafe-row:hover{background:#f8fbff}.workflow-cafe-row:last-child{border-bottom:0}
.workflow-cafe-row .no,.workflow-cafe-row .state,.workflow-cafe-row .date,.workflow-cafe-row .view,.workflow-cafe-row .accept,.workflow-cafe-row .author{text-align:center;color:#64748b;font-weight:850}
.workflow-cafe-row .title{min-width:0}.workflow-cafe-row .title strong{display:block;font-size:15px;line-height:1.35;letter-spacing:-.35px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-cafe-row:hover .title strong{text-decoration:underline;text-underline-offset:3px;color:#0b63f6}.workflow-cafe-row .title em{display:block;margin-top:3px;color:#94a3b8;font-size:11px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-cafe-row.urgent .title strong::before{content:'긴급 ';color:#dc2626;font-weight:1000}.workflow-cafe-row .wf-badge{height:23px;padding:0 7px;border-radius:4px;font-size:11px}.workflow-detail-view{background:#fff;border:1px solid #d8dde8;box-shadow:0 14px 36px rgba(15,23,42,.08)}.workflow-detail-card{display:block}.workflow-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px 28px;border-bottom:1px solid #e5e7eb}.workflow-detail-head h3{margin:8px 0 8px;font-size:30px;line-height:1.22;letter-spacing:-1.3px;color:#07111f}.workflow-detail-head p{margin:0;color:#64748b;font-size:13px;font-weight:850}.workflow-detail-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;min-width:260px}.workflow-detail-actions button,.workflow-detail-status select{height:36px;border:1px solid #dbe3ef;background:#fff;color:#111827;border-radius:6px;padding:0 11px;font-size:12px;font-weight:1000;cursor:pointer}.workflow-detail-actions .primary{background:#07182d;color:#fff;border-color:#07182d}.workflow-detail-actions .danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.workflow-detail-actions button[disabled]{opacity:.45;cursor:not-allowed}.workflow-detail-body{padding:28px;min-height:220px;border-bottom:1px solid #e5e7eb;white-space:pre-wrap;word-break:keep-all;line-height:1.85;color:#111827;font-size:16px}.workflow-detail-files,.detail-tags{padding:14px 28px!important;border-bottom:1px solid #e5e7eb;margin:0!important}.workflow-detail-file{display:inline-flex;margin:4px 6px 4px 0;height:32px;align-items:center;padding:0 10px;border-radius:6px;background:#f1f5f9;color:#0b63f6;font-size:12px;font-weight:1000}.workflow-muted{color:#94a3b8;font-size:13px;font-weight:850}.workflow-detail-status{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 28px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.workflow-detail-status strong{font-size:14px;color:#0f172a}.workflow-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid #e5e7eb}.workflow-detail-grid section{padding:22px 28px}.workflow-detail-grid section+section{border-left:1px solid #e5e7eb}.workflow-detail-grid h4,.detail-comments h4{margin:0 0 12px;font-size:17px;letter-spacing:-.5px}.workflow-detail-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.workflow-detail-grid li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.workflow-detail-grid li span{color:#64748b;font-weight:800}.workflow-detail-grid li.empty{color:#94a3b8;display:block}.detail-comments{padding:22px 28px!important;border:0!important}.detail-comments .workflow-comment-form{margin-top:14px}.detail-comments .workflow-comment-form input{border-radius:6px!important}.detail-comments .workflow-comment-form button{border-radius:6px!important}
@media(max-width:1100px){.final-dashboard{grid-template-columns:1fr!important}.workflow-home-strip{max-width:none!important}.workflow-cafe-head{display:none}.workflow-cafe-row{grid-template-columns:1fr;gap:4px;padding:14px}.workflow-cafe-row .no,.workflow-cafe-row .state,.workflow-cafe-row .date,.workflow-cafe-row .view,.workflow-cafe-row .accept,.workflow-cafe-row .author{text-align:left}.workflow-detail-head{flex-direction:column}.workflow-detail-actions{justify-content:flex-start}.workflow-detail-grid{grid-template-columns:1fr}.workflow-detail-grid section+section{border-left:0;border-top:1px solid #e5e7eb}}


/* ===== style block 25 ===== */
.workflow-cafe-head,.workflow-cafe-row{grid-template-columns:62px 92px 190px minmax(0,1fr) 126px 104px 62px!important;}
.workflow-cafe-row .work,.workflow-cafe-head .work{text-align:left!important;}
.workflow-work-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:100%!important;min-height:28px!important;padding:5px 10px!important;border-radius:8px!important;background:linear-gradient(135deg,#0b63f6,#1d4ed8)!important;color:#fff!important;font-size:12px!important;font-weight:1000!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-shadow:0 8px 18px rgba(29,78,216,.18)!important;}
.workflow-work-empty{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:26px!important;padding:4px 9px!important;border-radius:8px!important;background:#f1f5f9!important;color:#94a3b8!important;font-size:12px!important;font-weight:900!important;}
html.theme-dark .workflow-work-badge{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;box-shadow:none!important;}
html.theme-dark .workflow-work-empty{background:#1e293b!important;color:#64748b!important;border:1px solid rgba(148,163,184,.16)!important;}
@media(max-width:1100px){.workflow-cafe-row{grid-template-columns:1fr!important}.workflow-cafe-row .work{order:-1;margin-bottom:4px;text-align:left!important}.workflow-work-badge{width:fit-content!important;max-width:100%!important}.workflow-work-empty{display:none!important}}


/* ===== style block 26 ===== */
body #homePage.final-home-page .workflow-home-item.list.urgent strong::before{content:"긴급 ";color:#dc2626;font-weight:1000;}
.workflow-home-rank{background:#f8fafc!important;color:#64748b!important;border:1px solid #e2e8f0!important;}
body #homePage.final-home-page .workflow-home-item.list.done{opacity:.72!important;}
body #homePage.final-home-page .workflow-home-item.list.done strong{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:#cbd5e1;}
html.theme-dark .workflow-home-rank{background:#1e293b!important;color:#94a3b8!important;border-color:rgba(148,163,184,.20)!important;}


/* ===== style block 27 ===== */
/* v13: 홈 화면 주요 기사와 겹치지 않도록 확인 필요한 업무를 좌측 독립 리스트로 재배치 */
body #homePage.final-home-page .final-dashboard{
  max-width:1180px!important;
  width:calc(100% - 48px)!important;
  margin:26px auto 64px!important;
  display:grid!important;
  grid-template-columns:minmax(300px,360px) minmax(520px,760px)!important;
  grid-template-rows:auto auto!important;
  gap:18px 22px!important;
  align-items:start!important;
}
body #homePage.final-home-page .final-tool-column{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
body #homePage.final-home-page .final-tool-card.workflow-home-card{display:none!important;}
body #homePage.final-home-page .workflow-home-strip{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:100%!important;
  max-width:none!important;
  min-height:430px!important;
  margin:0!important;
  padding:22px 20px!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(15,23,42,.09)!important;
  box-shadow:0 16px 42px rgba(15,23,42,.12)!important;
  backdrop-filter:blur(16px)!important;
}
body #homePage.final-home-page .workflow-home-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding-bottom:14px!important;
  margin:0!important;
  border-bottom:2px solid #07182d!important;
}
body #homePage.final-home-page .workflow-home-head small{
  display:block!important;
  color:#165dff!important;
  font-size:12px!important;
  font-weight:1000!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body #homePage.final-home-page .workflow-home-head h2{
  margin:5px 0 0!important;
  font-size:25px!important;
  line-height:1.1!important;
  letter-spacing:-1.1px!important;
  color:#07111f!important;
}
body #homePage.final-home-page .workflow-home-head a{
  flex:0 0 auto!important;
  height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 13px!important;
  border-radius:999px!important;
  background:#07182d!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:1000!important;
}
body #homePage.final-home-page .workflow-home-list{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  margin-top:0!important;
}
body #homePage.final-home-page .workflow-home-item.list{
  display:block!important;
  padding:17px 4px!important;
  border:0!important;
  border-bottom:1px solid #e5e7eb!important;
  border-radius:0!important;
  background:transparent!important;
  color:#111827!important;
  box-shadow:none!important;
  min-height:86px!important;
}
body #homePage.final-home-page .workflow-home-item.list:hover{background:#f8fbff!important;}
body #homePage.final-home-page .workflow-home-item.list:hover strong{
  color:#165dff!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
body #homePage.final-home-page .workflow-home-item.list strong{
  display:block!important;
  font-size:16px!important;
  line-height:1.45!important;
  letter-spacing:-.45px!important;
  color:#111827!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body #homePage.final-home-page .workflow-home-item.list span{
  display:block!important;
  margin-top:7px!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body #homePage.final-home-page .workflow-home-item.list em{
  display:inline-flex!important;
  align-items:center!important;
  height:24px!important;
  margin-top:8px!important;
  padding:0 8px!important;
  border-radius:999px!important;
  background:#eff6ff!important;
  color:#1e40af!important;
  font-size:11px!important;
  font-weight:1000!important;
  font-style:normal!important;
}
body #homePage.final-home-page .workflow-empty.slim{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:48px 6px!important;
  color:#64748b!important;
  font-size:14px!important;
  line-height:1.7!important;
}
body #homePage.final-home-page .final-news-panel{
  grid-column:2!important;
  grid-row:2!important;
  width:100%!important;
  margin:0!important;
}
html.theme-dark body #homePage.final-home-page .workflow-home-strip{
  background:rgba(17,24,39,.94)!important;
  border-color:rgba(148,163,184,.24)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.35)!important;
}
html.theme-dark body #homePage.final-home-page .workflow-home-head{border-bottom-color:rgba(148,163,184,.42)!important;}
html.theme-dark body #homePage.final-home-page .workflow-home-head h2,
html.theme-dark body #homePage.final-home-page .workflow-home-item.list strong{color:#f8fafc!important;}
html.theme-dark body #homePage.final-home-page .workflow-home-item.list{border-bottom-color:rgba(148,163,184,.20)!important;color:#e5e7eb!important;}
html.theme-dark body #homePage.final-home-page .workflow-home-item.list:hover{background:#1e293b!important;}
html.theme-dark body #homePage.final-home-page .workflow-home-item.list span{color:#94a3b8!important;}
@media(max-width:1180px){
  body #homePage.final-home-page .final-dashboard{
    max-width:760px!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
  }
  body #homePage.final-home-page .final-tool-column,
  body #homePage.final-home-page .workflow-home-strip,
  body #homePage.final-home-page .final-news-panel{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body #homePage.final-home-page .workflow-home-strip{min-height:0!important;}
}
@media(max-width:760px){
  body #homePage.final-home-page .final-dashboard{width:auto!important;margin:18px 14px 42px!important;gap:14px!important;}
  body #homePage.final-home-page .final-tool-column{grid-template-columns:1fr!important;}
  body #homePage.final-home-page .workflow-home-strip{border-radius:24px!important;padding:18px!important;}
  body #homePage.final-home-page .workflow-home-head{align-items:flex-start!important;}
}


/* ===== style block 28 ===== */
/* v17: 홈 우측 패널을 더 짧고 컴팩트하게 줄여 사진/제목 가림 최소화 */
body #homePage.final-home-page .final-dashboard{
  top:clamp(210px,27vh,280px)!important;
  bottom:auto!important;
  right:clamp(18px,2.6vw,42px)!important;
  left:auto!important;
  width:min(980px,calc(100vw - 72px))!important;
  max-width:980px!important;
  grid-template-columns:minmax(280px,320px) minmax(420px,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:14px 16px!important;
  align-items:start!important;
}
body #homePage.final-home-page .final-tool-column{
  grid-column:2!important;
  grid-row:1!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
body #homePage.final-home-page .final-tool-card{
  min-height:96px!important;
  padding:16px 16px 14px!important;
  border-radius:22px!important;
}
body #homePage.final-home-page .final-tool-card small{
  font-size:10px!important;
  letter-spacing:.12em!important;
}
body #homePage.final-home-page .final-tool-card strong{
  margin-top:4px!important;
  font-size:18px!important;
  line-height:1.08!important;
  letter-spacing:-.7px!important;
}
body #homePage.final-home-page .final-tool-card span{
  margin-top:6px!important;
  font-size:11px!important;
  line-height:1.35!important;
}
body #homePage.final-home-page .final-tool-card b{
  width:34px!important;
  height:34px!important;
  top:16px!important;
  right:15px!important;
  font-size:12px!important;
}
body #homePage.final-home-page .workflow-home-strip{
  min-height:320px!important;
  padding:18px 18px 14px!important;
  border-radius:24px!important;
}
body #homePage.final-home-page .workflow-home-head{
  padding-bottom:11px!important;
}
body #homePage.final-home-page .workflow-home-head h2{
  font-size:22px!important;
}
body #homePage.final-home-page .workflow-home-head a{
  height:32px!important;
  padding:0 12px!important;
  font-size:11px!important;
}
body #homePage.final-home-page .workflow-home-item.list{
  min-height:72px!important;
  padding:14px 2px!important;
}
body #homePage.final-home-page .workflow-home-item.list strong{
  font-size:15px!important;
  line-height:1.38!important;
}
body #homePage.final-home-page .workflow-home-item.list span{
  margin-top:5px!important;
  font-size:11.5px!important;
}
body #homePage.final-home-page .final-news-panel{
  grid-column:2!important;
  grid-row:2!important;
  padding:18px 18px 16px!important;
  border-radius:24px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head{
  margin-bottom:10px!important;
  padding-bottom:10px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head h2{
  font-size:25px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head a{
  height:32px!important;
  min-height:32px!important;
  padding:0 12px!important;
  font-size:11px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-grid{
  grid-template-columns:1fr!important;
  gap:8px!important;
  max-height:168px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  padding:12px 14px!important;
  min-height:0!important;
  border-radius:16px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card h3,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  margin:6px 0 2px!important;
  font-size:15px!important;
  line-height:1.32!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  font-size:16px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card small,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child small{
  margin-top:4px!important;
  font-size:11px!important;
}
/* 메인 제목이 보일 수 있게 오버레이를 약간 아래로 내리고 모바일은 기존 흐름 유지 */
@media(max-width:1180px){
  body #homePage.final-home-page .final-dashboard{
    top:auto!important;
    bottom:22px!important;
    width:min(760px,calc(100vw - 40px))!important;
    max-width:760px!important;
    grid-template-columns:1fr!important;
  }
  body #homePage.final-home-page .final-tool-column,
  body #homePage.final-home-page .workflow-home-strip,
  body #homePage.final-home-page .final-news-panel{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    max-height:150px!important;
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:760px){
  body #homePage.final-home-page .final-dashboard{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:auto!important;
    max-width:none!important;
    margin:18px 14px 42px!important;
  }
  body #homePage.final-home-page .final-tool-column,
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    grid-template-columns:1fr!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    max-height:none!important;
  }
}


/* ===== style block 29 ===== */
/* v18: 두번째 시안처럼 오른쪽 패널을 더 길쭉하고 슬림하게 재조정 */
body #homePage.final-home-page .final-dashboard{
  top:clamp(130px,18vh,170px)!important;
  right:clamp(34px,4vw,72px)!important;
  bottom:auto!important;
  left:auto!important;
  width:min(610px,34vw)!important;
  max-width:610px!important;
  display:grid!important;
  grid-template-columns:250px 1fr!important;
  grid-template-rows:auto auto!important;
  gap:14px!important;
  align-items:start!important;
}
body #homePage.final-home-page .workflow-home-strip{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  min-height:366px!important;
  padding:20px 16px 18px!important;
  border-radius:24px!important;
}
body #homePage.final-home-page .workflow-home-head{
  padding-bottom:12px!important;
}
body #homePage.final-home-page .workflow-home-head h2{
  font-size:18px!important;
  letter-spacing:-.7px!important;
  line-height:1.14!important;
}
body #homePage.final-home-page .workflow-home-head a{
  height:30px!important;
  padding:0 10px!important;
  font-size:10px!important;
}
body #homePage.final-home-page .workflow-home-item.list{
  min-height:70px!important;
  padding:14px 2px!important;
}
body #homePage.final-home-page .workflow-home-item.list strong{
  font-size:13.5px!important;
  line-height:1.36!important;
}
body #homePage.final-home-page .workflow-home-item.list span{
  margin-top:5px!important;
  font-size:11px!important;
}
body #homePage.final-home-page .workflow-empty.slim{
  padding:36px 4px!important;
  font-size:13px!important;
}
body #homePage.final-home-page .final-tool-column{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
body #homePage.final-home-page .final-tool-card{
  min-height:112px!important;
  padding:16px 13px 14px!important;
  border-radius:22px!important;
}
body #homePage.final-home-page .final-tool-card small{
  font-size:10px!important;
  letter-spacing:.12em!important;
}
body #homePage.final-home-page .final-tool-card strong{
  margin-top:6px!important;
  font-size:16px!important;
  line-height:1.08!important;
  letter-spacing:-.6px!important;
  white-space:normal!important;
}
body #homePage.final-home-page .final-tool-card span{
  margin-top:6px!important;
  font-size:10px!important;
  line-height:1.35!important;
}
body #homePage.final-home-page .final-tool-card b{
  width:32px!important;
  height:32px!important;
  top:16px!important;
  right:12px!important;
  font-size:11px!important;
}
body #homePage.final-home-page .final-news-panel{
  grid-column:2!important;
  grid-row:2!important;
  min-height:240px!important;
  padding:16px 14px 14px!important;
  border-radius:24px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head{
  margin:0 0 10px!important;
  padding:0 0 10px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head h2{
  font-size:19px!important;
  line-height:1.05!important;
  letter-spacing:-.7px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head a{
  height:30px!important;
  min-height:30px!important;
  padding:0 11px!important;
  font-size:10px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-grid{
  grid-template-columns:1fr!important;
  gap:8px!important;
  max-height:150px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  min-height:0!important;
  padding:11px 12px!important;
  border-radius:14px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-tag,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child .home-news-tag{
  min-height:24px!important;
  padding:0 9px!important;
  font-size:10px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card h3,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  margin:8px 0 3px!important;
  font-size:13px!important;
  line-height:1.32!important;
  -webkit-line-clamp:2!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  font-size:14px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card small,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child small{
  margin-top:4px!important;
  font-size:10px!important;
}
/* 큰 타이틀과 더 자연스럽게 어울리도록 패널에 여백감 유지 */
body #homePage.final-home-page .final-hero-content{
  width:min(690px,calc(100vw - 760px))!important;
  max-width:690px!important;
}
@media(max-width:1400px){
  body #homePage.final-home-page .final-dashboard{
    width:min(560px,37vw)!important;
    grid-template-columns:225px 1fr!important;
  }
  body #homePage.final-home-page .final-hero-content{
    width:min(640px,calc(100vw - 650px))!important;
    max-width:640px!important;
  }
}
@media(max-width:1180px){
  body #homePage.final-home-page .final-dashboard{
    top:auto!important;
    right:24px!important;
    left:24px!important;
    bottom:24px!important;
    width:auto!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
  }
  body #homePage.final-home-page .workflow-home-strip,
  body #homePage.final-home-page .final-tool-column,
  body #homePage.final-home-page .final-news-panel{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body #homePage.final-home-page .final-tool-column{grid-template-columns:1fr 1fr!important;}
  body #homePage.final-home-page .final-news-panel .home-news-grid{max-height:150px!important;grid-template-columns:1fr 1fr!important;}
  body #homePage.final-home-page .final-hero-content{width:min(720px,calc(100vw - 60px))!important;max-width:720px!important;}
}
@media(max-width:760px){
  body #homePage.final-home-page .final-dashboard{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    bottom:auto!important;
    margin:18px 14px 42px!important;
  }
  body #homePage.final-home-page .final-tool-column,
  body #homePage.final-home-page .final-news-panel .home-news-grid{grid-template-columns:1fr!important;}
  body #homePage.final-home-page .workflow-home-strip{min-height:0!important;}
  body #homePage.final-home-page .final-news-panel .home-news-grid{max-height:none!important;}
}


/* ===== style block 30 ===== */
/* v19: 오른쪽 레이아웃을 더 세로로 길게, 뉴스는 끊기지 않게 스크롤 표시 */
body #homePage.final-home-page .final-dashboard{
  top:clamp(126px,16vh,156px)!important;
  right:clamp(28px,3.3vw,58px)!important;
  bottom:clamp(34px,4vh,56px)!important;
  left:auto!important;
  width:min(620px,35vw)!important;
  max-width:620px!important;
  height:auto!important;
  min-height:calc(100vh - 190px)!important;
  display:grid!important;
  grid-template-columns:262px minmax(0,1fr)!important;
  grid-template-rows:112px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:stretch!important;
}

/* 메인 타이틀 조금 더 크게 */
body #homePage.final-home-page .final-hero h1.home-main-title{
  font-size:clamp(86px,8.9vw,138px)!important;
  line-height:.9!important;
  gap:24px!important;
  letter-spacing:-3.8px!important;
}
body #homePage.final-home-page .final-hero-content{
  width:min(760px,calc(100vw - 760px))!important;
  max-width:760px!important;
}

/* 확인 필요한 업무: 더 길쭉하게 */
body #homePage.final-home-page .workflow-home-strip{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:100%!important;
  height:100%!important;
  min-height:calc(100vh - 190px)!important;
  max-height:none!important;
  padding:20px 16px 18px!important;
  border-radius:24px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body #homePage.final-home-page .workflow-home-head{
  flex:0 0 auto!important;
  padding-bottom:12px!important;
}
body #homePage.final-home-page .workflow-home-head h2{
  font-size:19px!important;
  line-height:1.14!important;
  letter-spacing:-.75px!important;
}
body #homePage.final-home-page .workflow-home-list{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  padding-right:2px!important;
}
body #homePage.final-home-page .workflow-home-list::-webkit-scrollbar,
body #homePage.final-home-page .final-news-panel .home-news-grid::-webkit-scrollbar{
  width:5px!important;
}
body #homePage.final-home-page .workflow-home-list::-webkit-scrollbar-thumb,
body #homePage.final-home-page .final-news-panel .home-news-grid::-webkit-scrollbar-thumb{
  background:rgba(15,23,42,.20)!important;
  border-radius:999px!important;
}
body #homePage.final-home-page .workflow-home-item.list{
  min-height:74px!important;
  padding:14px 2px!important;
}
body #homePage.final-home-page .workflow-home-item.list strong{
  font-size:13.5px!important;
  line-height:1.38!important;
}
body #homePage.final-home-page .workflow-empty.slim{
  padding:46px 4px!important;
}

/* 우측 상단 도구 카드 */
body #homePage.final-home-page .final-tool-column{
  grid-column:2!important;
  grid-row:1!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  height:100%!important;
}
body #homePage.final-home-page .final-tool-card{
  min-height:112px!important;
  height:112px!important;
  padding:16px 13px 14px!important;
  border-radius:22px!important;
}
body #homePage.final-home-page .final-tool-card strong{
  font-size:16px!important;
  line-height:1.1!important;
  letter-spacing:-.62px!important;
}
body #homePage.final-home-page .final-tool-card span{
  font-size:10px!important;
  line-height:1.35!important;
}
body #homePage.final-home-page .final-tool-card b{
  width:32px!important;
  height:32px!important;
  top:16px!important;
  right:12px!important;
}

/* 주요 기사: 세로로 길게, 뉴스가 많아도 안 끊기고 내부 스크롤 */
body #homePage.final-home-page .final-news-panel{
  grid-column:2!important;
  grid-row:2!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  padding:16px 14px 14px!important;
  border-radius:24px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head{
  flex:0 0 auto!important;
  margin:0 0 10px!important;
  padding:0 0 10px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head h2{
  font-size:20px!important;
  line-height:1.05!important;
  letter-spacing:-.72px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-grid{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  padding-right:2px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  min-height:0!important;
  padding:11px 12px!important;
  border-radius:14px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card h3,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  margin:8px 0 3px!important;
  font-size:13.5px!important;
  line-height:1.34!important;
  -webkit-line-clamp:2!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  font-size:14.5px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card small,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child small{
  margin-top:4px!important;
  font-size:10px!important;
}

html.theme-dark body #homePage.final-home-page .workflow-home-list::-webkit-scrollbar-thumb,
html.theme-dark body #homePage.final-home-page .final-news-panel .home-news-grid::-webkit-scrollbar-thumb{
  background:rgba(148,163,184,.34)!important;
}

@media(max-width:1450px){
  body #homePage.final-home-page .final-dashboard{
    width:min(590px,37vw)!important;
    max-width:590px!important;
    grid-template-columns:248px minmax(0,1fr)!important;
  }
  body #homePage.final-home-page .final-hero-content{
    width:min(700px,calc(100vw - 700px))!important;
    max-width:700px!important;
  }
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(78px,8.2vw,126px)!important;
  }
}
@media(max-width:1180px){
  body #homePage.final-home-page .final-dashboard{
    top:auto!important;
    left:24px!important;
    right:24px!important;
    bottom:24px!important;
    width:auto!important;
    max-width:none!important;
    min-height:auto!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
  }
  body #homePage.final-home-page .workflow-home-strip,
  body #homePage.final-home-page .final-tool-column,
  body #homePage.final-home-page .final-news-panel{
    grid-column:1!important;
    grid-row:auto!important;
    min-height:0!important;
    height:auto!important;
  }
  body #homePage.final-home-page .final-tool-column{grid-template-columns:1fr 1fr!important;}
  body #homePage.final-home-page .final-news-panel .home-news-grid{max-height:150px!important;}
  body #homePage.final-home-page .final-hero-content{width:min(720px,calc(100vw - 60px))!important;max-width:720px!important;}
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(54px,7vw,86px)!important;
    gap:20px!important;
  }
}
@media(max-width:760px){
  body #homePage.final-home-page .final-dashboard{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    bottom:auto!important;
    margin:18px 14px 42px!important;
  }
  body #homePage.final-home-page .final-tool-column,
  body #homePage.final-home-page .final-news-panel .home-news-grid{grid-template-columns:1fr!important;}
  body #homePage.final-home-page .final-news-panel .home-news-grid,
  body #homePage.final-home-page .workflow-home-list{max-height:none!important;}
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(38px,10vw,58px)!important;
    gap:16px!important;
  }
}


/* ===== style block 31 ===== */
/* v20: 메인 제목 살짝 축소 + 확인 필요한 업무 영역만 조금 넓히고 높이는 살짝 줄임 */
body #homePage.final-home-page .final-hero h1.home-main-title{
  font-size:clamp(74px,7.8vw,120px)!important;
  line-height:.91!important;
  letter-spacing:-3.4px!important;
}
body #homePage.final-home-page .final-hero-content{
  width:min(710px,calc(100vw - 760px))!important;
  max-width:710px!important;
}
body #homePage.final-home-page .final-dashboard{
  width:min(640px,36vw)!important;
  max-width:640px!important;
  grid-template-columns:282px minmax(0,1fr)!important;
  bottom:clamp(48px,5.5vh,76px)!important;
  min-height:calc(100vh - 220px)!important;
}
body #homePage.final-home-page .workflow-home-strip{
  min-height:calc(100vh - 220px)!important;
}
body #homePage.final-home-page .workflow-home-head h2{
  font-size:20px!important;
}
@media(max-width:1450px){
  body #homePage.final-home-page .final-dashboard{
    width:min(610px,38vw)!important;
    max-width:610px!important;
    grid-template-columns:268px minmax(0,1fr)!important;
  }
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(70px,7.4vw,112px)!important;
  }
  body #homePage.final-home-page .final-hero-content{
    width:min(680px,calc(100vw - 700px))!important;
    max-width:680px!important;
  }
}
@media(max-width:1180px){
  body #homePage.final-home-page .final-dashboard{
    width:auto!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
    bottom:24px!important;
    min-height:auto!important;
  }
  body #homePage.final-home-page .workflow-home-strip{min-height:0!important;}
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(52px,6.8vw,82px)!important;
  }
}
@media(max-width:760px){
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(37px,9.5vw,54px)!important;
  }
}


/* ===== style block 32 ===== */
/* v21: 왼쪽 메인 제목 추가 축소 + 오른쪽 전체 세로 길이 아주 살짝 축소 */
body #homePage.final-home-page .final-hero h1.home-main-title{
  font-size:clamp(66px,7.05vw,108px)!important;
  line-height:.92!important;
  letter-spacing:-3px!important;
}
body #homePage.final-home-page .final-hero-content{
  width:min(680px,calc(100vw - 760px))!important;
  max-width:680px!important;
}
body #homePage.final-home-page .final-dashboard{
  bottom:clamp(58px,6.4vh,88px)!important;
  min-height:calc(100vh - 240px)!important;
  grid-template-columns:282px minmax(0,1fr)!important;
}
body #homePage.final-home-page .workflow-home-strip{
  min-height:calc(100vh - 240px)!important;
}
body #homePage.final-home-page .workflow-home-item.list{
  min-height:70px!important;
  padding:13px 2px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  padding:10px 12px!important;
}
@media(max-width:1450px){
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(62px,6.75vw,102px)!important;
  }
  body #homePage.final-home-page .final-hero-content{
    width:min(650px,calc(100vw - 700px))!important;
    max-width:650px!important;
  }
  body #homePage.final-home-page .final-dashboard{
    bottom:clamp(56px,6vh,82px)!important;
    min-height:calc(100vh - 238px)!important;
  }
  body #homePage.final-home-page .workflow-home-strip{
    min-height:calc(100vh - 238px)!important;
  }
}
@media(max-width:1180px){
  body #homePage.final-home-page .final-dashboard{
    bottom:24px!important;
    min-height:auto!important;
  }
  body #homePage.final-home-page .workflow-home-strip{min-height:0!important;}
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(48px,6.4vw,76px)!important;
  }
}
@media(max-width:760px){
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(35px,9vw,50px)!important;
  }
}


/* ===== style block 33 ===== */
/* v22: 로그인 화면 왼쪽 문구가 한 글자씩 줄바꿈되는 현상 방지 */
.site-password-inner{
  grid-template-columns:minmax(520px,1.15fr) minmax(360px,440px)!important;
}
.site-password-copy{
  max-width:860px!important;
  min-width:0!important;
}
.site-password-copy h1{
  max-width:100%!important;
  font-size:clamp(38px,4.4vw,70px)!important;
  line-height:1.02!important;
  letter-spacing:-3.2px!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.site-password-copy h1 strong,
.site-password-copy h1 span{
  display:block!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.site-password-copy p{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
@media(max-width:1100px){
  .site-password-inner{
    grid-template-columns:1fr!important;
  }
  .site-password-copy h1{
    font-size:clamp(34px,7vw,52px)!important;
    letter-spacing:-2.2px!important;
  }
  .site-password-copy h1 strong,
  .site-password-copy h1 span{
    white-space:normal!important;
  }
}
@media(max-width:720px){
  .site-password-copy h1{
    font-size:34px!important;
    line-height:1.08!important;
    letter-spacing:-1.6px!important;
  }
}


/* ===== style block 34 ===== */
/* Workflow v25: 진행중/완료 탭 분리 + 문자 발송 내역 접기 */
#wfStatusFilters{align-items:center;gap:8px!important;}
#wfStatusFilters::before{content:'업무 탭';display:inline-flex;align-items:center;height:34px;padding:0 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:1000;border:1px solid #e2e8f0;}
#wfStatusFilters button[data-filter="open"]{background:#07182d!important;color:#fff!important;border-color:#07182d!important;}
#wfStatusFilters button[data-filter="done"]{margin-left:8px;border-color:#bbf7d0!important;color:#047857!important;background:#ecfdf5!important;}
#wfStatusFilters button[data-filter="done"].active{background:#047857!important;color:#fff!important;border-color:#047857!important;}
#wfStatusFilters button[data-filter="all"]{margin-left:8px;}
.workflow-sms-toggle{padding:16px 28px!important;border-bottom:1px solid #e5e7eb;background:#fff;}
.workflow-sms-toggle summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;font-size:13px;font-weight:1000;cursor:pointer;user-select:none;}
.workflow-sms-toggle summary::-webkit-details-marker{display:none;}
.workflow-sms-toggle summary::after{content:'보기';margin-left:8px;padding:2px 7px;border-radius:999px;background:#fff;color:#1e40af;font-size:11px;border:1px solid #dbeafe;}
.workflow-sms-toggle[open] summary::after{content:'닫기';}
.workflow-sms-toggle-body{margin-top:12px;}
.workflow-sms-toggle .workflow-sms-log{padding:0!important;border-bottom:0!important;background:transparent!important;}
html.theme-dark .workflow-sms-toggle{background:#0f172a!important;border-color:rgba(148,163,184,.22)!important;}
html.theme-dark .workflow-sms-toggle summary{background:#1e3a8a!important;color:#dbeafe!important;border-color:rgba(147,197,253,.35)!important;}
@media(max-width:700px){#wfStatusFilters::before{display:none;}#wfStatusFilters button[data-filter="done"],#wfStatusFilters button[data-filter="all"]{margin-left:0;}.workflow-sms-toggle{padding:14px 18px!important;}}


/* ===== style block 35 ===== */
.workflow-sms-log{padding:16px 28px!important;border-bottom:1px solid #e5e7eb;background:#fff;}
.workflow-sms-log h4{margin:0 0 12px;font-size:16px;letter-spacing:-.45px;color:#0f172a;}
.workflow-sms-log-box{padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;margin-bottom:10px;}
.workflow-sms-log-box strong{display:block;margin-bottom:8px;color:#334155;font-size:12px;font-weight:1000;}
.workflow-sms-log-box ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.workflow-sms-log-box li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #e5e7eb;font-size:12px;font-weight:850;}
.workflow-sms-log-box li b{color:#111827;}
.workflow-sms-log-box li span{color:#64748b;text-align:right;word-break:break-all;}
.workflow-sms-log-box li.ok{border-color:#bbf7d0;background:#f0fdf4;}
.workflow-sms-log-box li.ok span{color:#047857;}
.workflow-sms-log-box li.fail{border-color:#fecaca;background:#fef2f2;}
.workflow-sms-log-box li.fail span{color:#b91c1c;}
.workflow-sms-log-box li.dry{border-color:#fed7aa;background:#fff7ed;}
.workflow-sms-log-box li.dry span{color:#c2410c;}
html.theme-dark .workflow-sms-log{background:#0f172a!important;border-color:rgba(148,163,184,.22)!important;}
html.theme-dark .workflow-sms-log h4{color:#f8fafc!important;}
html.theme-dark .workflow-sms-log-box{background:#111827!important;border-color:rgba(148,163,184,.22)!important;}
html.theme-dark .workflow-sms-log-box li{background:#0b1220!important;border-color:rgba(148,163,184,.18)!important;}
html.theme-dark .workflow-sms-log-box li b{color:#e5e7eb!important;}


/* ===== style block 36 ===== */
/* Workflow v26: 요청 등록 파일과 작업 완료 파일 분리 */
.workflow-detail-files{display:grid!important;grid-template-columns:1fr 1fr;gap:12px;background:#fff;}
.workflow-detail-file-group{min-width:0;padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;}
.workflow-detail-file-group>strong{display:block;margin:0 0 8px;color:#334155;font-size:13px;font-weight:1000;letter-spacing:-.25px;}
.workflow-detail-file-group.completion{background:#f0fdf4;border-color:#bbf7d0;}
.workflow-detail-file-group.completion>strong{color:#047857;}
.workflow-detail-file-group .workflow-detail-file{background:#fff;border:1px solid #e5e7eb;}
html.theme-dark .workflow-detail-file-group{background:#111827!important;border-color:rgba(148,163,184,.22)!important;}
html.theme-dark .workflow-detail-file-group.completion{background:#052e1a!important;border-color:rgba(74,222,128,.32)!important;}
html.theme-dark .workflow-detail-file-group>strong{color:#e5e7eb!important;}
html.theme-dark .workflow-detail-file-group.completion>strong{color:#86efac!important;}
@media(max-width:700px){.workflow-detail-files{grid-template-columns:1fr!important;padding:12px 18px!important;}}


/* ===== style block 37 ===== */
/* v28: admin remote HTML patch tray, stored in workflow DB so every logged-in user receives it */
.admin-patch-fab{position:fixed;right:22px;bottom:176px;z-index:220;display:none;align-items:center;justify-content:center;gap:6px;height:46px;padding:0 15px;border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#111827;color:#fff;font-size:13px;font-weight:1000;box-shadow:0 16px 38px rgba(15,23,42,.22);cursor:pointer;backdrop-filter:blur(16px)}
.admin-patch-fab.show{display:flex}.admin-patch-fab:hover{transform:translateY(-2px);background:#0b63f6}.admin-patch-fab small{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#22c55e;color:#fff;font-size:11px;font-weight:1000}.admin-patch-fab small.off{background:#64748b}.admin-patch-fab small.sync{background:#0b63f6}
.admin-patch-dim{position:fixed;inset:0;z-index:230;display:none;align-items:center;justify-content:flex-end;background:rgba(2,8,23,.48);backdrop-filter:blur(7px);padding:18px}.admin-patch-dim.open{display:flex}.admin-patch-panel{width:min(660px,100%);max-height:calc(100vh - 36px);display:flex;flex-direction:column;background:#fff;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.34);overflow:hidden;border:1px solid rgba(255,255,255,.6)}
.admin-patch-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:22px 24px;background:linear-gradient(135deg,#07182d,#12325a);color:#fff}.admin-patch-head strong{display:block;font-size:23px;letter-spacing:-.8px}.admin-patch-head span{display:block;margin-top:6px;color:#cbd5e1;font-size:12px;font-weight:750;line-height:1.5}.admin-patch-close{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:22px;cursor:pointer}.admin-patch-body{padding:18px;overflow:auto;display:grid;gap:12px}.admin-patch-note{padding:13px 14px;border-radius:16px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:12px;font-weight:800;line-height:1.55}.admin-patch-warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.admin-patch-row{display:grid;gap:7px}.admin-patch-row label{color:#334155;font-size:12px;font-weight:1000}.admin-patch-row input[type=file]{border:1px dashed #b6c2d2;border-radius:16px;background:#f8fafc;padding:14px}.admin-patch-row textarea{min-height:260px;border-radius:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre;word-break:normal}.admin-patch-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-patch-actions button{height:38px;border:1px solid #dbe3ef;border-radius:999px;background:#fff;color:#111827;padding:0 14px;font-size:12px;font-weight:1000;cursor:pointer}.admin-patch-actions button.primary{background:#07182d;color:#fff;border-color:#07182d}.admin-patch-actions button.blue{background:#0b63f6;color:#fff;border-color:#0b63f6}.admin-patch-actions button.danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.admin-patch-status{min-height:18px;color:#0b63f6;font-size:12px;font-weight:900}.admin-patch-meta{color:#64748b;font-size:12px;font-weight:800;line-height:1.55}.workflow-user-admin-row[data-uhm-system-patch-row="1"]{display:none!important}
html.theme-dark .admin-patch-panel{background:#111827;color:#e5e7eb;border-color:rgba(148,163,184,.22)}html.theme-dark .admin-patch-row label,html.theme-dark .admin-patch-meta{color:#94a3b8}html.theme-dark .admin-patch-row textarea,html.theme-dark .admin-patch-row input[type=file]{background:#0f172a;color:#e5e7eb;border-color:rgba(148,163,184,.28)}html.theme-dark .admin-patch-actions button{background:#0f172a;color:#e5e7eb;border-color:rgba(148,163,184,.28)}html.theme-dark .admin-patch-actions button.primary{background:#2563eb;color:#fff;border-color:#2563eb}
@media(max-width:700px){.admin-patch-fab{right:14px;bottom:148px;height:42px;padding:0 12px}.admin-patch-dim{align-items:flex-end;padding:10px}.admin-patch-panel{border-radius:22px;max-height:calc(100vh - 20px)}.admin-patch-head{padding:18px}.admin-patch-body{padding:14px}.admin-patch-row textarea{min-height:220px}}

.union-chat-auto-mode{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:1px solid rgba(37,99,235,.18);border-radius:12px;padding:9px 11px;background:rgba(37,99,235,.07);font-size:12px;color:#1f2937}
.union-chat-auto-mode strong{font-size:13px;color:#1d4ed8}
.union-chat-auto-mode small{font-size:11px;color:#64748b;text-align:right}

/* AI chat wider, cleaner single-mode interface */
.union-chat-panel{width:min(760px,calc(100vw - 36px))!important;height:min(780px,calc(100vh - 120px))!important;min-width:420px!important;min-height:520px!important;}
.union-chat-modes,.union-chat-mode-note,.union-chat-auto-mode{display:none!important;}
.union-chat-body{padding:20px!important;gap:14px!important;}
.union-chat-msg{font-size:15px!important;line-height:1.65!important;max-width:92%!important;}
.union-chat-msg.bot{max-width:94%!important;}
.union-chat-msg.user{max-width:82%!important;}
.union-chat-form{padding:14px 16px!important;gap:10px!important;}
.union-chat-form textarea{min-height:52px!important;max-height:170px!important;font-size:15px!important;}
.union-chat-form button,.union-chat-form .union-chat-add{min-height:52px!important;}
@media(max-width:700px){.union-chat-panel{right:10px!important;bottom:82px!important;width:calc(100vw - 20px)!important;height:calc(100vh - 96px)!important;min-width:0!important;min-height:0!important;resize:none!important}.union-chat-msg{max-width:96%!important}.union-chat-msg.user{max-width:88%!important}}


/* AI chat markdown rendering: show bold text and bullets cleanly instead of raw ** / * markers. */
.union-chat-msg.bot{white-space:normal!important;}
.union-chat-msg.bot p{margin:0 0 8px;}
.union-chat-msg.bot p:last-child{margin-bottom:0;}
.union-chat-msg.bot strong{font-weight:950;color:#0f172a;}
.union-chat-msg.bot ul{margin:6px 0 10px 18px;padding:0;}
.union-chat-msg.bot li{margin:3px 0;padding-left:2px;}
.union-chat-msg.bot code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:1px 5px;font-size:.92em;}
.union-chat-msg.bot .chat-md-heading{font-weight:950;margin:4px 0 8px;color:#0f172a;}
.union-chat-msg.bot .chat-md-spacer{height:6px;}

/* AI markdown rendering polish */
.union-chat-msg.bot{white-space:normal!important;}
.union-chat-msg.bot h1,.union-chat-msg.bot h2,.union-chat-msg.bot h3,.union-chat-msg.bot h4,.union-chat-msg.bot h5,.union-chat-msg.bot h6{font-weight:950;color:#0f172a;line-height:1.35;margin:12px 0 8px;}
.union-chat-msg.bot h1{font-size:1.28em}.union-chat-msg.bot h2{font-size:1.2em}.union-chat-msg.bot h3{font-size:1.12em}.union-chat-msg.bot h4,.union-chat-msg.bot h5,.union-chat-msg.bot h6{font-size:1.04em}
.union-chat-msg.bot p{margin:0 0 8px;}
.union-chat-msg.bot p:last-child{margin-bottom:0;}
.union-chat-msg.bot strong{font-weight:950;color:#0f172a;}
.union-chat-msg.bot em{font-style:italic;}
.union-chat-msg.bot del{color:#64748b;}
.union-chat-msg.bot ul,.union-chat-msg.bot ol{margin:6px 0 10px 20px;padding:0;}
.union-chat-msg.bot li{margin:3px 0;padding-left:2px;}
.union-chat-msg.bot blockquote{margin:8px 0;padding:8px 10px;border-left:4px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:8px;}
.union-chat-msg.bot pre{margin:8px 0 10px;padding:10px 12px;overflow:auto;background:#0f172a;color:#e2e8f0;border-radius:12px;white-space:pre;}
.union-chat-msg.bot code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:1px 5px;font-size:.92em;}
.union-chat-msg.bot pre code{background:transparent;border:0;color:inherit;padding:0;font-size:.92em;}
.union-chat-msg.bot a{color:#2563eb;text-decoration:underline;text-underline-offset:2px;word-break:break-all;}
.union-chat-msg.bot hr{border:0;border-top:1px solid #e5e7eb;margin:12px 0;}
.union-chat-msg.bot .chat-md-spacer{height:6px;}
.union-chat-msg.bot .chat-md-table-wrap{overflow:auto;margin:8px 0 10px;border:1px solid #e5e7eb;border-radius:12px;}
.union-chat-msg.bot table{border-collapse:collapse;width:100%;font-size:.94em;background:#fff;}
.union-chat-msg.bot th,.union-chat-msg.bot td{border-bottom:1px solid #e5e7eb;padding:8px 10px;text-align:left;vertical-align:top;}
.union-chat-msg.bot th{background:#f8fafc;font-weight:950;color:#0f172a;}
.union-chat-msg.bot tr:last-child td{border-bottom:0;}
.union-chat-msg.bot .chat-md-check{font-weight:900;color:#334155;}

/* =========================================================
   MOBILE UI FINAL PATCH - 2026-05
   목적: 모바일 접속 시 상단/하단 컨트롤, 홈, 서브페이지, 게시판/일정 UI를 자연스럽게 재배치
   ========================================================= */
@media (max-width: 900px){
  html, body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    -webkit-text-size-adjust:100%!important;
  }
  *, *::before, *::after{box-sizing:border-box!important;}
  img, video, canvas, svg{max-width:100%!important;height:auto;}

  .app-header{
    top:8px!important;
    left:10px!important;
    right:10px!important;
    transform:none!important;
    width:auto!important;
    height:60px!important;
    min-height:60px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:0 12px!important;
    border-radius:20px!important;
    z-index:150!important;
  }
  .brand{
    min-width:0!important;
    flex:1 1 auto!important;
    max-width:calc(100vw - 96px)!important;
    gap:9px!important;
    overflow:hidden!important;
  }
  .brand span:last-child,
  .brand > span:not(.brand-mark){
    display:block!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    font-size:15px!important;
    letter-spacing:-.45px!important;
  }
  .brand-mark{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
    border-radius:13px!important;
  }
  .header-nav{display:none!important;}

  .music-bar{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(10px + env(safe-area-inset-bottom, 0px))!important;
    top:auto!important;
    transform:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:44px!important;
    min-height:44px!important;
    padding:5px 8px!important;
    gap:6px!important;
    justify-content:center!important;
    z-index:140!important;
    border-radius:999px!important;
    box-shadow:0 16px 38px rgba(15,23,42,.18)!important;
  }
  .music-btn,.music-preset-btn{
    width:31px!important;
    height:31px!important;
    flex:0 0 31px!important;
    font-size:11px!important;
  }
  .music-toggle{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px!important;
  }
  .music-volume{min-width:62px!important;gap:5px!important;}
  .music-volume input[type="range"]{width:44px!important;}
  .workflow-global-controls{top:76px!important;right:10px!important;z-index:130!important;}
  .workflow-floating-theme{right:16px!important;bottom:74px!important;z-index:135!important;}
  .admin-patch-fab{right:14px!important;bottom:132px!important;}

  .subpage,
  #tripPage.subpage,
  #salaryPage.subpage,
  #calendarPage.subpage,
  #workflowPage.subpage,
  #newsPage.subpage{
    padding:82px 12px 78px!important;
  }
  .subpage-shell,
  #tripPage .subpage-shell,
  #salaryPage .subpage-shell,
  #calendarPage .subpage-shell,
  .workflow-page .workflow-shell,
  #newsPage .subpage-shell{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
  }
  .subpage-top{
    width:100%!important;
    gap:12px!important;
    padding:16px!important;
    border-radius:20px!important;
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .subpage-title h2,
  #tripPage .subpage-title h2,
  #salaryPage .subpage-title h2,
  #calendarPage .subpage-title h2{
    font-size:26px!important;
    line-height:1.14!important;
    letter-spacing:-1px!important;
    word-break:keep-all!important;
  }
  .back-btn{height:38px!important;padding:0 14px!important;font-size:12px!important;}

  .calculator-frame,
  .spell-checker-frame,
  .calendar-frame,
  .news-frame,
  .workflow-list,
  .workflow-detail-view{
    width:100%!important;
    max-width:100%!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }
  .calculator-frame .wrap,
  #tripPage .calculator-frame .wrap,
  #salaryPage .calculator-frame .wrap{
    width:100%!important;
    max-width:100%!important;
    padding:16px 12px 26px!important;
  }
  .calculator-frame .top,
  #tripPage .calculator-frame .top,
  #salaryPage .calculator-frame .top,
  .calendar-toolbar,
  .workflow-toolbar{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  .actions,
  .calendar-controls,
  .workflow-filter-group,
  .workflow-user-box,
  .workflow-detail-actions{
    width:100%!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    gap:7px!important;
  }
  .actions .btn,
  .calendar-controls .btn,
  .workflow-filter-group button,
  .workflow-user-box button,
  .workflow-detail-actions button{
    flex:1 1 auto!important;
    min-width:max-content!important;
  }
  input, select, textarea, button{
    max-width:100%!important;
  }
  .table-scroll,
  .salary-table-scroll,
  #tripPage table,
  #salaryPage table{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .tool-popup-dim{align-items:flex-end!important;padding:10px!important;}
  .tool-popup{width:100%!important;max-height:calc(100dvh - 28px)!important;border-radius:24px 24px 18px 18px!important;}
  .tool-popup-grid{grid-template-columns:1fr!important;gap:10px!important;}
  .tool-popup-card{min-height:92px!important;padding:18px!important;border-radius:18px!important;}
}

@media (max-width: 760px){
  .final-home{background:linear-gradient(180deg,#07111f 0,#edf2f7 82%)!important;}
  .final-hero{
    height:100svh!important;
    min-height:620px!important;
  }
  .final-hero-shade{
    background:
      linear-gradient(180deg,rgba(5,12,24,.70) 0%,rgba(5,12,24,.42) 34%,rgba(5,12,24,.82) 100%),
      linear-gradient(90deg,rgba(5,12,24,.55),rgba(5,12,24,.08))!important;
  }
  .final-hero-content{
    left:18px!important;
    right:18px!important;
    top:122px!important;
    max-width:none!important;
    width:auto!important;
  }
  .final-hero-kicker{
    height:auto!important;
    min-height:28px!important;
    max-width:100%!important;
    padding:6px 10px!important;
    font-size:10px!important;
    letter-spacing:.8px!important;
    white-space:normal!important;
  }
  .final-hero-kicker span{width:22px!important;flex:0 0 22px!important;}
  .final-hero h1,
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(34px,10.7vw,45px)!important;
    line-height:1.08!important;
    letter-spacing:-2px!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .final-hero-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-top:18px!important;
    width:100%!important;
  }
  .final-hero-actions a{
    min-height:42px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  .final-hero-actions a:first-child{grid-column:1 / -1!important;}
  .final-hero-meta{right:18px!important;bottom:72px!important;}
  .final-hero-meta span{height:34px!important;min-width:66px!important;font-size:12px!important;}

  .final-dashboard,
  body #homePage.final-home-page .final-dashboard{
    width:auto!important;
    margin:18px 12px 84px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    min-height:0!important;
    bottom:auto!important;
  }
  .final-tool-column{grid-template-columns:1fr!important;gap:12px!important;}
  .final-tool-card{
    min-height:116px!important;
    padding:20px 18px!important;
    border-radius:22px!important;
  }
  .final-tool-card strong{font-size:25px!important;letter-spacing:-1px!important;}
  .final-tool-card span{font-size:12px!important;max-width:calc(100% - 62px)!important;}
  .final-tool-card b{right:18px!important;top:28px!important;width:42px!important;height:42px!important;}

  body #homePage.final-home-page .workflow-home-strip,
  .workflow-home-strip{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:18px!important;
    border-radius:22px!important;
  }
  .workflow-home-head{align-items:flex-start!important;gap:10px!important;}
  .workflow-home-head h2{font-size:22px!important;}
  .workflow-home-item.list{padding:14px 0!important;}
  .workflow-home-item.list strong{font-size:15px!important;}

  .final-news-panel{padding:18px!important;border-radius:22px!important;}
  .final-news-panel .home-news-head{gap:10px!important;margin-bottom:14px!important;padding-bottom:14px!important;}
  .final-news-panel .home-news-head h2{font-size:27px!important;}
  .final-news-panel .home-news-grid{grid-template-columns:1fr!important;gap:10px!important;}
  .final-news-panel .home-news-card,
  .final-news-panel .home-news-card:first-child{
    grid-column:auto!important;
    grid-row:auto!important;
    min-height:142px!important;
    padding:17px!important;
    border-radius:18px!important;
  }
  .final-news-panel .home-news-card:first-child h3{font-size:22px!important;}
  .final-news-panel .home-news-card h3{font-size:18px!important;}

  #tripPage .grid,
  #salaryPage .grid.salary-grid,
  .grid,
  .meta-grid,
  #tripPage .meta-grid,
  #salaryPage .meta-grid,
  .workflow-detail-grid,
  .workflow-detail-files{
    grid-template-columns:1fr!important;
  }
  .field.half{grid-column:1 / -1!important;}
  .card h2,
  #tripPage .card h2,
  #salaryPage .card h2{font-size:17px!important;padding:15px 16px!important;}
  .section,
  #tripPage .section,
  #salaryPage .section{padding:15px!important;}
  .summary{padding:15px!important;}

  #calendarPage .calendar-frame{padding:12px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  #calendarPage .calendar-title{font-size:24px!important;}
  #calendarPage .calendar-grid{
    min-width:640px!important;
    width:640px!important;
    border-radius:16px!important;
  }
  #calendarPage .calendar-day{min-height:82px!important;padding:6px!important;}
  #calendarPage .calendar-memo{font-size:9.5px!important;-webkit-line-clamp:3!important;}

  .workflow-toolbar{padding:12px!important;border-radius:16px 16px 0 0!important;}
  .workflow-search{width:100%!important;}
  .workflow-search input{width:100%!important;}
  .workflow-cafe-head{display:none!important;}
  .workflow-cafe-row{
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:14px!important;
    min-height:0!important;
    border-radius:0!important;
  }
  .workflow-cafe-row .title strong{white-space:normal!important;font-size:15px!important;}
  .workflow-cafe-row .no,
  .workflow-cafe-row .state,
  .workflow-cafe-row .date,
  .workflow-cafe-row .view,
  .workflow-cafe-row .accept,
  .workflow-cafe-row .author,
  .workflow-cafe-row .work{text-align:left!important;}
  .workflow-detail-head{padding:18px!important;}
  .workflow-detail-head h3{font-size:24px!important;}
  .workflow-detail-body{padding:18px!important;font-size:15px!important;line-height:1.72!important;}
  .workflow-detail-status{padding:14px 18px!important;align-items:flex-start!important;flex-direction:column!important;}
  .workflow-detail-grid section,.detail-comments{padding:18px!important;}

  #newsPage .news-frame{padding:16px!important;}
  #newsPage .news-list{grid-template-columns:1fr!important;}
  #newsPage .featured-news-card{grid-template-columns:1fr!important;}

  .union-chat-panel{
    left:10px!important;
    right:10px!important;
    bottom:72px!important;
    width:auto!important;
    height:calc(100dvh - 92px)!important;
    max-height:none!important;
    min-width:0!important;
    min-height:0!important;
    border-radius:22px!important;
  }
}

@media (max-width: 430px){
  .brand span:last-child,
  .brand > span:not(.brand-mark){font-size:14px!important;}
  .music-volume{display:none!important;}
  .music-bar{gap:7px!important;}
  .final-hero-content{top:112px!important;}
  .final-hero h1,
  body #homePage.final-home-page .final-hero h1.home-main-title{
    font-size:clamp(31px,10vw,39px)!important;
    letter-spacing:-1.45px!important;
  }
  .final-hero-actions{grid-template-columns:1fr!important;}
  .final-hero-actions a:first-child{grid-column:auto!important;}
  .subpage-title h2,
  #tripPage .subpage-title h2,
  #salaryPage .subpage-title h2,
  #calendarPage .subpage-title h2{font-size:23px!important;}
  .actions .btn,
  .calendar-controls .btn,
  .workflow-filter-group button,
  .workflow-user-box button{width:100%!important;}
}


/* =========================================================
   APP DEPLOYMENT MOBILE UX PATCH - 2026-05
   목적: 실제 앱/WebView/PWA 사용 시 손가락 조작, 하단 내비게이션, 키보드/안전영역, overscroll 불편 최소화
   ========================================================= */
@media (max-width: 900px){
  html{
    overscroll-behavior-y:none!important;
    background:#07111f!important;
  }
  body{
    min-height:100dvh!important;
    overscroll-behavior-y:none!important;
    -webkit-tap-highlight-color:rgba(15,23,42,.08)!important;
    padding-bottom:env(safe-area-inset-bottom, 0px)!important;
  }
  html.auth-locked,
  html.auth-locked body{
    height:100%!important;
    overflow:hidden!important;
  }
  html.auth-locked #sitePasswordGate{
    position:fixed!important;
    inset:0!important;
    height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    z-index:9999!important;
  }
  html.auth-locked .site-password-stage{
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  html.auth-locked .site-password-inner{
    height:100%!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding:92px 18px 94px!important;
  }
  html.auth-locked .site-password-copy{
    display:none!important;
  }
  html.auth-locked .site-password-card-wrap{
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
  }
  html.auth-locked .site-password-card{
    width:100%!important;
    max-width:100%!important;
    border-radius:28px!important;
    padding:28px 22px!important;
  }
  html.auth-locked .site-password-bottom{
    left:14px!important;
    right:14px!important;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px))!important;
    gap:8px!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  html.auth-locked .site-password-bottom .right{display:none!important;}

  input, select, textarea{
    font-size:16px!important;
    min-height:44px!important;
  }
  button, .btn, a[data-link], .header-nav a, .tool-popup-card, .final-tool-card{
    touch-action:manipulation!important;
  }
  .app-header{
    padding-top:env(safe-area-inset-top, 0px)!important;
  }

  /* 모바일 앱에서는 메뉴를 숨기지 않고 하단 탭바로 사용 */
  .header-nav{
    position:fixed!important;
    display:flex!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(8px + env(safe-area-inset-bottom, 0px))!important;
    top:auto!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
    height:58px!important;
    margin:0!important;
    padding:7px!important;
    gap:5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.94)!important;
    border:1px solid rgba(15,23,42,.10)!important;
    box-shadow:0 18px 45px rgba(15,23,42,.22)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    z-index:240!important;
    scrollbar-width:none!important;
  }
  .header-nav::-webkit-scrollbar{display:none!important;}
  .header-nav a{
    flex:0 0 auto!important;
    height:44px!important;
    min-width:58px!important;
    padding:0 12px!important;
    border-radius:16px!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:950!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
    color:#263244!important;
    box-shadow:none!important;
  }
  .header-nav a.active,
  .header-nav a:active,
  .header-nav a:hover{
    background:#07182d!important;
    color:#fff!important;
  }

  /* 음악바는 하단 탭바와 겹치지 않게 한 단계 위로 */
  .music-bar{
    left:12px!important;
    right:12px!important;
    bottom:calc(74px + env(safe-area-inset-bottom, 0px))!important;
    height:40px!important;
    min-height:40px!important;
    padding:4px 8px!important;
    z-index:220!important;
    opacity:.96!important;
  }
  .music-btn,.music-preset-btn{width:30px!important;height:30px!important;flex-basis:30px!important;}
  .music-toggle{width:32px!important;height:32px!important;flex-basis:32px!important;}
  .music-autoplay-hint{
    left:12px!important;
    right:12px!important;
    bottom:calc(122px + env(safe-area-inset-bottom, 0px))!important;
    max-width:none!important;
    text-align:center!important;
  }

  .subpage,
  #tripPage.subpage,
  #salaryPage.subpage,
  #calendarPage.subpage,
  #workflowPage.subpage,
  #newsPage.subpage{
    padding-bottom:148px!important;
  }
  .final-dashboard,
  body #homePage.final-home-page .final-dashboard{
    margin-bottom:154px!important;
  }
  .final-hero-meta{bottom:128px!important;}
  .workflow-floating-theme{bottom:138px!important;}
  .admin-patch-fab{bottom:194px!important;}
  .union-chat-panel{
    bottom:calc(132px + env(safe-area-inset-bottom, 0px))!important;
    height:calc(100dvh - 152px - env(safe-area-inset-top, 0px))!important;
  }

  /* 달력은 앱에서 좌우 스크롤보다 한 화면 표시가 덜 불편함 */
  #calendarPage .calendar-frame{
    overflow:hidden!important;
  }
  #calendarPage .calendar-grid{
    min-width:0!important;
    width:100%!important;
    table-layout:fixed!important;
  }
  #calendarPage .calendar-day{
    min-height:72px!important;
    padding:5px!important;
  }
  #calendarPage .calendar-date{
    font-size:11px!important;
  }
  #calendarPage .calendar-memo{
    font-size:9px!important;
    line-height:1.25!important;
  }

  /* 업무게시판 모바일 카드: 숫자만 나열되는 느낌 방지 */
  .workflow-cafe-row .no::before{content:'번호 ';font-weight:900;color:#64748b;}
  .workflow-cafe-row .state::before{content:'상태 ';font-weight:900;color:#64748b;}
  .workflow-cafe-row .author::before{content:'작성자 ';font-weight:900;color:#64748b;}
  .workflow-cafe-row .date::before{content:'일자 ';font-weight:900;color:#64748b;}
  .workflow-cafe-row .view::before{content:'조회 ';font-weight:900;color:#64748b;}
  .workflow-cafe-row .accept::before{content:'접수 ';font-weight:900;color:#64748b;}

  /* 긴 제목/파일명/뉴스 문구가 화면 밖으로 밀지 않도록 */
  .workflow-cafe-row,
  .workflow-detail-body,
  .home-news-card,
  .final-tool-card,
  .tool-popup-card,
  .news-item,
  .featured-news-card{
    overflow-wrap:anywhere!important;
  }
}

@media (max-width: 430px){
  .header-nav a{
    min-width:54px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }
  .music-bar{
    left:10px!important;
    right:10px!important;
  }
  html.auth-locked .site-password-inner{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}

/* v16: workflow/file edit modal + simplified workflow states; v10 design baseline safe patch */
.workflow-edit-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(15,23,42,.42);backdrop-filter:blur(8px)}
.workflow-edit-backdrop{position:absolute;inset:0}
.workflow-edit-box{position:relative;width:min(680px,100%);max-height:min(760px,calc(100dvh - 44px));overflow:auto;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:28px;box-shadow:0 28px 80px rgba(15,23,42,.28);padding:26px;display:grid;gap:14px}
.workflow-edit-box h3{margin:0;color:#0f172a;font-size:22px;font-weight:1000;letter-spacing:-.6px}
.workflow-edit-box p{margin:0;color:#64748b;font-size:13px;font-weight:750;line-height:1.55}
.workflow-edit-box label{display:grid;gap:8px;color:#334155;font-size:13px;font-weight:900}
.workflow-edit-box input,.workflow-edit-box select,.workflow-edit-box textarea{width:100%;box-sizing:border-box;border:1px solid #dbe3ef;border-radius:16px;padding:13px 14px;background:#f8fafc;color:#0f172a;font-size:16px;font-weight:750;outline:none}
.workflow-edit-box textarea{min-height:180px;resize:vertical;line-height:1.65}
.workflow-edit-box input:focus,.workflow-edit-box select:focus,.workflow-edit-box textarea:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12);background:#fff}
.workflow-edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}
.workflow-detail-actions button[disabled]{opacity:.45;cursor:not-allowed}
.file-cafe-row .download button[data-file-edit]{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}
@media(max-width:640px){.workflow-edit-modal{align-items:flex-end;padding:10px}.workflow-edit-box{border-radius:24px 24px 18px 18px;max-height:calc(100dvh - 20px);padding:20px}.workflow-edit-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.75),#fff 45%);padding-top:12px}.workflow-edit-box textarea{min-height:150px}}


/* ===== v17: 파일함 수정 권한 완화 + 등록/업데이트 일자 표시 ===== */
.file-cafe-row .file-date-stack{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
.file-cafe-row .file-date-stack b{
  font-size:12px!important;
  color:#0f172a!important;
  font-weight:900!important;
}
.file-cafe-row .file-date-stack em{
  font-style:normal!important;
  font-size:11px!important;
  color:#64748b!important;
  font-weight:800!important;
}
.file-cafe-row [data-file-edit]{
  border-color:#bfdbfe!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
}
@media(max-width:720px){
  .file-cafe-row .file-date-stack{
    white-space:normal!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    gap:6px!important;
  }
  .file-cafe-row .file-date-stack b,
  .file-cafe-row .file-date-stack em{font-size:11px!important;}
}

/* v26: 업무게시판/파일함 페이지네이션 + 내부 포털 문구 기준 유지 */
.workflow-list-summary{
  display:flex;align-items:center;justify-content:flex-end;
  margin:0 0 10px;color:#64748b;font-size:12px;font-weight:800;
}
.list-pagination{
  display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;
  margin:18px 0 4px;padding:12px;border-radius:18px;background:rgba(248,250,252,.92);
  border:1px solid rgba(226,232,240,.9);
}
.list-pagination button{
  min-width:34px;height:34px;border-radius:999px;border:1px solid #dbe4f0;background:#fff;
  color:#0f172a;font-size:13px;font-weight:900;cursor:pointer;
}
.list-pagination button.active{background:#0b1b31;color:#fff;border-color:#0b1b31;box-shadow:0 8px 18px rgba(15,23,42,.16);}
.list-pagination button:disabled{opacity:.45;cursor:not-allowed;background:#eef2f7;}
.list-pagination span{color:#94a3b8;font-weight:900;padding:0 2px;}
.list-pagination small{width:100%;text-align:center;color:#64748b;font-size:12px;font-weight:800;margin-top:2px;}
.workflow-home-more{
  display:flex;align-items:center;justify-content:center;min-height:42px;margin-top:10px;border-radius:16px;
  background:#0b1b31;color:#fff!important;text-decoration:none;font-size:13px;font-weight:1000;
}
@media(max-width:640px){
  .workflow-list-summary{justify-content:flex-start;margin-left:2px;}
  .list-pagination{gap:5px;padding:10px 8px;border-radius:16px;}
  .list-pagination button{min-width:32px;height:32px;font-size:12px;}
}


/* ===== v27 auto-login checkbox ===== */
.site-auto-login-check{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:8px!important;
  min-height:32px;
  margin:-2px 0 2px;
  color:rgba(255,255,255,.92)!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.2px;
  cursor:pointer;
  user-select:none;
}
.site-auto-login-check input{
  width:18px!important;
  height:18px!important;
  padding:0!important;
  margin:0!important;
  border-radius:5px!important;
  box-shadow:none!important;
  accent-color:#1f6cff;
}
.site-auto-login-check span{line-height:1;}
.site-password-note::after{
  content:' 자동 로그인은 개인 기기에서만 사용하세요.';
}

/* v28: 내부 파일 AI 요약 버튼 */
.workflow-detail-file-line{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:6px 0;
}
.ai-file-summary-btn,
.file-cafe-row [data-file-ai]{
  border:1px solid rgba(37,99,235,.22);
  background:#eff6ff;
  color:#1d4ed8;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  padding:7px 10px;
  cursor:pointer;
  white-space:nowrap;
}
.ai-file-summary-btn:hover,
.file-cafe-row [data-file-ai]:hover{background:#dbeafe;}
@media(max-width:640px){
  .workflow-detail-file-line{align-items:flex-start;}
  .ai-file-summary-btn,.file-cafe-row [data-file-ai]{font-size:11px;padding:7px 9px;}
}

/* v29: 파일함 액션 버튼 겹침 수정 */
.file-cafe-head,
.file-cafe-row{
  grid-template-columns:88px minmax(180px,1fr) 96px 122px 168px!important;
  column-gap:12px!important;
}
.file-cafe-head .download{
  justify-content:center!important;
  text-align:center!important;
}
.file-cafe-row .download{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  align-items:center!important;
  justify-content:stretch!important;
  min-width:0!important;
}
.file-cafe-row .download a,
.file-cafe-row .download button,
.file-cafe-row [data-file-ai],
.file-cafe-row [data-file-edit],
.file-cafe-row [data-file-delete]{
  width:100%!important;
  min-width:0!important;
  min-height:34px!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  padding:8px 8px!important;
  font-size:12px!important;
  border-radius:999px!important;
}
.file-cafe-row [data-file-ai]{
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border:1px solid #bfdbfe!important;
}
.file-cafe-row [data-file-delete]{
  background:#f8fafc!important;
  color:#475569!important;
  border:1px solid #e2e8f0!important;
}
@media(max-width:980px){
  .file-cafe-head,
  .file-cafe-row{
    grid-template-columns:82px minmax(160px,1fr) 86px 112px 160px!important;
    gap:10px!important;
  }
  .file-cafe-row .download a,
  .file-cafe-row .download button,
  .file-cafe-row [data-file-ai],
  .file-cafe-row [data-file-edit],
  .file-cafe-row [data-file-delete]{font-size:11px!important;padding:7px 6px!important;}
}
@media(max-width:760px){
  .file-cafe-head{display:none!important;}
  .file-cafe-row{grid-template-columns:1fr!important;gap:9px!important;}
  .file-cafe-row .download{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
  }
  .file-cafe-row .download a,
  .file-cafe-row .download button,
  .file-cafe-row [data-file-ai],
  .file-cafe-row [data-file-edit],
  .file-cafe-row [data-file-delete]{
    width:auto!important;
    min-width:72px!important;
  }
}

/* v30: 파일함 갱신 필요일/갱신 완료 표시 */
.file-cafe-row.renewal-due{
  border-color:rgba(239,68,68,.28)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,247,247,.94))!important;
}
.file-cafe-row .renewal-badge{
  display:inline-flex;
  margin-top:8px;
  padding:4px 7px;
  border-radius:999px;
  background:#fff1f2;
  color:#be123c;
  border:1px solid #fecdd3;
  font-style:normal;
  font-size:11px;
  font-weight:1000;
  letter-spacing:-.2px;
}
.file-renewal{
  display:block!important;
  margin-top:5px!important;
  color:#64748b!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.file-renewal b{
  display:inline-flex;
  align-items:center;
  padding:2px 6px;
  margin-right:4px;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-weight:1000;
}
.file-renewal.ok{color:#64748b!important;}
.file-renewal.due{color:#be123c!important;}
.file-cafe-row .download .renew-ok{
  background:#fef2f2!important;
  color:#be123c!important;
  border-color:#fecaca!important;
  font-weight:1000!important;
}
.workflow-edit-box input[type="date"],
.workflow-form input[type="date"]{
  width:100%;
  min-height:42px;
  border:1px solid rgba(148,163,184,.45);
  border-radius:14px;
  padding:0 12px;
  background:#fff;
  font:inherit;
}

/* ===== v32: mobile music bar touch/overflow fix ===== */
@media (max-width: 760px){
  body .app-header{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    left:10px!important;
    right:10px!important;
    transform:none!important;
    overflow:visible!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "brand"
      "music"
      "nav"!important;
    gap:8px!important;
    padding:10px 10px 11px!important;
    border-radius:24px!important;
  }
  body .app-header .brand{
    grid-area:brand!important;
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    justify-content:flex-start!important;
  }
  body .app-header .header-nav{
    grid-area:nav!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    white-space:nowrap!important;
  }
  body .music-bar{
    grid-area:music!important;
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:42px!important;
    min-height:42px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    padding:5px 8px!important;
    margin:0!important;
    overflow:visible!important;
    z-index:80!important;
    pointer-events:auto!important;
    background:rgba(255,255,255,.88)!important;
    color:#07182d!important;
  }
  body .music-bar .music-preset-btn,
  body .music-bar .music-btn,
  body .music-bar .music-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    flex:0 0 32px!important;
    padding:0!important;
    border-radius:999px!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  body .music-bar .music-preset-btn{
    background:#f8fafc!important;
    color:#07182d!important;
    border:1px solid #dbe5f3!important;
  }
  body .music-bar .music-preset-btn.active{
    background:#07182d!important;
    color:#fff!important;
    border-color:#07182d!important;
  }
  body .music-bar #prevTrackBtn,
  body .music-bar #nextTrackBtn{
    display:none!important;
  }
  body .music-bar .music-toggle{
    background:#fff!important;
    color:#07182d!important;
    border:1px solid #e2e8f0!important;
  }
  body .music-bar .music-volume{
    display:flex!important;
    align-items:center!important;
    flex:0 1 96px!important;
    min-width:80px!important;
    max-width:110px!important;
    gap:6px!important;
    margin:0!important;
    padding:0!important;
    pointer-events:auto!important;
  }
  body .music-bar .music-volume span{
    display:inline-block!important;
    color:#07182d!important;
    font-size:14px!important;
    line-height:1!important;
  }
  body .music-bar .music-volume input[type="range"]{
    display:block!important;
    width:74px!important;
    max-width:74px!important;
    height:24px!important;
    pointer-events:auto!important;
    touch-action:pan-x!important;
    accent-color:#07182d!important;
  }
}
@media (max-width: 390px){
  body .app-header{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    left:8px!important;
    right:8px!important;
    padding:9px 8px 10px!important;
  }
  body .music-bar{
    height:40px!important;
    min-height:40px!important;
    gap:5px!important;
    padding:4px 6px!important;
  }
  body .music-bar .music-preset-btn,
  body .music-bar .music-btn,
  body .music-bar .music-toggle{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    flex-basis:30px!important;
  }
  body .music-bar .music-volume{
    flex-basis:82px!important;
    min-width:70px!important;
    gap:4px!important;
  }
  body .music-bar .music-volume input[type="range"]{
    width:58px!important;
    max-width:58px!important;
  }
}

/* Music icon fallback: draw controls with CSS so WebView/Windows font fallback cannot show square tofu glyphs. */
.music-bar .music-btn,
.music-bar .music-toggle{font-size:0!important;position:relative!important;overflow:hidden!important}
.music-bar .music-prev-icon::before,
.music-bar .music-prev-icon::after,
.music-bar .music-next-icon::before,
.music-bar .music-next-icon::after,
.music-bar .music-play-icon::before,
.music-bar .music-pause-icon::before,
.music-bar .music-pause-icon::after,
.music-bar .music-volume-icon::before,
.music-bar .music-volume-icon::after{content:"";display:block;position:absolute;box-sizing:border-box}
.music-bar .music-prev-icon::before{left:8px;top:9px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:9px solid currentColor}
.music-bar .music-prev-icon::after{right:8px;top:9px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:9px solid currentColor}
.music-bar .music-next-icon::before{left:8px;top:9px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:9px solid currentColor}
.music-bar .music-next-icon::after{right:8px;top:9px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:9px solid currentColor}
.music-bar .music-play-icon::before{left:12px;top:9px;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid currentColor}
.music-bar .music-pause-icon::before{left:11px;top:9px;width:4px;height:15px;border-radius:2px;background:currentColor}
.music-bar .music-pause-icon::after{right:11px;top:9px;width:4px;height:15px;border-radius:2px;background:currentColor}
.music-bar .music-volume-icon{display:inline-flex!important;position:relative!important;width:16px!important;height:16px!important;flex:0 0 16px!important;font-size:0!important;color:#07182d!important}
.music-bar .music-volume-icon::before{left:1px;top:5px;width:6px;height:6px;background:currentColor;border-radius:1px}
.music-bar .music-volume-icon::after{left:6px;top:3px;width:9px;height:10px;border:2px solid currentColor;border-left:0;border-radius:0 10px 10px 0}
html.theme-dark .music-bar .music-volume-icon,
.music-bar[style*="rgb(7, 24, 45)"] .music-volume-icon{color:#fff!important}

/* Desktop app login/account polish: keep Windows installer window usable without touching mobile layout. */
@media (min-width: 901px){
  html.auth-locked,
  html.auth-locked body{
    min-height:100%!important;
    height:auto!important;
    overflow:auto!important;
  }
  html.auth-locked #sitePasswordGate{
    min-height:100vh!important;
    height:auto!important;
    overflow:auto!important;
  }
  html.auth-locked .site-password-stage{
    min-height:100vh!important;
    height:auto!important;
    overflow:visible!important;
  }
  html.auth-locked .site-password-inner{
    min-height:100vh!important;
    height:auto!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    padding:34px clamp(28px,4vw,56px) 82px!important;
  }
  html.auth-locked .site-password-card-wrap{
    justify-content:center!important;
    align-self:center!important;
  }
  html.auth-locked .site-password-card{
    max-height:none!important;
  }
  .workflow-global-controls{
    max-width:calc(100vw - 44px)!important;
    gap:8px!important;
    padding-left:14px!important;
  }
  .workflow-global-controls .user{
    flex:0 1 auto!important;
    max-width:240px!important;
    min-width:0!important;
    font-size:13px!important;
  }
  .workflow-global-controls button{
    flex:0 0 auto!important;
  }
}

@media (min-width: 901px) and (max-width: 1100px){
  html.auth-locked .site-password-inner{
    grid-template-columns:minmax(0,760px)!important;
    align-content:start!important;
    gap:24px!important;
    padding-top:34px!important;
  }
  html.auth-locked .site-password-copy{
    max-width:760px!important;
  }
  html.auth-locked .site-password-copy h1{
    font-size:clamp(42px,5.6vw,58px)!important;
    line-height:1.03!important;
    letter-spacing:-2.6px!important;
  }
}

@media (min-width: 901px) and (max-height: 820px){
  html.auth-locked .site-password-inner{
    align-items:start!important;
    padding-top:28px!important;
    padding-bottom:96px!important;
  }
  html.auth-locked .site-password-copy h1{
    font-size:clamp(40px,4.8vw,58px)!important;
  }
  html.auth-locked .site-password-card{
    padding-top:28px!important;
    padding-bottom:28px!important;
  }
}
/* Weekly HWPX worklog export button */
.calendar-worklog-print{width:100%;margin-top:6px;border:1px solid #bfdbfe!important;border-radius:6px!important;background:#eff6ff!important;color:#1d4ed8!important;font-size:10.5px!important;font-weight:900!important;line-height:1.2!important;padding:5px 4px!important;cursor:pointer!important}
.calendar-worklog-print:hover{background:#dbeafe!important}
