:root{
  --navy:#06038D; --navy-2:#04026A; --navy-hover:#1A17A0; --yellow:#FFE600;
  --ink:#14142B; --muted:#55586E; --line:#DDDFEA; --line-2:#ECEDF4; --ground:#F4F5FA; --soft:#F7F8FC;
  --red:#B42318; --green:#0B5B36; --orange:#8A3B00;
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-size:14px;line-height:1.5}
a{color:var(--navy)}a:hover{color:var(--navy-2)}
h1{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
h2{margin:0;font-size:18px;font-weight:700}
h3{margin:0;font-size:15px;font-weight:700}
p{margin:0}

/* layout */
.shell{min-height:100vh;display:flex;flex-wrap:wrap}
.side{flex:1 1 240px;max-width:270px;background:var(--navy);padding:26px 16px;display:flex;flex-direction:column;gap:26px}
.brand{display:flex;align-items:center;gap:12px;padding:0 6px;color:#fff;font-weight:800;font-size:16px;text-decoration:none}
.brand:hover{color:#fff}
.brand small{display:block;font-weight:500;font-size:11.5px;color:#C9CBF2}
.logo{width:38px;height:38px;border-radius:10px;background:var(--yellow);display:flex;align-items:center;justify-content:center;flex:none}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border-radius:10px;color:#DCDDF7;text-decoration:none;font-weight:600}
.nav a:hover{color:#fff;background:var(--navy-hover)}
.nav a.on{background:var(--yellow);color:var(--navy)}
.nav .badge{margin-left:auto;background:var(--yellow);color:var(--navy);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:800}
.nav a.on .badge{background:var(--navy);color:var(--yellow)}
.me{margin-top:auto;border-top:1px solid #2A27A8;padding:16px 6px 0;color:#DCDDF7;font-size:13px}
.me b{color:#fff;display:block}
.me a{color:var(--yellow);font-weight:600;text-decoration:none;margin-right:14px}
.main{flex:999 1 560px;min-width:0;padding:32px 36px 64px}
.wrap{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}
.crumb{font-size:13px;color:var(--muted);margin-bottom:6px}
.crumb a{text-decoration:none}
@media (max-width:820px){.side{max-width:none}.main{padding:22px 16px 48px}}

/* blocks */
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:18px}
.card.tight{padding:0;gap:0;overflow:hidden}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g6{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:900px){.g4,.g6{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr}}
@media (max-width:560px){.g2{grid-template-columns:1fr}}
.span2{grid-column:span 2}
@media (max-width:560px){.span2{grid-column:auto}}
.facts{background:var(--soft);border-radius:12px;padding:16px}
.k{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.v{font-size:14px;font-weight:600;margin-top:3px}
.muted{color:var(--muted)}
.small{font-size:12.5px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.right{justify-content:flex-end}
.between{justify-content:space-between}
.cols{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}
.col-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:22px}
.col-side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:22px}
.pre{white-space:pre-line;line-height:1.65}
.tile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--ink);display:block}
.tile:hover{border-color:var(--navy);color:var(--ink)}
.tile .n{font-size:28px;font-weight:800;margin-top:4px}
.tile.warn{background:#FEF3F2;border-color:#E9B8B3}

/* buttons & forms */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;font:600 14px inherit;font-family:inherit;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-2);color:#fff}
.btn-accent{background:var(--yellow);color:var(--navy)}
.btn-ghost{background:#fff;color:var(--navy);border-color:#C9CBE0}.btn-ghost:hover{border-color:var(--navy)}
.btn-danger{background:#fff;color:var(--red);border-color:#E9B8B3}
.btn-orange{background:var(--orange);color:#fff}
.btn-sm{min-height:36px;padding:0 12px;font-size:13px}
.btn-block{width:100%}
label.lbl,.lbl{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.lbl span{font-weight:500;color:var(--muted)}
.input,select.input,textarea.input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #C9CBE0;border-radius:10px;font:400 14px inherit;font-family:inherit;background:#fff;color:var(--ink)}
textarea.input{resize:vertical;line-height:1.55}
.input:focus{outline:2px solid var(--navy);outline-offset:0;border-color:var(--navy)}
.hint{font-size:12px;color:var(--muted);margin-top:6px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{position:relative}
.pill input{position:absolute;opacity:0;pointer-events:none}
.pill span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid #C9CBE0;background:#fff;font-weight:600;font-size:13px;cursor:pointer}
.pill input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.pill input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}
.drop{border:2px dashed #B9BEF2;border-radius:14px;background:#F7F8FF;padding:20px;text-align:center}

/* status */
.chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.chip-gray{background:#ECECF2;color:#3D3F55}.chip-blue{background:#E3E6FF;color:var(--navy)}
.chip-yellow{background:#FFF4C2;color:#6B5400}.chip-orange{background:#FFE3CC;color:var(--orange)}
.chip-green{background:#D9F2E6;color:var(--green)}.chip-red{background:#FEE4E2;color:var(--red)}
.late{color:var(--red);font-weight:700}
.ok{color:var(--green);font-weight:700}
.note{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:13px 16px;line-height:1.55}
.note-blue{background:#E3E6FF;color:var(--navy)}
.note-yellow{background:#FFF4C2;color:#4A3A00;border:1px solid #E8D27A}
.note-orange{background:#FFF7F0;border:1px solid #F3CBA9}
.note-red{background:#FEF3F2;border:1px solid #E9B8B3;color:#7A1A12}
.flash{border-radius:12px;padding:12px 16px;font-weight:600}
.flash.ok{background:#D9F2E6;color:var(--green)}
.flash.error{background:#FEE4E2;color:var(--red)}

/* tables */
.tbl-wrap{overflow-x:auto}
table.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fff}
.tbl td{padding:12px 16px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl .no{font-weight:800;color:var(--navy);white-space:nowrap;text-decoration:none}
.tbl .t{font-weight:600}
.nowrap{white-space:nowrap}
.dlh{font-size:12.5px;color:var(--muted);min-width:170px}
.empty{padding:28px;text-align:center;color:var(--muted)}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs a{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid #C9CBE0;background:#fff;color:var(--ink);font-weight:600;font-size:13px;text-decoration:none}
.tabs a.on{background:var(--navy);border-color:var(--navy);color:#fff}

/* timeline */
.tl{display:flex;flex-direction:column;gap:14px}
.tl .it{display:flex;gap:12px}
.tl .dot{flex:none;width:10px;height:10px;border-radius:999px;background:var(--navy);margin-top:6px}
.tl .t1{font-weight:600}
.tl .t2{font-size:12.5px;color:var(--muted)}

/* preview */
.pv{background:#EEF0F6;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:16px;min-height:220px}
.pv img{max-width:100%;max-height:640px;border-radius:4px;box-shadow:0 4px 18px rgba(20,20,43,.18);background:#fff}
.thumbs{display:flex;flex-wrap:wrap;gap:10px}
.thumbs a{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;text-decoration:none;font-size:12px}
.thumbs img{display:block;width:120px;height:90px;object-fit:cover}
.thumbs .f{width:120px;height:90px;display:flex;align-items:center;justify-content:center;padding:8px;text-align:center;color:var(--muted);word-break:break-all}

/* score buttons */
.scores{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.scores label{position:relative}
.scores input{position:absolute;opacity:0}
.scores span{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;border:1px solid #C9CBE0;background:#fff;font-weight:800;font-size:16px;cursor:pointer}
.scores input:checked+span{background:var(--navy);border-color:var(--navy);color:var(--yellow)}
.scores input:focus-visible+span{outline:2px solid var(--navy);outline-offset:2px}
@media (max-width:560px){.scores{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* canvas editor */
.cv{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.cv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;background:var(--soft);border-bottom:1px solid var(--line)}
.cv-bar .tool{width:42px;height:42px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}
.cv-bar .tool:hover{background:#fff;border-color:var(--line)}
.cv-bar .tool.on{background:#E3E6FF;border-color:var(--navy);color:var(--navy)}
.cv-bar .sep{width:1px;height:26px;background:var(--line);margin:0 4px}
.cv-bar .sw{width:28px;height:28px;border-radius:999px;border:3px solid #fff;box-shadow:0 0 0 1px #C9CBE0;cursor:pointer;padding:0}
.cv-bar .sw.on{box-shadow:0 0 0 2px var(--navy)}
.cv-bar .grow{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.cv-stage{background:#EEF0F6;background-image:radial-gradient(#D3D6E4 1px,transparent 1px);background-size:18px 18px}
.cv canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}
.cv canvas.sel{cursor:default}
.cv-help{font-size:12px;color:var(--muted);padding:8px 12px;border-top:1px solid var(--line)}

/* login */
.login{min-height:100vh;display:flex;flex-wrap:wrap}
.login .l{flex:1 1 420px;background:var(--navy);color:#fff;padding:56px 48px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.login .r{flex:999 1 480px;display:flex;align-items:center;justify-content:center;padding:48px 20px}
.login .box{width:100%;max-width:400px;display:flex;flex-direction:column;gap:22px}
/* menu */
.nav-sep{margin:14px 14px 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9C9EE0}

/* tabel scroll 10 baris */
.scroll10{overflow:auto}
.scroll10 thead th{position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px 0 var(--line)}
.scroll-note{font-size:12.5px;color:var(--muted);padding:10px 16px;border-top:1px solid var(--line);background:var(--soft)}

/* tab segmen (link / upload) */
.seg{display:inline-flex;border:1px solid #C9CBE0;border-radius:12px;padding:4px;background:var(--soft);gap:4px;margin-bottom:14px;flex-wrap:wrap}
.seg label{position:relative}
.seg input{position:absolute;opacity:0}
.seg span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:9px;font-weight:700;font-size:13px;cursor:pointer;color:var(--muted)}
.seg input:checked+span{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(20,20,43,.15)}
.seg input:focus-visible+span{outline:2px solid var(--navy)}

/* struktur approval */
.tree,.tree ul{list-style:none;margin:0;padding:0}
.tree ul{margin-left:28px;padding-left:18px;border-left:2px solid var(--line)}
.tree li{margin:10px 0;position:relative}
.tree ul>li::before{content:"";position:absolute;left:-18px;top:30px;width:16px;border-top:2px solid var(--line)}
.node{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;max-width:520px;cursor:grab}
.node-coord{border-color:#E8D27A;background:#FFFCEB}
.node.dragging{opacity:.45}
.node.drop-on,.root-drop.drop-on{outline:3px dashed var(--navy);outline-offset:2px;background:#E3E6FF}
.node-head{display:flex;gap:10px;align-items:center}
.node-name{font-weight:700}
.grip{color:#9A9DB5;flex:none}
.node-meta{font-size:12.5px;margin-top:8px;display:flex;flex-direction:column;gap:2px}
.node-move summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--navy);margin-top:8px;display:inline-block}
.root-drop{border:2px dashed #C9CBE0;border-radius:12px;padding:14px;text-align:center;color:var(--muted);font-size:13px}

/* teks di kanvas */
.cv-stage{position:relative}
.cv-text{position:absolute;z-index:5;margin:0;background:transparent;border:0;outline:1.5px dashed rgba(6,3,141,.45);outline-offset:2px;border-radius:2px;padding:4px 8px;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;line-height:1.3;resize:none;overflow:hidden;min-width:140px}

@media print{.side,.no-print{display:none!important}.main{padding:0}}

/* jam 24 jam */
.time24{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.time24 select.input{width:auto;min-width:68px;flex:0 1 auto;padding-right:6px}
.grid>*{min-width:0}
input[type=date].input{min-width:0;max-width:100%}

/* link lampiran */
.links{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.link-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px;width:100%}
@media (max-width:640px){.link-row{grid-template-columns:1fr}}
.link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.link-list li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.link-list svg{flex:none;color:var(--navy);position:relative;top:3px}

/* filter & ubah massal */
.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:1000px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.filters{grid-template-columns:1fr}}
.range{display:flex;gap:6px;align-items:center}
.range .input{min-width:0}
.bulk{position:sticky;top:0;z-index:5;background:#06038D;color:#fff;border-radius:14px;padding:12px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.bulk .input{width:auto;min-height:40px}
.bulk label{font-weight:600;font-size:13px}
.bulk .count{font-weight:800;color:var(--yellow)}

/* galeri preview & daftar file upload */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.gallery-sm{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.gallery a{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;text-decoration:none;color:var(--ink)}
.gallery a:hover{border-color:var(--navy)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#EEF0F6;display:block}
.gallery .pdf{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#EEF0F6;font-weight:800;color:var(--navy)}
.gallery .cap{font-size:12px;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drop.drop-on{border-color:var(--navy);background:#E3E6FF}
.file-list{list-style:none;margin:10px 0 0;padding:0;text-align:left;font-size:13px;max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:3px}
.disk-bar{height:14px;border-radius:999px;background:#ECEDF4;overflow:hidden}
.disk-bar span{display:block;height:100%;background:var(--navy)}
.disk-bar.warn span{background:#B42318}

/* ---------- stage (tahapan) ---------- */
.stages{display:flex;flex-direction:column;gap:10px}
.stage{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #DDDFEA;border-radius:12px;background:#fff}
.stage-active{border-color:#06038D;box-shadow:inset 3px 0 0 #06038D}
.stage-done{background:#F6FBF8;border-color:#BFE3CF}
.stage-planned{border-style:dashed}
.stage-no{flex:none;width:28px;height:28px;border-radius:999px;background:#06038D;color:#FFE600;font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center}
.stage-done .stage-no{background:#0B5B36;color:#fff}
.stage-planned .stage-no{background:#ECEDF4;color:#55586E}
.stage-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0 4px;border-top:2px solid #DDDFEA;margin-top:6px}
.stage-head:first-of-type{border-top:0;margin-top:0;padding-top:0}

/* ---------- kalender ---------- */
.cal-nav{width:40px;height:40px;border-radius:10px;border:1px solid #C9CBE0;background:#fff;cursor:pointer;font:700 16px 'Plus Jakarta Sans',sans-serif;color:#06038D;flex:none}
.cal-nav:hover{border-color:#06038D}
.cal-period{min-width:170px;text-align:center;font-weight:800;font-size:17px}
.cal-tab{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid #C9CBE0;background:#fff;color:#14142B;font:600 13px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer}
.cal-tab.on{background:#06038D;border-color:#06038D;color:#fff}
.cal-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid #C9CBE0;background:#fff;font:600 13px 'Plus Jakarta Sans',sans-serif;cursor:pointer;color:#14142B}
.cal-chip.off{opacity:.45}
.cal-dot{display:inline-block;flex:none;border-radius:999px}
.cal-legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:12.5px;color:#55586E}
.cal-legend>span:not(.k){display:inline-flex;align-items:center;gap:6px}
.cal-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;box-sizing:border-box}
.cal-sel{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:#fff;border:2px solid #06038D;border-radius:14px;padding:14px 18px}
.cal-sel[hidden]{display:none}
.cal-selno{font-size:12px;font-weight:800;color:#06038D}
.cal-selt{font-size:16px;font-weight:800;margin:2px 0}
.cal-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cal-month{background:#fff;border:1px solid #DDDFEA;border-radius:16px;overflow:hidden;min-width:760px}
.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid #ECEDF4}
.cal-week:last-child{border-bottom:0}
.cal-dow{border-bottom:1px solid #DDDFEA}
.cal-dow>div{padding:10px 8px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#55586E}
.cal-dow>.we,.cal-day.we{background:#F7F7FA}
.cal-day{min-height:128px;padding:8px;box-sizing:border-box;min-width:0;border-right:1px solid #ECEDF4}
.cal-day:last-child{border-right:0}
.cal-day.today{background:#FFFBE0;box-shadow:inset 0 0 0 2px #E8C200}
.cal-day.out{opacity:.45}
.cal-dhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.cal-num{font-size:13px;font-weight:800}
.cal-day.today .cal-num{background:#06038D;color:#FFE600;border-radius:999px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}
.cal-load{font-size:10.5px;font-weight:700;color:#55586E}
.cal-items{display:flex;flex-direction:column;gap:3px}
.cal-ev{display:flex;align-items:center;gap:6px;width:100%;text-align:left;border:0;border-radius:6px;padding:3px 6px;font:600 11.5px 'Plus Jakarta Sans',sans-serif;cursor:pointer;white-space:nowrap;overflow:hidden;min-height:22px;box-sizing:border-box}
.cal-ev .t{overflow:hidden;text-overflow:ellipsis}
.cal-more{border:0;background:none;padding:2px 6px;text-align:left;font:700 11px 'Plus Jakarta Sans',sans-serif;color:#06038D;cursor:pointer}
.cal-box{background:#fff;border:1px solid #DDDFEA;border-radius:16px}
.cal-tlrow{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid #ECEDF4}
.cal-tlrow:last-child{border-bottom:0}
.cal-tlhead{border-bottom:1px solid #DDDFEA}
.cal-who{padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.cal-tlgrid{display:grid;grid-template-columns:repeat(14,minmax(0,1fr))}
.cal-tlh{padding:8px 0;text-align:center;border-left:1px solid #ECEDF4}
.cal-tlh>div{font-size:10.5px;font-weight:700;text-transform:uppercase}
.cal-tlh>b{font-size:15px}
.cal-tlh.we{background:#F7F7FA;color:#77798D}
.cal-tlh.now{color:#06038D}
.cal-area{position:relative}
.cal-gc{position:absolute;top:0;bottom:0;border-left:1px solid #ECEDF4}
.cal-gc.we{background:#F7F7FA}
.cal-nowline{position:absolute;top:0;bottom:0;width:2px;background:#E8C200;z-index:1}
.cal-loadbar{height:6px;border-radius:999px;background:#ECEDF4;overflow:hidden}
.cal-loadbar>div{height:100%;border-radius:999px}
.cal-bar{position:absolute;height:28px;border-radius:7px;border:0;padding:0 8px;font:700 12px 'Plus Jakarta Sans',sans-serif;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;box-sizing:border-box;z-index:2}
.cal-bar span{opacity:.75;font-weight:600}
.cal-agenda{display:flex;flex-direction:column;gap:12px}
.cal-agday{background:#fff;border:1px solid #DDDFEA;border-radius:14px;padding:14px 18px;display:flex;gap:18px;flex-wrap:wrap}
.cal-agwhen{width:120px;flex:none}
.cal-agnum{font-size:22px;font-weight:800}
.cal-aglist{flex:1 1 360px;display:flex;flex-direction:column;gap:8px;min-width:0}
.cal-agit{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid #ECEDF4;border-radius:10px;padding:10px 12px;cursor:pointer;font:500 14px 'Plus Jakarta Sans',sans-serif;color:#14142B;box-sizing:border-box;flex-wrap:wrap}
.cal-agit .tm{width:48px;flex:none}
.cal-agit .t{flex:1 1 180px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
@media (max-width:640px){.cal-period{min-width:0;font-size:15px}.cal-agwhen{width:auto}}
