/* BenchCadence Studio — visual system v1. No application logic changed. */
:root{--ink:#182123;--muted:#697272;--faint:#9aa3a1;--line:#e4e7e4;--bg:#f5f6f3;--card:#ffffff;--navy:#202c30;--blue:#526d62;--blue-soft:#ecf2ee;--shadow:none;font-synthesis:none}
body{background:var(--bg);color:#1a2625;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-size:13.5px;letter-spacing:-.005em}
.shell{min-height:100vh;align-items:stretch}
.sidebar{background:#202a2a!important;border-right:0!important;color:#c3cecb!important;padding:31px 17px!important;box-shadow:6px 0 25px #1b2b2b08}
.brand{padding:0 10px 28px!important;gap:12px!important}
.brand-logo{background:#e2efdf!important;color:#192a22!important;border-radius:13px!important;font-weight:900!important;letter-spacing:-.13em!important;font-family:Georgia,serif!important;font-size:22px!important;transform:rotate(-6deg);border:1px solid #f9fff2}
.brand-logo span{color:#718f76!important}
.brand strong{color:#f2f5f0!important;font-size:15px!important;letter-spacing:-.038em!important}
.brand small{color:#91a7a0!important;letter-spacing:.18em!important;font-size:9px!important}
.nav-section{color:#78948a!important;margin:21px 12px 10px!important;letter-spacing:.15em!important;font-size:10px!important;font-weight:700!important}
.sidebar .nav{border:0!important;color:#bbc8c2!important;transition:background .2s,color .2s,transform .2s!important;border-radius:10px!important;margin:3px 0!important;padding:11px 13px!important;box-shadow:none!important}
.sidebar .nav:hover{background:#2c3a37!important;color:white!important;transform:translateX(2px)}
.sidebar .nav.active{background:#dce9dd!important;color:#1a3129!important;font-weight:750!important}
.sidebar .nav-icon{font-size:16px!important;opacity:.85;width:21px!important}
.nav-counter:not(:empty){background:#c4d5c8!important;color:#1d3228!important}
.sidebar-bottom{border-top:1px solid #3c4c48!important;color:#c3d0c9!important;padding:20px 10px!important;margin-top:auto!important;font-size:11px!important}
.sidebar-bottom #saveStatus{color:#edf5ea!important}
.privacy-note{color:#8da69b!important;line-height:1.5!important}
.local-dot{background:#b6deaa!important}
.content{background:transparent!important;padding:38px clamp(20px,3.5vw,60px) 72px!important;max-width:none!important}
.header{border:0!important;padding:0 0 32px!important;margin:0 0 22px!important;gap:16px!important;align-items:center!important}
.eyebrow{font-size:10px!important;letter-spacing:.19em!important;font-weight:800!important;color:#7a8b81!important}
.sep{color:#c0c8be!important}
.header h1{font-family:Georgia,"Yu Mincho",serif!important;font-size:clamp(30px,3.4vw,44px)!important;font-weight:600!important;letter-spacing:-.05em!important;color:#202c2b!important;line-height:1.15!important;margin:6px 0 7px!important}
.header p{font-size:13px!important;color:#6b7974!important}
.header-actions{display:flex;gap:8px!important;align-items:center!important;justify-content:flex-end}
.language-discovery{border:0!important;background:transparent!important;border-radius:8px!important;font-size:11px!important;font-weight:650!important;color:#677b73!important;padding:8px 9px!important;letter-spacing:0!important}
.language-discovery:hover{background:#e9eeea!important}
.header-actions .language-discovery:nth-child(-n+2){border:1px solid #dce4dd!important;background:#fff!important}
.header-actions .language-discovery[data-lang]:hover{border-color:#859a88!important}
.button{font-weight:650!important;font-size:12px!important;border-radius:9px!important;padding:10px 16px!important;min-height:36px!important;box-shadow:none!important;transition:transform .16s,background .2s,border-color .2s!important}
.button:hover{transform:translateY(-1px)}
.button.primary{background:#263f36!important;color:#fbfdf9!important;border-color:#263f36!important}
.button.primary:hover{background:#365848!important}
.button.outline{border:1px solid #d8e1d9!important;background:#fff!important;color:#3d5850!important}
.button.subtle{background:#e8eeea!important;color:#496357!important}
.button.tiny{padding:5px 9px!important;min-height:27px!important;font-size:11px!important}
.panel{background:#fff!important;border:1px solid #e5e9e4!important;border-radius:14px!important;box-shadow:0 2px 8px #142a1c04!important}
.welcome{background:#e9efe9!important;border-color:#d3e0d3!important}
.welcome strong{font-size:16px!important}
.welcome p{color:#5d7568!important}
.stats{gap:10px!important;margin:20px 0 17px!important}
.stat{border:1px solid #e7eae5!important;background:#fdfefd!important;border-radius:12px!important;padding:18px 19px!important;box-shadow:none!important}
.stat strong{font-family:Georgia,serif!important;font-weight:500!important;font-size:30px!important;letter-spacing:-.05em!important;color:#253a33!important}
.stat span{font-size:11px!important;color:#758278!important}
.stat small{font-size:10px!important;color:#87948c!important}
.template-access{margin:0 0 14px!important;border-radius:12px!important;background:#eff3ee!important;border:1px solid #e1e9df!important;box-shadow:none!important;padding:14px 19px!important}
.template-access strong{font-size:13px!important;color:#223b30!important}
.template-access p{color:#71847a!important}
.calendar-layout{gap:16px!important}
.main-calendar{padding:17px 17px 19px!important}
.calendar-bar{gap:16px!important;margin:0 0 15px!important;padding:0 2px 12px!important;border-bottom:1px solid #e8ede7!important}
.month-controls h2{font-family:Georgia,"Yu Mincho",serif!important;font-size:23px!important;font-weight:600!important;letter-spacing:-.03em!important;color:#27352e!important}
.icon-button{border:1px solid transparent!important;background:#f3f6f1!important;color:#45554b!important;border-radius:8px!important;width:30px!important;height:30px!important}
.icon-button:hover{background:#e7ede4!important}
.segments{background:#f0f3ef!important;border-radius:9px!important;padding:3px!important;border:0!important}
.segments button{border:0!important;padding:5px 13px!important;border-radius:7px!important;color:#728279!important;font-size:11px!important}
.segments button.active{background:white!important;color:#293f32!important;box-shadow:0 1px 4px #1e332516!important}
.legend{padding:0 1px 15px!important;gap:13px!important}
.filter{font-size:10.5px!important;color:#66766d!important}
.weekdays{background:#fafbf9!important;border-top:1px solid #e7eae5!important;border-bottom:1px solid #e7eae5!important;color:#718179!important}
.weekdays span{font-size:10px!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase}
.month-grid{border:0!important;background:#e6ebe5!important;gap:1px!important;overflow:hidden;border-radius:0 0 10px 10px!important}
.day{background:white!important;border:0!important;min-height:116px!important;padding:9px!important;transition:background .2s!important}
.day:hover{background:#f8faf7!important}
.day.outside{background:#fbfcfa!important}
.day.selected{background:#f1f6ef!important;box-shadow:inset 0 0 0 1px #b2c8b5!important}
.day.today{background:#f6f9f4!important}
.date-label{font-size:11px!important;color:#67796d!important}
.today .date-label>span{background:#284536!important;color:white!important;border-radius:7px!important}
.event-pill{border-radius:5px!important;border:0!important;border-left:3px solid var(--event-color)!important;background:color-mix(in srgb,var(--event-color) 9%,white)!important;color:#2e403a!important;font-size:10px!important;font-weight:600!important;line-height:1.4!important;box-shadow:none!important;padding:5px 7px!important}
.event-pill:hover{filter:brightness(.97)}
.event-pill.important{box-shadow:inset 0 0 0 1px #d8b985!important}
.event-pill.done{opacity:.46!important}
.more{font-size:10px!important;color:#65796a!important}
.right-panel{gap:12px!important}
.aside-card{padding:20px!important}
.section-title{margin-bottom:15px!important;padding-bottom:12px!important;border-bottom:1px solid #edf0ec!important}
.section-title h3{font-size:12px!important;letter-spacing:.015em!important;font-weight:750!important}
.event-row{padding:11px 0!important;border-bottom:1px solid #f0f3ef!important;gap:9px!important}
.event-row .button{border:1px solid #e8ece7!important;background:#fbfcfa!important}
.event-title{font-size:12px!important;font-weight:650!important;color:#34463c!important}
.event-text small,.short-item small{color:#93a095!important;font-size:10.5px!important}
.flag{background:#f3eee3!important;color:#a07833!important;border-radius:4px!important}
.weekend{background:#f7eee9!important;color:#a76552!important}
.short-item{padding:11px 0!important}
.link-button{font-size:11px!important;color:#456e57!important;font-weight:650!important}
.count{font-size:10px!important;color:#73877a!important;background:#f0f4ef!important}
.footnote{font-size:10.5px!important;color:#94a197!important}
.section-head{margin-bottom:24px!important}
.section-head h2{font-family:Georgia,"Yu Mincho",serif!important;font-weight:550!important;font-size:30px!important;color:#263a2d!important}
.cards{gap:14px!important}
.culture-card{border-radius:13px!important;box-shadow:none!important}
.culture-card h3{font-size:18px!important}
.task-panel,.setting-card{padding:25px!important}
.setting-card h3{font-size:15px!important;color:#2e3e33!important}
.field>label{font-size:11px!important;color:#506b57!important;font-weight:800!important}
.field input,.field select,.field textarea{border:1px solid #d8e3d9!important;border-radius:9px!important;background:#fcfefb!important;color:#233829!important;box-shadow:none!important}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #b9d1b8!important;border-color:#7c9a7a!important}
.modal-backdrop{backdrop-filter:blur(5px)!important;background:#16221db3!important}
.modal{border-radius:18px!important;box-shadow:0 35px 90px #0d1c1c33!important}
.modal-head{padding-bottom:15px!important;border-bottom:1px solid #ecf0eb!important}
.modal-head h2{font-family:Georgia,"Yu Mincho",serif!important;font-size:23px!important}
.template-card{border-color:#e3e9e2!important;background:#fcfdfb!important;border-radius:12px!important;box-shadow:none!important}
.template-card:hover{border-color:#9ebba1!important;background:#f6faf5!important}
.template-type{letter-spacing:.12em!important;color:#708b76!important}
.template-action{color:#47755d!important}
.gap-suggestions{background:#f2f6ef!important;border:1px solid #dce8dc!important;box-shadow:none!important;border-radius:13px!important}
.gap-suggestions-symbol{background:#ddebdc!important;color:#385f48!important}
.gap-suggestion{border-color:#e4eee2!important}
.critical-banner{border-radius:10px!important}
.year-grid,.settings-grid{gap:14px!important}
.mobile-nav{background:#fafcf8!important;border-top:1px solid #e0e8df!important;box-shadow:0 -6px 22px #1d2f2106!important}
.mobile-nav button.active{color:#285642!important}
.privacy-card{box-shadow:none!important}
@media(max-width:1180px){.content{padding:30px 26px 70px!important}.day{min-height:104px!important}}
@media(max-width:800px){.content{padding:23px 20px 75px!important}.header h1{font-size:30px!important}.header-actions{gap:5px!important}.sidebar{padding:22px 8px!important}}
@media(max-width:650px){.shell{display:block!important}.content{padding:23px 14px 95px!important}.header{align-items:flex-start!important;gap:10px!important}.header h1{font-size:29px!important}.header-actions{justify-content:flex-start!important;flex-wrap:wrap!important}.header-actions .language-discovery{font-size:10px!important;padding:6px!important}.main-calendar{padding:9px 7px 11px!important}.month-controls h2{font-size:20px!important}.day{min-height:78px!important;padding:4px!important}.event-pill{font-size:9px!important;padding:3px 4px!important}.aside-card{padding:16px!important}.stats{gap:7px!important}.stat{padding:12px!important}.stat strong{font-size:24px!important}.template-access{padding:12px!important}.mobile-nav{z-index:50!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Guide and navigation */
.guide-intro{max-width:760px;margin:20px 0 28px}.guide-intro h2{font-size:clamp(24px,3vw,36px);line-height:1.25}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.guide-step,.guide-faq,.guide-notice{padding:22px;border:1px solid #e0e9df;border-radius:16px;background:#fff}.guide-step>span{font-size:12px;font-weight:800;color:#376e5c}.guide-step h3{margin:10px 0}.guide-step p{line-height:1.75;color:#51655c}.guide-step .button{margin-top:12px}.guide-faq details{border-top:1px solid #e1e9e5;padding:13px 0}.guide-faq summary{cursor:pointer;font-weight:700}.guide-notice{margin:18px 0;background:#fffdf2;border-color:#ddd9bd}.guide-en{display:none}html[lang=en] .guide-en{display:block}html[lang=en] .guide-ja{display:none}@media(max-width:760px){.guide-grid{grid-template-columns:1fr}.mobile-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}.mobile-nav button{min-width:0}.mobile-nav button span{font-size:9px}}
/* Branded app mark replaces the legacy Bc. placeholder without changing data or markup. */
.sidebar .brand-logo{font-size:0!important;color:transparent!important;background:#102d28 url('/mark.svg') center/cover no-repeat!important;border-radius:12px!important;overflow:hidden!important;box-shadow:none!important}.sidebar .brand-logo span{display:none!important}

.guide-disciplines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.guide-discipline{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:15px;min-width:0;border:1px solid #dce7df;background:#fff;border-radius:17px;overflow:hidden}.guide-discipline img{display:block;width:100%;height:100%;min-height:116px;object-fit:cover}.guide-discipline div{padding:13px 14px 13px 0}.guide-discipline strong{font-size:14px;color:#1f4238}.guide-discipline p{font-size:12px;line-height:1.6;color:#607366;margin:7px 0 0}.guide-notes{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.guide-notes button{flex-shrink:0}@media(max-width:1080px){.guide-discipline{grid-template-columns:1fr}.guide-discipline img{max-height:130px}.guide-discipline div{padding:0 16px 15px}}@media(max-width:650px){.guide-disciplines{grid-template-columns:1fr}.guide-discipline{grid-template-columns:128px minmax(0,1fr)}.guide-discipline img{max-height:none;height:100%}.guide-discipline div{padding:10px 10px 10px 0}}

/* Hidden template search items must not inherit flex display. */
.template-card[hidden]{display:none!important}

/* Life-event overlap notice (time-specific events only). */
.collision-note{border:1px solid #dfbd88;border-left:4px solid #c99a54;border-radius:11px;background:#fff9ee;color:#654d2f;padding:12px 14px;margin:0 0 12px}.collision-note strong{display:block;font-size:12px}.collision-note p{margin:6px 0 0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
