:root{--primary: #E84830;--primary-bg: #FFF2EE;--primary-dark: #C93820;--primary-light: #FF6B50;--alert: #E08010;--alert-bg: #FFFBEF;--alert-dark: #B86000;--success: #2ECC71;--success-bg: #EAFAF1;--success-dark: #27AE60;--info: #3498DB;--info-bg: #EBF5FB;--info-dark: #2980B9;--bg: #FDF8F5;--card-bg: #FFFFFF;--text: #1A1008;--sub: #8B7265;--border: #EDE1D9;--status-ready: #9E9E9E;--status-ready-bg: #F5F5F5;--status-send-target: #E84830;--status-send-target-bg: #FFF2EE;--status-sent: #3498DB;--status-sent-bg: #EBF5FB;--status-replied: #27AE60;--status-replied-bg: #EAFAF1;--status-done: #009688;--status-done-bg: #E0F2F1;--status-hold: #9C27B0;--status-hold-bg: #F3E5F5;--status-completed: #009688;--status-completed-bg: #E0F2F1;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius: 12px;--radius-sm: 8px;--radius-xs: 4px;--radius-full: 9999px;--shadow: 0 2px 8px rgba(26, 16, 8, .08);--shadow-md: 0 4px 16px rgba(26, 16, 8, .12);--shadow-lg: 0 8px 32px rgba(26, 16, 8, .16);--font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "メイリオ", Meiryo, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.3;--line-height-base: 1.6;--line-height-relaxed: 1.8;--sidebar-width: 220px;--tabbar-height: 60px;--header-height: 56px;--content-max-width: 960px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--z-base: 0;--z-dropdown: 100;--z-sidebar: 200;--z-tabbar: 200;--z-header: 300;--z-modal: 400;--z-toast: 500}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{line-height:var(--line-height-base);color:var(--text)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark);text-decoration:underline}img{max-width:100%;height:auto;display:block}button{font-family:var(--font-family);cursor:pointer;border:none;background:none;outline:none}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text)}input:focus,textarea:focus,select:focus{outline:none}ul,ol{list-style:none}.form-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--sub)}.form-label.required:after{content:" *";color:var(--primary)}.form-input,.form-textarea,.form-select{width:100%;padding:10px var(--space-md);border:1.5px solid var(--border);border-radius:var(--radius-sm);background-color:var(--card-bg);font-size:var(--font-size-base);color:var(--text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-moz-appearance:none;appearance:none;-webkit-appearance:none}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #e848301f}.form-input::placeholder,.form-textarea::placeholder{color:var(--sub);opacity:.7}.form-textarea{min-height:100px;resize:vertical;line-height:var(--line-height-base)}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238B7265' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-error{font-size:var(--font-size-xs);color:var(--primary);margin-top:var(--space-xs)}.form-hint{font-size:var(--font-size-xs);color:var(--sub);margin-top:var(--space-xs)}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.section{margin-bottom:var(--space-xl)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--border)}.page-container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:var(--space-lg) var(--space-md)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);gap:var(--space-md)}.page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text)}.text-primary{color:var(--primary)}.text-sub{color:var(--sub)}.text-success{color:var(--success-dark)}.text-alert{color:var(--alert)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-bold{font-weight:var(--font-weight-bold)}.text-medium{font-weight:var(--font-weight-medium)}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.w-full{width:100%}.h-full{height:100%}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.hidden{display:none!important}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fdf8f5cc;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--sub)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn var(--transition-base) forwards}.divider{height:1px;background:var(--border);margin:var(--space-md) 0}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.fab{position:fixed;right:var(--space-lg);bottom:calc(var(--tabbar-height) + var(--space-lg));width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);cursor:pointer;border:none;transition:background var(--transition-fast),transform var(--transition-fast);z-index:var(--z-dropdown);text-decoration:none;line-height:1}.fab:hover{background:var(--primary-dark);transform:scale(1.05);text-decoration:none;color:#fff}.fab:active{transform:scale(.98)}@media (min-width: 1024px){.fab{bottom:var(--space-xl);right:var(--space-xl)}}.info-row{display:flex;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:none}.info-label{font-size:var(--font-size-sm);color:var(--sub);min-width:120px;flex-shrink:0}.info-value{font-size:var(--font-size-base);color:var(--text);word-break:break-all}.app-wrapper{display:flex;min-height:100vh;min-height:100dvh;background:var(--bg)}.app-sidebar{display:none;width:var(--sidebar-width);flex-shrink:0;position:fixed;left:0;top:0;bottom:0;z-index:var(--z-sidebar)}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-bottom:var(--tabbar-height)}.app-tabbar{display:block;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-tabbar)}.app-content{flex:1}.app-header{position:sticky;top:0;z-index:var(--z-header);background:var(--card-bg);border-bottom:1px solid var(--border)}@media (max-width: 639px){.page-container{padding:var(--space-md) var(--space-sm)}.page-header{flex-direction:column;align-items:flex-start}.grid-auto,.grid-2col,.dashboard-cards{grid-template-columns:1fr}.hide-mobile{display:none!important}.show-mobile{display:block!important}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (min-width: 640px) and (max-width: 1023px){.page-container{padding:var(--space-lg) var(--space-lg)}.grid-auto,.grid-2col,.dashboard-cards{grid-template-columns:repeat(2,1fr)}.hide-tablet{display:none!important}.show-tablet{display:block!important}}@media (min-width: 1024px){.app-sidebar{display:flex;flex-direction:column}.app-tabbar{display:none!important}.app-main{margin-left:var(--sidebar-width);padding-bottom:0}.page-container{padding:var(--space-xl) var(--space-xl)}.grid-auto{grid-template-columns:repeat(3,1fr)}.grid-2col{grid-template-columns:repeat(2,1fr)}.dashboard-cards{grid-template-columns:repeat(3,1fr)}.hide-desktop{display:none!important}.show-desktop{display:block!important}.two-pane{display:grid;grid-template-columns:340px 1fr;gap:var(--space-lg);align-items:start}.two-pane-list{position:sticky;top:calc(var(--header-height) + var(--space-lg));max-height:calc(100vh - var(--header-height) - var(--space-2xl));overflow-y:auto}}.photo-grid{display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}@media (min-width: 640px){.photo-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.photo-grid{grid-template-columns:repeat(4,1fr)}}.list-grid{display:flex;flex-direction:column;gap:var(--space-sm)}@supports (padding-bottom: env(safe-area-inset-bottom)){.app-tabbar{padding-bottom:env(safe-area-inset-bottom)}}
