/* Keep the official palette local to the App; theme root variables must not recolor member tools. */
.ssk-page,.ssk-app{--ink:#4A4A4A;--muted:#687d88;--ssk-blue:#3498DB;--blue:var(--ssk-blue);--blue-dark:#1C678F;--sky:#EDF7FD;--line:#dfebef;--yellow:#FFD93D;--paper:#f5f9fb;--danger:#a53636}
.ssk-page{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;line-height:1.7}.ssk-app *{box-sizing:border-box}.ssk-app a{color:var(--blue-dark);text-decoration:none}.ssk-app button,.ssk-app input,.ssk-app select{font:inherit}.ssk-app button,.ssk-app a,.ssk-app input,.ssk-app select{outline-offset:4px}.ssk-app button{cursor:pointer}.ssk-app button:disabled{cursor:wait;opacity:.55}.ssk-app h1,.ssk-app h2,.ssk-app h3,.ssk-app p{margin:0}.ssk-app .muted{color:var(--muted)}.brand{display:flex;gap:12px;align-items:center;font-weight:750;font-size:19px;letter-spacing:.02em;color:var(--ink)!important}.brand-app{margin-left:6px;font-size:15px;color:var(--blue)}.brand-symbol{width:38px;height:38px;position:relative;background:var(--blue);color:white;border-radius:0;text-align:center;font:italic 700 35px Georgia;line-height:34px;display:block}.brand-symbol span{position:absolute;right:-3px;top:-3px;width:11px;height:11px;background:var(--yellow);border:3px solid white;border-radius:50%}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-story{position:relative;overflow:hidden;background:var(--sky);padding:48px clamp(35px,5vw,85px);display:flex;flex-direction:column}.story-copy{margin-top:75px;z-index:1}.eyebrow{font-size:13px;letter-spacing:.1em;font-weight:700;color:var(--blue-dark)}.story-copy h1{font-size:clamp(36px,3.7vw,57px);line-height:1.5;letter-spacing:.055em;margin:18px 0}.story-copy h1 span{background:linear-gradient(transparent 73%,var(--yellow) 73%,var(--yellow) 91%,transparent 91%)}.story-text{font-size:14px;line-height:2.1;color:var(--muted)}.story-art{background:white;box-shadow:0 14px 50px #4183a112;border:1px solid #d9edf5;width:245px;padding:22px;border-radius:0;align-self:flex-end;transform:rotate(-5deg);margin:26px 0 32px;z-index:1}.art-label{font-size:11px;letter-spacing:.2em;color:var(--muted);font-weight:800}.art-chart{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:100px;margin:12px 0}.art-chart>i{background:#3498DB;border-radius:0}.art-chart>div{display:flex;flex-direction:column;gap:5px}.art-chart>div i{flex:1;background:#D6EDFC;border-radius:0}.art-chart>div i:nth-child(2){flex:1.5;background:#9DCFEF}.art-chart>div i:nth-child(3){background:var(--yellow)}.art-caption{font-size:11px}.story-footer{font-size:11px;color:var(--muted);margin-top:auto!important}.login-panel{padding:45px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fff}.login-card{width:100%;max-width:385px;margin:auto 0}.small-pill{display:inline-block;border:1px solid #d2e8f0;border-radius:0;color:var(--blue-dark);font-size:10px;font-weight:700;letter-spacing:.13em;padding:5px 13px}.login-card h2{font-size:29px;letter-spacing:.04em;margin:22px 0 9px}.login-card>.muted{font-size:13px;line-height:1.9;margin-bottom:35px}.login-card form label{display:block;font-size:12px;font-weight:650;margin:20px 0 8px}.login-card form input[type=text],.login-card form input[type=password]{width:100%;border:1px solid #cfdfe6;border-radius:0;height:50px;padding:10px 14px;background:#fcfdfe;color:var(--ink)}.login-card form input:focus{border-color:var(--blue);outline:2px solid #ceeaf5}.login-card form .login-remember label{font-weight:400;display:flex;align-items:center;gap:7px;color:var(--muted)}.login-card form input[type=submit],.button{display:inline-block;text-align:center;background:var(--blue);color:white!important;border:0;border-radius:0;padding:12px 22px;font-weight:650;transition:background .15s}.login-card form input[type=submit]{width:100%;height:51px;margin-top:12px;cursor:pointer}.button:hover,.login-card form input[type=submit]:hover{background:var(--blue-dark)}.forgot{display:block;text-align:center;font-size:12px;margin:22px 0 32px}.login-note{border-top:1px solid var(--line);padding-top:23px;text-align:center;font-size:11px;color:var(--muted)}.copyright{font-size:11px;color:#8b9ba4;margin-top:38px!important}.app-header{height:84px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(30px,calc((100vw - 1180px)/2));gap:20px}.account{display:flex;gap:22px;align-items:center;font-size:13px}.logout{font-size:12px;color:var(--muted)!important}.app-status{max-width:1180px;margin:auto;font-size:13px;color:var(--muted);padding:12px 28px;min-height:46px}.app-status.error{color:var(--danger)}.app-content,.home,.workspace{max-width:1180px;margin:auto;padding:15px 28px 70px}.home-heading{display:flex;align-items:center;justify-content:space-between;margin:16px 0 30px}.home h1{font-size:30px;letter-spacing:.045em;margin:7px 0}.home-heading p{font-size:14px;color:var(--muted)}.home-date{font-size:13px;color:var(--muted);border-left:2px solid var(--yellow);padding-left:18px}.welcome-banner{border:1px solid #d8ebf2;border-radius:0;background:linear-gradient(110deg,#e3f3fa,#f3fafc);padding:33px 38px;margin-bottom:38px;position:relative;overflow:hidden}.welcome-banner h2{font-size:22px;line-height:1.7;position:relative;z-index:1}.welcome-banner p{margin-top:9px;color:var(--muted);font-size:13px}.welcome-banner:after{content:'';width:140px;height:140px;border:30px solid #FFD93D66;border-radius:50%;position:absolute;right:55px;top:25px}.section-label{font-size:15px;margin:0 0 18px!important;display:flex;align-items:center;gap:12px}.section-label span{font-size:11px;font-weight:400;color:var(--muted)}.apps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.app-card{border:1px solid var(--line);background:white;border-radius:0;padding:27px;box-shadow:0 4px 15px #224b6610;text-align:left;color:var(--ink);display:block}.app-card:hover{border-color:#86bad0;transform:translateY(-2px)}.app-icon{display:flex;align-items:flex-end;justify-content:center;gap:5px;background:var(--sky);width:62px;height:62px;border-radius:0;padding:16px;margin-bottom:21px}.app-icon i{display:block;width:9px;height:19px;background:#82c2db;border-radius:0}.app-icon i:nth-child(2){height:30px;background:var(--blue)}.app-icon i:nth-child(3){height:24px;background:var(--yellow)}.app-card h3{font-size:21px}.app-card p{font-size:13px;color:var(--muted);line-height:1.9;margin:11px 0 25px}.card-link{color:var(--blue-dark);font-size:13px;font-weight:700;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px}.app-footer{max-width:1124px;border-top:1px solid var(--line);margin:auto;padding:22px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.workspace-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.back{font-size:12px}.workspace h1{font-size:28px;margin-top:12px}.period-controls{display:flex;gap:12px;align-items:center}.period-controls label,.settings-label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.ssk-app select,.ssk-app input[type=month],.settings-panel input{background:white;border:1px solid #ccdfe7;border-radius:0;padding:9px 12px;color:var(--ink)}.strac-grid{display:grid;grid-template-columns:320px 1fr;gap:25px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:0;padding:24px}.panel h2{font-size:17px;margin-bottom:16px}.input-group{border:0;border-bottom:1px solid var(--line);margin:0 0 18px;padding:0 0 14px}.input-group legend{font-size:12px;color:var(--blue-dark);font-weight:700;margin-bottom:12px}.number-field{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:10px;font-size:12px}.number-field input{width:138px;min-width:0;text-align:right;border:1px solid #d5e2e8;border-radius:0;padding:7px 9px;color:var(--ink);font-variant-numeric:tabular-nums}.input-caption{font-size:11px;color:var(--muted);margin-bottom:18px!important}.wide{width:100%}.results-top{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:21px}.metric{padding:20px 15px;background:white;border:1px solid var(--line);border-radius:0}.metric-label{color:var(--muted);font-size:11px;display:block}.metric strong{font-size:24px;font-variant-numeric:tabular-nums;display:block;margin-top:7px;white-space:nowrap}.metric strong small{font-size:11px;font-weight:400;margin-left:3px}.metric.highlight{background:var(--sky);border-color:#c6e4f0}.metric.negative strong,.negative{color:var(--danger)}.chart-heading{display:flex;justify-content:space-between;gap:10px}.chart-heading small{color:var(--muted);font-size:11px}.strac-figure{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.strac-revenue{background:#3498DB;min-height:300px;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#123f54}.strac-revenue strong{font-size:25px}.strac-stack{display:flex;flex-direction:column;gap:5px;min-height:300px}.strac-block{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;padding:12px;background:#e5f2f7;border-radius:0;min-height:42px}.strac-block strong{font-size:14px}.strac-block.fixed{background:#C4E3F7}.strac-block.profit{background:var(--yellow)}.loss-note{padding:11px 14px;background:#fff0ee;color:var(--danger);font-size:12px;border-radius:0;margin-bottom:17px}.detail-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:18px}.detail-table td,.detail-table th{padding:10px 2px;border-bottom:1px solid var(--line);font-weight:400;text-align:left}.detail-table td{text-align:right;font-variant-numeric:tabular-nums}.empty-panel{min-height:410px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--muted);gap:18px;padding:30px}.empty-panel h2{color:var(--ink);margin:0}.settings-panel{margin-top:25px;font-size:12px}.settings-panel summary{cursor:pointer;font-weight:650}.settings-body{display:grid;gap:14px;margin-top:18px}.settings-body label{display:flex;flex-direction:column;gap:5px}.settings-body p{color:var(--muted);font-size:11px}.access-page{max-width:650px;margin:15vh auto;padding:38px;background:white;border:1px solid var(--line);border-radius:0}.access-page h1{font-size:24px;margin:24px 0 15px}.access-page p{color:var(--muted);margin-bottom:15px}.access-page .button{margin-top:15px}.saved-badge{font-size:11px;color:var(--muted);margin-top:10px!important}.notice{font-size:12px;background:#fff9e4;border:1px solid #eee0a4;padding:11px 14px;border-radius:0;margin-top:20px}.toolbar{display:flex;justify-content:flex-end;margin-top:18px}.secondary{border:1px solid #bcd8e3;background:white;color:var(--blue-dark);border-radius:0;padding:8px 16px}
@media(max-width:900px){.login-story{padding:35px}.story-copy{margin-top:60px}.story-art{align-self:center}.login-panel{padding:35px}.brand{font-size:16px}.brand-app{font-size:13px}.strac-grid{grid-template-columns:280px 1fr}.metric strong{font-size:19px}.apps-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.login-layout{grid-template-columns:1fr}.login-story{padding:23px 24px 31px}.story-copy{margin-top:27px}.story-copy h1{font-size:29px;line-height:1.5;margin:12px 0}.story-copy h1 br:nth-child(2){display:none}.story-text,.story-art,.story-footer{display:none}.eyebrow{font-size:11px}.login-panel{padding:35px 26px}.login-card h2{font-size:26px;margin-top:14px}.app-header{height:auto;min-height:77px;align-items:start;padding:20px;flex-direction:column;gap:13px}.account{justify-content:space-between;width:100%}.home,.workspace{padding:5px 18px 40px}.home-heading{margin-top:0}.home h1{font-size:25px}.home-date{display:none}.welcome-banner{padding:25px;margin-bottom:27px}.welcome-banner h2{font-size:18px}.welcome-banner:after{right:-55px}.apps-grid{grid-template-columns:1fr}.app-footer{margin:0 20px;gap:10px;flex-direction:column}.workspace-top{align-items:start;flex-direction:column}.period-controls{width:100%}.period-controls label{flex:1}.period-controls select,.period-controls input{width:100%}.strac-grid{grid-template-columns:1fr}.results-top{gap:8px}.metric{padding:14px 9px}.metric strong{font-size:20px}.app-status{padding:10px 20px;min-height:43px}.access-page{margin:60px 20px;padding:26px}.strac-revenue strong{font-size:22px}}
@media print{.app-header,.app-footer,.app-status,.inputs-panel,.period-controls,.back,.toolbar,.settings-panel{display:none!important}.strac-grid{display:block}.panel{break-inside:avoid}.workspace{max-width:none;padding:0}.ssk-page{background:white}.results-top{margin-top:20px}}

/* Official 歯科成功大全 branding; original logo artwork is unmodified. */
.ssk-app .brand{flex-direction:row;align-items:center;gap:22px;line-height:1.2;min-width:0;max-width:100%}.brand-logo{display:block;width:215px;height:auto;max-width:100%;object-fit:contain;flex-shrink:0}.brand-title{font-size:36px;font-weight:750;letter-spacing:.02em;white-space:nowrap;border-left:1px solid var(--line);padding-left:22px}.ssk-app .brand-app{font-size:inherit;margin-left:0;color:var(--blue-dark)}.app-header{height:112px}.app-header .brand-logo{width:215px}.login-story .brand{gap:16px}.login-story .brand-logo{width:clamp(124px,16vw,180px)}.login-story .brand-title{font-size:clamp(22px,2.1vw,30px);padding-left:16px}.ssk-app .button,.ssk-app .login-card form input[type=submit]{color:#102B39!important;background:var(--blue)}.ssk-app .button:hover,.ssk-app .login-card form input[type=submit]:hover{color:var(--ink)!important;background:var(--yellow)}.strac-block.profit{background:var(--yellow)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0}.month-history{margin-bottom:25px;padding:22px 25px}.history-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.history-heading h2{font-size:16px;margin-bottom:5px}.history-heading p{font-size:11px;color:var(--muted)}.history-heading p span{display:inline-block;margin-left:16px;color:var(--blue-dark);font-weight:650}.history-years{display:flex;align-items:center;gap:7px}.history-years .secondary{padding:7px 12px}.history-years select{font-weight:700;min-width:104px;padding:7px 10px}.history-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px}.month-tile{display:flex;flex-direction:column;gap:5px;align-items:center;padding:12px 4px 9px;background:#fbfcfd;border:1px solid var(--line);border-radius:0;color:var(--muted)}.month-tile strong{font-size:18px;font-variant-numeric:tabular-nums;font-weight:650}.month-tile small{font-size:10px;font-weight:400;margin-left:2px}.month-tile>span{font-size:9px}.month-tile.has-data{background:var(--sky);border-color:#abd6f3;color:var(--blue-dark)}.month-tile.has-data>span:before{content:'●';font-size:6px;margin-right:3px;color:var(--blue)}.month-tile.selected{border:2px solid var(--blue);padding:11px 3px 8px;background:#fff9da;color:var(--ink)}.month-tile:hover{border-color:var(--blue);background:#fff9da}.month-tile:disabled{cursor:wait;opacity:.55}.history-caption{font-size:10px;color:var(--muted);margin-top:12px!important}
@media(max-width:900px){.app-header{height:auto;min-height:100px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;row-gap:14px}.app-header .brand{gap:15px}.app-header .brand-logo{width:175px}.app-header .brand-title{font-size:29px;padding-left:15px}.account{gap:14px}.history-months{grid-template-columns:repeat(6,minmax(0,1fr))}.history-heading p span{display:block;margin-left:0;margin-top:3px}}
@media(max-width:680px){.app-header{height:auto;min-height:118px}.app-header .brand,.login-story .brand{gap:12px}.app-header .brand-logo,.login-story .brand-logo{width:clamp(106px,29vw,155px)}.app-header .brand-title,.login-story .brand-title{font-size:clamp(22px,5.5vw,30px);padding-left:12px;line-height:1.3}.account{flex-wrap:wrap;gap:8px 16px}.account #account-name{margin-right:auto;overflow-wrap:anywhere}.month-history{padding:18px}.history-heading{align-items:flex-start;flex-direction:column;gap:14px}.history-years{width:100%;justify-content:space-between}.history-years select{flex:1;text-align:center}.history-months{gap:6px}.month-tile{padding-top:10px}.month-tile strong{font-size:17px}.month-tile>span{font-size:9px}.history-caption{line-height:1.8}}
@media print{.month-history{display:none!important}}

/* Public first-login guide beside the direct App login form. */
.ssk-app .login-card .login-guide{margin:0 0 24px;border:1px solid #BDDFF5;border-left:4px solid #3498DB;border-radius:0;background:#EDF7FD}.ssk-app .login-card .login-guide>a{display:block;padding:17px 18px;color:#19364C;text-decoration:none;line-height:1.8}.ssk-app .login-card .login-guide strong{font-size:15px;border-bottom:3px solid #FFD93D}.ssk-app .login-card .login-guide-description{display:block;margin-top:10px;font-size:13px;color:#526878}.ssk-app .login-card .login-guide-target{display:block;margin-top:8px;font-size:11px;color:#1C678F}.ssk-app .login-card .login-guide>a:hover{background:#FFFBE7}.ssk-app .login-card .login-guide>a:focus-visible{outline:3px solid #3498DB;outline-offset:3px}
